Редакция 324 | Редакция 326 | К новейшей редакции | Только различия | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 324 | Редакция 325 | ||
---|---|---|---|
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 | $reps = $_GET["r"]; |
28 | $reps = $_GET["r"]; |
29 | $ID = $_GET["id"]; |
29 | $ID = $_GET["id"]; |
30 | if(isset($ID)){ |
30 | if(isset($ID)){ |
31 | list($dist,$vers,$repstring) = split(",",$ID); |
31 | list($dist,$vers,$repstring) = split(",",$ID); |
32 | if(!empty($dist)){$status=1;}; |
32 | if(!empty($dist)){$status=1;}; |
33 | if(!empty($vers)){$status=2;}; |
33 | if(!empty($vers)){$status=2;}; |
34 | if(!empty($repstring)){ |
34 | if(!empty($repstring)){ |
35 | $status=4; |
35 | $status=4; |
36 | $reps = split("-",$repstring); |
36 | $reps = split("-",$repstring); |
37 | }; |
37 | }; |
38 | }elseif(!empty($dist)){ |
38 | }elseif(!empty($dist)){ |
39 | $location="./classic.php?id=".$dist; |
39 | $location="./classic.php?id=".$dist; |
40 | if(!empty($vers)){$location.=",".$vers;} |
40 | if(!empty($vers)){$location.=",".$vers;} |
41 | if(!empty($reps)){ |
41 | if(!empty($reps)){ |
42 | for ($i=0;$i<count($reps);$i++) { |
42 | for ($i=0;$i<count($reps);$i++) { |
43 | $shortreps .= $reps[$i]; |
43 | $shortreps .= $reps[$i]; |
44 | if ($i<count($reps)-1) { |
44 | if ($i<count($reps)-1) { |
45 | $shortreps .= "-"; |
45 | $shortreps .= "-"; |
46 | }
|
46 | }
|
47 | }
|
47 | }
|
48 | $location.=",".$shortreps; |
48 | $location.=",".$shortreps; |
49 | }
|
49 | }
|
50 | header("Location: ".$location); |
50 | header("Location: ".$location); |
51 | exit; |
51 | exit; |
52 | }
|
52 | }
|
53 | $infomsg = array( _("Step"), _("Next step"), _("Mirror selection"), _("Choosing a distribution"), _("Choosing a version of distribution"), _("Selection of repositories"), _("Get sources.list") ); |
53 | $infomsg = array( _("Step"), _("Next step"), _("Mirror selection"), _("Choosing a distribution"), _("Choosing a version of distribution"), _("Selection of repositories"), _("Get sources.list") ); |
54 | 54 | ||
55 | if (!isset($status)) { $status = 0; }; |
55 | if (!isset($status)) { $status = 0; }; |
56 | 56 | ||
57 | switch ($status) { |
57 | switch ($status) { |
58 | case 1: |
58 | case 0: |
59 | // Выбор дистрибутива
|
59 | // Выбор дистрибутива
|
60 | $query =& $db->query("SELECT * FROM distribution"); |
60 | $query =& $db->query("SELECT * FROM distribution"); |
61 | $linux .= "<input type='hidden' name='m' value='".$mirror."'>"; |
61 | $linux .= "<input type='hidden' name='m' value='".$mirror."'>"; |
62 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
62 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
63 | $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."'><span class='".$secure->stripStr($data["distua"])."'>".$secure->stripStr($data["distname"])."</span></p>\n"; |
63 | $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."'><span class='".$secure->stripStr($data["distua"])."'>".$secure->stripStr($data["distname"])."</span></p>\n"; |
64 | }
|
64 | }
|
65 | break; |
65 | break; |
66 | case 2: |
66 | case 1: |
67 | // Выбор версии
|
67 | // Выбор версии
|
68 | $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
68 | $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
69 | $distvers = "<input type='hidden' name='m' value='".$mirror."'>"; |
69 | $distvers = "<input type='hidden' name='m' value='".$mirror."'>"; |
70 | $distvers .= "<p><input type='hidden' name='d' value='".$dist."'></p>\n"; |
70 | $distvers .= "<p><input type='hidden' name='d' value='".$dist."'></p>\n"; |
71 | while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
71 | while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
72 | if ($version["vname"]!="") { |
72 | if ($version["vname"]!="") { |
73 | $distname = "“".$secure->stripStr($version["vname"])."”"; |
73 | $distname = "“".$secure->stripStr($version["vname"])."”"; |
74 | } else { |
74 | } else { |
75 | $distname = ""; |
75 | $distname = ""; |
76 | }
|
76 | }
|
77 | $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"; |
77 | $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"; |
78 | } break; |
78 | } break; |
79 | case 3; |
79 | case 2; |
80 | // Выбор репозиториев
|
80 | // Выбор репозиториев
|
81 | $repos = "<input type='hidden' name='m' value='".$mirror."'>"; |
81 | $repos = "<input type='hidden' name='m' value='".$mirror."'>"; |
82 | $repodata=$core->getRepList($dist,$vers,$db); |
82 | $repodata=$core->getRepList($dist,$vers,$db); |
83 | $repos.="<input type='hidden' name='d' value='".$dist."'><input type='hidden' name='v' value='".$vers."'>"; |
83 | $repos.="<input type='hidden' name='d' value='".$dist."'><input type='hidden' name='v' value='".$vers."'>"; |
84 | for($i=0;$i<count($repodata[0]);$i++) { |
84 | for($i=0;$i<count($repodata[0]);$i++) { |
85 | if ($repodata[3][$i]==true){$ch="checked";} else{$ch="";} |
85 | if ($repodata[3][$i]==true){$ch="checked";} else{$ch="";} |
86 | $repos.="<input type='checkbox' name='r[]' ".$ch." value='".$repodata[0][$i]."'>".$repodata[1][$i]." <em>(".$repodata[2][$i].")</em><br>"; |
86 | $repos.="<input type='checkbox' name='r[]' ".$ch." value='".$repodata[0][$i]."'>".$repodata[1][$i]." <em>(".$repodata[2][$i].")</em><br>"; |
87 | }; |
87 | }; |
88 | $steps .= "<a href='classic.php?step='".$status."'&d='".$dist."'> ".$info[0]." ".$status."</a> ::"; |
88 | $steps .= "<a href='classic.php?step='".$status."'&d='".$dist."'> ".$info[0]." ".$status."</a> ::"; |
89 | break; |
89 | break; |
90 | case 4; |
90 | case 3; |
91 | // Получение sources.list
|
91 | // Получение sources.list
|
92 | $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'"); |
92 | $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'"); |
93 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
93 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
94 | 94 | ||
95 | $distname = ""; |
95 | $distname = ""; |
96 | if ($infodist["vname"]!="") { |
96 | if ($infodist["vname"]!="") { |
97 | $distname = "“".$secure->stripStr($infodist["vname"])."”"; |
97 | $distname = "“".$secure->stripStr($infodist["vname"])."”"; |
98 | }
|
98 | }
|
99 | $info = "<h2>"._("Repositories for")." <em class='".$secure->stripStr($infodist["distua"])."-em'>".$secure->stripStr($infodist["distname"])." ".$secure->stripStr($infodist["version"])." ".$distname."</em></h2>"; |
99 | $info = "<h2>"._("Repositories for")." <em class='".$secure->stripStr($infodist["distua"])."-em'>".$secure->stripStr($infodist["distname"])." ".$secure->stripStr($infodist["version"])." ".$distname."</em></h2>"; |
100 | $result = "<p>"._("Copy this strings into file")." <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
100 | $result = "<p>"._("Copy this strings into file")." <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
101 | $result .= $core->getSourceList($dist,$vers,$reps,$db); |
101 | $result .= $core->getSourceList($dist,$vers,$reps,$db); |
102 | $result .= "</pre>"; |
102 | $result .= "</pre>"; |
103 | $result = $info.$result."<p><a href='./get.php?id=".$dist.",".$vers.",".$repstring."'>".$infomsg[6]."</a></p>"; |
103 | $result = $info.$result."<p><a href='./get.php?id=".$dist.",".$vers.",".$repstring."'>".$infomsg[6]."</a></p>"; |
104 | 104 | ||
105 | $link="<div class='sllink'><a title='"._("Link to this sources.list")."' href=./classic.php?id=".$mirror.",".$dist.",".$vers.",".$repstring.">#</a></div>"; |
105 | $link="<div class='sllink'><a title='"._("Link to this sources.list")."' href=./classic.php?id=".$mirror.",".$dist.",".$vers.",".$repstring.">#</a></div>"; |
106 | break; |
106 | break; |
107 | }
|
107 | }
|
108 | 108 | ||
109 | if ($status==3){$link='<div class="sllink"><a title="Ссылка на этот source.list" href=./classic.php?id='.$dist.",".$vers.",".$repstring.'>#</a></div>';} |
109 | if ($status==3){$link='<div class="sllink"><a title="Ссылка на этот source.list" href=./classic.php?id='.$dist.",".$vers.",".$repstring.'>#</a></div>';} |
110 | $steps="<a href='classic.php'>".$infomsg[0]." 1</a> ::"; |
110 | $steps="<a href='classic.php'>".$infomsg[0]." 1</a> ::"; |
111 | if ($status>0){ $steps .= "<a href='classic.php?id=".$dist."'> ".$infomsg[0]." 2</a> ::"; } else { $steps.=" ".$infomsg[0]." 2 ::"; } |
111 | if ($status>0){ $steps .= "<a href='classic.php?id=".$dist."'> ".$infomsg[0]." 2</a> ::"; } else { $steps.=" ".$infomsg[0]." 2 ::"; } |
112 | if ($status>1){ $steps .= "<a href='classic.php?id=".$dist.",".$vers."'> ".$infomsg[0]." 3</a> ::"; } else{ $steps.=" ".$infomsg[0]." 3 ::"; } |
112 | if ($status>1){ $steps .= "<a href='classic.php?id=".$dist.",".$vers."'> ".$infomsg[0]." 3</a> ::"; } else{ $steps.=" ".$infomsg[0]." 3 ::"; } |
113 | if ($status>2){ $steps .= '<a href=./classic.php?id='.$dist.','.$vers.','.$repstring.'>'.$infomsg[0].' 4</a>'; } else { $steps.=" ".$infomsg[0]." 4"; } |
113 | if ($status>2){ $steps .= '<a href=./classic.php?id='.$dist.','.$vers.','.$repstring.'>'.$infomsg[0].' 4</a>'; } else { $steps.=" ".$infomsg[0]." 4"; } |
114 | 114 | ||
115 | $smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"])); |
115 | $smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"])); |
116 | $smarty->assign('stepinfo',$infomsg[0]); |
116 | $smarty->assign('stepinfo',$infomsg[0]); |
117 | $smarty->assign('nextstep',$infomsg[1]); |
117 | $smarty->assign('nextstep',$infomsg[1]); |
118 | $smarty->assign('distrochoose',$infomsg[3]); |
118 | $smarty->assign('distrochoose',$infomsg[3]); |
119 | $smarty->assign('distrovchoose',$infomsg[4]); |
119 | $smarty->assign('distrovchoose',$infomsg[4]); |
120 | $smarty->assign('repselect',$infomsg[5]); |
120 | $smarty->assign('repselect',$infomsg[5]); |
121 | $smarty->assign('getsourceslist',$infomsg[6]); |
121 | $smarty->assign('getsourceslist',$infomsg[6]); |
122 | $smarty->assign('link',$link); |
122 | $smarty->assign('link',$link); |
123 | $smarty->assign('status',$status); |
123 | $smarty->assign('status',$status); |
124 | $smarty->assign('linux',$linux); |
124 | $smarty->assign('linux',$linux); |
125 | $smarty->assign('mirrors',$mirrors); |
125 | $smarty->assign('mirrors',$mirrors); |
126 | $smarty->assign('steps',$steps); |
126 | $smarty->assign('steps',$steps); |
127 | $smarty->assign('repos',$repos); |
127 | $smarty->assign('repos',$repos); |
128 | $smarty->assign('version',$distvers); |
128 | $smarty->assign('version',$distvers); |
129 | $smarty->assign('result',$result); |
129 | $smarty->assign('result',$result); |
130 | $smarty->assign('antversion',$core->getSetting('version',$db)); |
130 | $smarty->assign('antversion',$core->getSetting('version',$db)); |
131 | $smarty->assign('title',$core->getSetting('codename',$db)); |
131 | $smarty->assign('title',$core->getSetting('codename',$db)); |
132 | $smarty->assign('interface'," • <a href='./changelog.php'>"._("Changes")."</a> • ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db)); |
132 | $smarty->assign('interface'," • <a href='./changelog.php'>"._("Changes")."</a> • ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db)); |
133 | $smarty->assign('style',$core->getCSSList($db)); |
133 | $smarty->assign('style',$core->getCSSList($db)); |
134 | $smarty->assign('theme',$theme->getThemeName($core,$db)); |
134 | $smarty->assign('theme',$theme->getThemeName($core,$db)); |
135 | 135 | ||
136 | $smarty->display('classic.tpl'); |
136 | $smarty->display('classic.tpl'); |
137 | 137 | ||
138 | ?>
|
138 | ?>
|
139 | 139 |