Редакция 281 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
20 | alex-w | 1 | <?php |
2 | |||
31 | alex-w | 3 | /** |
4 | * Project: Ant: sources.list generator |
||
5 | * File: classic.php |
||
6 | * |
||
60 | alex-w | 7 | * This application is free software; you can redistribute it and/or |
31 | alex-w | 8 | * modify it under the terms of the GNU Lesser General Public |
9 | * License as published by the Free Software Foundation; either |
||
10 | * version 2.1 of the License, or (at your option) any later version. |
||
11 | * |
||
60 | alex-w | 12 | * This application is distributed in the hope that it will be useful, |
31 | alex-w | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||
15 | * Lesser General Public License for more details. |
||
16 | * |
||
17 | * You should have received a copy of the GNU Lesser General Public |
||
18 | * License along with this library; if not, write to the Free Software |
||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
||
20 | * |
||
21 | */ |
||
22 | |||
23 | |||
101 | alex-w | 24 | require_once dirname(__FILE__)."/lib/init.php"; |
209 | alex-w | 25 | $status = $secure->wrapInt($_GET["step"]); |
26 | $dist = $secure->wrapInt($_GET["d"]); |
||
27 | $vers = $secure->wrapInt($_GET["v"]); |
||
279 | sivan | 28 | $mirror = $secure->wrapInt($_GET["m"]); |
217 | diffor | 29 | $reps = $_GET["r"]; |
278 | sivan | 30 | $ID = $_GET["id"]; |
31 | if(isset($ID)){ |
||
279 | sivan | 32 | list($mirror,$dist,$vers,$repstring) = split(",",$ID); |
281 | sivan | 33 | if(!empty($mirror)){$status=1;}; |
34 | if(!empty($dist)){$status=2;}; |
||
35 | if(!empty($vers)){$status=3;}; |
||
36 | if(!empty($repstring)){ |
||
279 | sivan | 37 | $status=4; |
278 | sivan | 38 | $reps = split("-",$repstring); |
281 | sivan | 39 | }; |
40 | }elseif(!empty($mirror)){ |
||
41 | $location="./classic.php?id=".$mirror; |
||
42 | if(!empty($dist)){$location.=",".$dist;} |
||
43 | if(!empty($vers)){$location.=",".$vers;} |
||
44 | if(!empty($reps)){ |
||
45 | for ($i=0;$i<count($reps);$i++) { |
||
46 | $shortreps .= $reps[$i]; |
||
47 | if ($i<count($reps)-1) { |
||
48 | $shortreps .= "-"; |
||
49 | } |
||
50 | } |
||
51 | $location.=",".$shortreps; |
||
278 | sivan | 52 | } |
281 | sivan | 53 | header("Location: ".$location); |
54 | exit; |
||
278 | sivan | 55 | } |
275 | alex-w | 56 | $infomsg = array( _("Step"), _("Next step"), _("Mirror selection"), _("Choosing a distribution"), _("Choosing a version of distribution"), _("Selection of repositories"), _("Get sources.list") ); |
20 | alex-w | 57 | |
58 | if (!isset($status)) { $status = 0; }; |
||
59 | |||
249 | diffor | 60 | switch ($status) { |
61 | case 0: |
||
251 | diffor | 62 | //Выбор зеркала |
63 | $query =& $db->query("SELECT * FROM mirror"); |
||
64 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
||
65 | $mirrors .= "<p><input type='radio' name='m' value='".$data["mirror_id"]."'>".$secure->stripStr($data["mname"])." (".$secure->stripStr($data["murl"]).")</p>\n"; |
||
66 | } |
||
67 | break; |
||
68 | case 1: |
||
249 | diffor | 69 | // Выбор дистрибутива |
251 | diffor | 70 | $query =& $db->query("SELECT * FROM distribution"); |
279 | sivan | 71 | $linux .= "<input type='hidden' name='m' value='".$mirror."'>"; |
251 | diffor | 72 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
73 | $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."'><span class='".$secure->stripStr($data["distua"])."'>".$secure->stripStr($data["distname"])."</span></p>\n"; |
||
74 | } |
||
249 | diffor | 75 | break; |
251 | diffor | 76 | case 2: |
249 | diffor | 77 | // Выбор версии |
20 | alex-w | 78 | $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
279 | sivan | 79 | $distvers = "<input type='hidden' name='m' value='".$mirror."'>"; |
80 | $distvers .= "<p><input type='hidden' name='d' value='".$dist."'></p>\n"; |
||
20 | alex-w | 81 | while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
82 | if ($version["vname"]!="") { |
||
209 | alex-w | 83 | $distname = "“".$secure->stripStr($version["vname"])."”"; |
20 | alex-w | 84 | } else { |
85 | $distname = ""; |
||
86 | } |
||
209 | alex-w | 87 | $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"; |
249 | diffor | 88 | } break; |
251 | diffor | 89 | case 3; |
249 | diffor | 90 | // Выбор репозиториев |
279 | sivan | 91 | $repos = "<input type='hidden' name='m' value='".$mirror."'>"; |
218 | diffor | 92 | $repodata=$core->getRepList($dist,$vers,$db); |
280 | sivan | 93 | $repos.="<input type='hidden' name='d' value='".$dist."'><input type='hidden' name='v' value='".$vers."'>"; |
94 | for($i=0;$i<count($repodata[0]);$i++) { |
||
249 | diffor | 95 | if ($repodata[3][$i]==true){$ch="checked";} else{$ch="";} |
96 | $repos.="<input type='checkbox' name='r[]' ".$ch." value='".$repodata[0][$i]."'>".$repodata[1][$i]." <em>(".$repodata[2][$i].")</em><br>"; |
||
97 | }; |
||
268 | alex-w | 98 | $steps .= "<a href='classic.php?step='".$status."'&d='".$dist."'> ".$info[0]." ".$status."</a> ::"; |
249 | diffor | 99 | break; |
251 | diffor | 100 | case 4; |
249 | diffor | 101 | // Получение sources.list |
20 | alex-w | 102 | $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'"); |
103 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
||
249 | diffor | 104 | |
20 | alex-w | 105 | $distname = ""; |
106 | if ($infodist["vname"]!="") { |
||
209 | alex-w | 107 | $distname = "“".$secure->stripStr($infodist["vname"])."”"; |
20 | alex-w | 108 | } |
265 | alex-w | 109 | $info = "<h2>"._("Repositories for")." <em class='".$secure->stripStr($infodist["distua"])."-em'>".$secure->stripStr($infodist["distname"])." ".$secure->stripStr($infodist["version"])." ".$distname."</em></h2>"; |
110 | $result = "<p>"._("Copy this strings into file")." <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
||
249 | diffor | 111 | $result .= $core->getSourceList($dist,$vers,$reps,$db); |
112 | $result .= "</pre>"; |
||
281 | sivan | 113 | $result = $info.$result."<p><a href='./get.php?id=".$dist.",".$vers.",".$repstring."'>".$infomsg[6]."</a></p>"; |
249 | diffor | 114 | |
281 | sivan | 115 | $link="<div class='sllink'><a title='"._("Link to this sources.list")."' href=./classic.php?id=".$mirror.",".$dist.",".$vers.",".$repstring.">#</a></div>"; |
249 | diffor | 116 | break; |
20 | alex-w | 117 | } |
118 | |||
281 | sivan | 119 | if ($status==3){$link='<div class="sllink"><a title="Ссылка на этот source.list" href=./classic.php?id='.$dist.",".$vers.",".$repstring.'>#</a></div>';} |
275 | alex-w | 120 | $steps="<a href='classic.php'>".$infomsg[0]." 0</a> ::"; |
281 | sivan | 121 | if ($status>0){ $steps .= "<a href='classic.php?id=".$mirror."'> ".$infomsg[0]." 1</a> ::"; } else { $steps.=" ".$infomsg[0]." 1 ::"; } |
122 | if ($status>1){ $steps .= "<a href='classic.php?id=".$mirror.",".$dist."'> ".$infomsg[0]." 2</a> ::"; } else{ $steps.=" ".$infomsg[0]." 2 ::"; } |
||
123 | if ($status>2){ $steps .= "<a href='classic.php?id=".$mirror.",".$dist.",".$vers."'> ".$infomsg[0]." 3</a> ::"; } else { $steps.=" ".$infomsg[0]." 3 ::"; } |
||
124 | if ($status>3){ $steps .= '<a href=./classic.php?id='.$mirror.','.$dist.','.$vers.','.$repstring.'>'.$infomsg[0].' 4</a>'; } else { $steps.=" ".$infomsg[0]." 4"; } |
||
220 | sivan | 125 | |
131 | alex-w | 126 | $smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"])); |
275 | alex-w | 127 | $smarty->assign('stepinfo',$infomsg[0]); |
128 | $smarty->assign('nextstep',$infomsg[1]); |
||
129 | $smarty->assign('mirrorselect',$infomsg[2]); |
||
130 | $smarty->assign('distrochoose',$infomsg[3]); |
||
131 | $smarty->assign('distrovchoose',$infomsg[4]); |
||
132 | $smarty->assign('repselect',$infomsg[5]); |
||
133 | $smarty->assign('getsourceslist',$infomsg[6]); |
||
230 | sivan | 134 | $smarty->assign('link',$link); |
20 | alex-w | 135 | $smarty->assign('status',$status); |
136 | $smarty->assign('linux',$linux); |
||
251 | diffor | 137 | $smarty->assign('mirrors',$mirrors); |
220 | sivan | 138 | $smarty->assign('steps',$steps); |
193 | sivan | 139 | $smarty->assign('repos',$repos); |
20 | alex-w | 140 | $smarty->assign('version',$distvers); |
141 | $smarty->assign('result',$result); |
||
132 | alex-w | 142 | $smarty->assign('antversion',$core->getSetting('version',$db)); |
143 | $smarty->assign('title',$core->getSetting('codename',$db)); |
||
265 | alex-w | 144 | $smarty->assign('interface'," • <a href='./changelog.php'>"._("Changes")."</a> • ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db)); |
79 | alex-w | 145 | $smarty->assign('style',$core->getCSSList($db)); |
238 | sivan | 146 | $smarty->assign('theme',$theme->getThemeName($core,$db)); |
20 | alex-w | 147 | |
27 | alex-w | 148 | $smarty->display('classic.tpl'); |
20 | alex-w | 149 | |
150 | ?> |