Редакция 45 | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 45 | Редакция 48 | ||
---|---|---|---|
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 library is free software; you can redistribute it and/or
|
7 | * This library 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 library is distributed in the hope that it will be useful,
|
12 | * This library 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 | include "lib/init.php"; |
24 | include "lib/init.php"; |
25 | $status = abs(intval($_GET["step"])); |
25 | $status = abs(intval($_GET["step"])); |
26 | $dist = abs(intval($_GET["d"])); |
26 | $dist = abs(intval($_GET["d"])); |
27 | $vers = abs(intval($_GET["v"])); |
27 | $vers = abs(intval($_GET["v"])); |
28 | 28 | ||
29 | $query =& $db->query("SELECT * FROM settings WHERE opt LIKE 'version'"); |
29 | $query =& $db->query("SELECT * FROM settings WHERE opt LIKE 'version'"); |
30 | $query->fetchInto($antv, DB_FETCHMODE_ASSOC); |
30 | $query->fetchInto($antv, DB_FETCHMODE_ASSOC); |
31 | $antversion = $antv["optvalue"]; |
31 | $antversion = $antv["optvalue"]; |
32 | 32 | ||
33 | $query =& $db->query("SELECT * FROM distribution"); |
33 | $query =& $db->query("SELECT * FROM distribution"); |
34 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
34 | while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) { |
35 | $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."' />".stripslashes($data["distname"])."</p>\n"; |
35 | $linux .= "<p><input type='radio' name='d' value='".$data["dist_id"]."' />".stripslashes($data["distname"])."</p>\n"; |
36 | }
|
36 | }
|
37 | 37 | ||
38 | if (!isset($status)) { $status = 0; }; |
38 | if (!isset($status)) { $status = 0; }; |
39 | 39 | ||
40 | if (isset($dist)) { |
40 | if (isset($dist)) { |
41 | $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
41 | $query =& $db->query("SELECT * FROM version v JOIN distribution d ON d.dist_id=v.dist_id WHERE v.dist_id='$dist'"); |
42 | $distvers = "<p><input type='hidden' name='d' value='".$dist."' /></p>\n"; |
42 | $distvers = "<p><input type='hidden' name='d' value='".$dist."' /></p>\n"; |
43 | while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
43 | while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) { |
44 | if ($version["vname"]!="") { |
44 | if ($version["vname"]!="") { |
45 | $distname = "“".stripslashes($version["vname"])."”"; |
45 | $distname = "“".stripslashes($version["vname"])."”"; |
46 | } else { |
46 | } else { |
47 | $distname = ""; |
47 | $distname = ""; |
48 | }
|
48 | }
|
49 | $distvers .= "<p><input type='radio' name='v' value='".$version["version_id"]."' />".stripslashes($version["distname"])." ".stripslashes($version["version"])." ".$distname."</p>\n"; |
49 | $distvers .= "<p><input type='radio' name='v' value='".$version["version_id"]."' />".stripslashes($version["distname"])." ".stripslashes($version["version"])." ".$distname."</p>\n"; |
50 | }
|
50 | }
|
51 | }
|
51 | }
|
52 | 52 | ||
53 | if (isset($vers)) { |
53 | if (isset($vers)) { |
54 | $query =& $db->query("SELECT * FROM settings"); |
54 | $query =& $db->query("SELECT * FROM settings"); |
55 | $settings = array(); |
55 | $settings = array(); |
56 | while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) { |
56 | while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) { |
57 | $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]); |
57 | $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]); |
58 | }; |
58 | }; |
59 | $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'"); |
59 | $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'"); |
60 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
60 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
61 | $distname = ""; |
61 | $distname = ""; |
62 | if ($infodist["vname"]!="") { |
62 | if ($infodist["vname"]!="") { |
63 | $distname = "“".stripslashes($infodist["vname"])."”"; |
63 | $distname = "“".stripslashes($infodist["vname"])."”"; |
64 | }
|
64 | }
|
65 | $info = "<h2>Доступные репозитории для <em>".stripslashes($infodist["distname"])." ".stripslashes($infodist["version"])." ".$distname."</em></h2>"; |
65 | $info = "<h2>Доступные репозитории для <em>".stripslashes($infodist["distname"])." ".stripslashes($infodist["version"])." ".$distname."</em></h2>"; |
66 | $query =& $db->query("SELECT * FROM repository r JOIN ver2rep v ON r.rep_id=v.rep_id JOIN version v2 ON v.ver_id=v2.version_id JOIN scheme s ON s.scheme_id=r.scheme_id WHERE v.ver_id='$vers' ORDER BY r.rtype_id, r.scheme_id ASC"); |
66 | $query =& $db->query("SELECT * FROM repository r JOIN ver2rep v ON r.rep_id=v.rep_id JOIN version v2 ON v.ver_id=v2.version_id JOIN scheme s ON s.scheme_id=r.scheme_id WHERE v.ver_id='$vers' ORDER BY r.rtype_id, r.scheme_id ASC"); |
67 | $result = "<p>Скопируйте эти строки в файл <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
67 | $result = "<p>Скопируйте эти строки в файл <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>"; |
68 | while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) { |
68 | while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) { |
69 | $repscheme = stripslashes($resinfo["scheme"]); |
69 | $repscheme = stripslashes($resinfo["scheme"]); |
70 | 70 | ||
71 | $querysect =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE |
71 | $querysect =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE |
72 | r.rep_id='$resinfo[rep_id]'"); |
72 | r.rep_id='$resinfo[rep_id]'"); |
73 | $sections = ""; |
73 | $sections = ""; |
74 | while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) { |
74 | while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) { |
75 | $sections .= stripslashes($section["sectname"])." "; |
75 | $sections .= stripslashes($section["sectname"])." "; |
76 | }
|
76 | }
|
77 | 77 | ||
78 | $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme); |
78 | $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme); |
79 | $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme); |
79 | $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme); |
80 | $repscheme = str_replace("{URL}",$settings["url"],$repscheme); |
80 | $repscheme = str_replace("{URL}",$settings["url"],$repscheme); |
81 | $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme); |
81 | $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme); |
82 | $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme); |
82 | $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme); |
83 | $repscheme = str_replace("{SECT}",$sections,$repscheme); |
83 | $repscheme = str_replace("{SECT}",$sections,$repscheme); |
84 | 84 | ||
85 | $result .= $repscheme."\n"; |
85 | $result .= $repscheme."\n"; |
86 | }
|
86 | }
|
87 | $result .= "</pre>"; |
87 | $result .= "</pre>"; |
88 | $result = $info.$result; |
88 | $result = $info.$result; |
89 | }
|
89 | }
|
90 | 90 | ||
91 | $smarty->assign('status',$status); |
91 | $smarty->assign('status',$status); |
92 | $smarty->assign('linux',$linux); |
92 | $smarty->assign('linux',$linux); |
93 | $smarty->assign('version',$distvers); |
93 | $smarty->assign('version',$distvers); |
94 | $smarty->assign('result',$result); |
94 | $smarty->assign('result',$result); |
95 | $smarty->assign('antversion',$antversion." • <a href='./modern.php'>Современный интерфейс</a>"); |
95 | $smarty->assign('antversion',$antversion." • <a href='./modern.php'>Современный интерфейс</a>"); |
96 | 96 | ||
97 | $smarty->display('classic.tpl'); |
97 | $smarty->display('classic.tpl'); |
98 | 98 | ||
99 | ?>
|
99 | ?>
|
100 | 100 |