Хранилища Subversion ant

Редакция

Редакция 457 | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS

<?php

/**
 * Project:     Ant: sources.list generator
 * File:        classic.php
 *
 * This application is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This application is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */



require_once dirname(__FILE__)."/lib/init.php";
$status = $secure->wrapInt($_GET["step"]);
$dist   = $secure->wrapInt($_GET["d"]);
$vers   = $secure->wrapInt($_GET["v"]);
$reps   = $_GET["r"];

$query =& $db->query("SELECT * FROM distribution");
while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) {
        $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."'><span class='".$secure->stripStr($data["distua"])."'>".$secure->stripStr($data["distname"])."</span></p>\n";
}

if (!isset($status)) { $status = 0; };

if (isset($dist)) {
        $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'");
        $distvers = "<p><input type='hidden' name='d' value='".$dist."'></p>\n";
        while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) {
                if ($version["vname"]!="") {
                        $distname = "&#8220;".$secure->stripStr($version["vname"])."&#8221;";
                } else {
                        $distname = "";
                }
                $distvers .= "<p><input type='radio' name='v' value='".$version["version_id"]."' /><span class='".$secure->stripStr($version["distua"])."'>".$secure->stripStr($version["distname"])." ".$secure->stripStr($version["version"])." ".$distname."</span></p>\n";
        }
}

if ($status==2)
{
        $repos = "";
        $repodata=$core->getRepList($dist,$vers,$db);
        for($i=0;$i<count($repodata[0]);$i++) {
        $repos.="<input type='hidden' name='d' value='".$dist."'><input type='hidden' name='v' value='".$vers."'>";
        if ($repodata[3][$i]==true){$ch="checked";} else{$ch="";}
        $repos.="<input type='checkbox' name='r[]' ".$ch." value='".$repodata[0][$i]."'>".$repodata[1][$i]." <em>(".$repodata[2][$i].")</em><br>";
        };
}

if ($status==3) {
        $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id JOIN dtype p ON d.disttype=p.type_id WHERE v.dist_id='$dist' AND v.version_id='$vers'");
        $query->fetchInto($infodist, DB_FETCHMODE_ASSOC);

        $distname = "";
        if ($infodist["vname"]!="") {
                $distname = "&#8220;".$secure->stripStr($infodist["vname"])."&#8221;";
        }
        $info = "<h2>Репозитории для <em class='".$secure->stripStr($infodist["distua"])."-em'>".$secure->stripStr($infodist["distname"])." ".$secure->stripStr($infodist["version"])." ".$distname."</em></h2>";
        $result = "<p>Скопируйте эти строки в файл <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>";
        $result .= $core->getSourceList($dist,$vers,$reps,$db);
        $result .= "</pre>";
        for ($i=0;$i<count($reps);$i++) {
                $getreps .= $reps[$i];
                if ($i<count($reps)-1) {
                        $getreps .= "-";
                }
        }
        $result = $info.$result."<p><a href='./get.php?id=".$dist.",".$vers.",".$getreps."'>Получить sources.list файлом</a></p>";
}

if ($status==3){$link='<div class="sllink"><a title="Ссылка на этот source.list" href='.$_SERVER['php_self'].'>#</a></div>';}
$steps='<a href="classic.php">Шаг 1</a> ::';
if ($status>0){ $steps.='<a href="classic.php?step=1&d='.$dist.'"> Шаг 2</a> ::';} else{$steps.=' Шаг 2 ::';}
if ($status>1){ $steps.='<a href="classic.php?step=2&d='.$dist.'&v='.$vers.'"> Шаг 3</a> ::';} else{$steps.=' Шаг 3 ::';}
if ($status==3){ $steps.='<a href="'.$_SERVER['php_self'].'"> Шаг 4</a>';} else{$steps.=' Шаг 4';}

$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
$smarty->assign('link',$link);
$smarty->assign('status',$status);
$smarty->assign('linux',$linux);
$smarty->assign('steps',$steps);
$smarty->assign('repos',$repos);
$smarty->assign('version',$distvers);
$smarty->assign('result',$result);
$smarty->assign('antversion',$core->getSetting('version',$db));
$smarty->assign('title',$core->getSetting('codename',$db));
$smarty->assign('interface'," &bull; <a href='./changelog.php'>Изменения</a> &bull; ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db));
$smarty->assign('style',$core->getCSSList($db));

$smarty->display('classic.tpl');

?>