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