Редакция 268 |
Редакция 276 |
К новейшей редакции |
Авторство |
Сравнить с предыдущей |
Последнее изменение |
Открыть журнал
| 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"];
$infomsg = array( _
("Step"), _
("Next step"), _
("Mirror selection"), _
("Choosing a distribution"), _
("Choosing a version of distribution"), _
("Selection of repositories"), _
("Get sources.list") );
if (!isset($status)) { $status = 0; };
switch ($status) {
case 0:
//Выбор зеркала
$query =& $db->query("SELECT * FROM mirror");
while ($query->fetchInto($data, DB_FETCHMODE_ASSOC
)) {
$mirrors .= "<p><input type='radio' name='m' value='".$data["mirror_id"]."'>".$secure->stripStr($data["mname"])." (".$secure->stripStr($data["murl"]).")</p>\n";
}
break;
case 1:
// Выбор дистрибутива
$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";
}
break;
case 2:
// Выбор версии
$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 = "“".$secure->stripStr($version["vname"])."”";
} 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";
} break;
case 3;
// Выбор репозиториев
$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>";
};
$steps .= "<a href='classic.php?step='".$status."'&d='".$dist."'> ".$info[0]." ".$status."</a> ::";
break;
case 4;
// Получение sources.list
$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 = "“".$secure->stripStr($infodist["vname"])."”";
}
$info = "<h2>"._
("Repositories for")." <em class='".$secure->stripStr($infodist["distua"])."-em'>".$secure->stripStr($infodist["distname"])." ".$secure->stripStr($infodist["version"])." ".$distname."</em></h2>";
$result = "<p>"._
("Copy this strings into file")." <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."'>".$info[6]."</a></p>";
$link="<div class='sllink'><a title='"._
("Link to this sources.list")."' href='".$_SERVER['php_self']."'>#</a></div>";
break;
}
$steps="<a href='classic.php'>".$infomsg[0]." 0</a> ::";
if ($status>0){ $steps .= "<a href='classic.php?step=1&m=".$mirr."'> ".$infomsg[0]." 1</a> ::"; } else { $steps.=" ".$infomsg[0]." 1 ::"; }
if ($status>1){ $steps .= "<a href='classic.php?step=2&m=".$mirr."&d=".$dist."'> ".$infomsg[0]." 2</a> ::"; } else{ $steps.=" ".$infomsg[0]." 2 ::"; }
if ($status>2){ $steps .= "<a href='classic.php?step=3&m=".$mirr."&d=".$dist."&v=".$vers."'> ".$infomsg[0]." 3</a> ::"; } else { $steps.=" ".$infomsg[0]." 3 ::"; }
if ($status>3){ $steps .= "<a href='".$_SERVER["php_self"]."'> ".$infomsg[0]." 4</a>"; } else { $steps.=" ".$infomsg[0]." 4"; }
$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
$smarty->assign('stepinfo',$infomsg[0]);
$smarty->assign('nextstep',$infomsg[1]);
$smarty->assign('mirrorselect',$infomsg[2]);
$smarty->assign('distrochoose',$infomsg[3]);
$smarty->assign('distrovchoose',$infomsg[4]);
$smarty->assign('repselect',$infomsg[5]);
$smarty->assign('getsourceslist',$infomsg[6]);
$smarty->assign('link',$link);
$smarty->assign('status',$status);
$smarty->assign('linux',$linux);
$smarty->assign('mirrors',$mirrors);
$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'," • <a href='./changelog.php'>"._
("Changes")."</a> • ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db));
$smarty->assign('style',$core->getCSSList($db));
$smarty->assign('theme',$theme->getThemeName($core,$db));
$smarty->display('classic.tpl');
?>