Редакция 54 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
52 | alex-w | 1 | <?php |
2 | |||
3 | /** |
||
4 | * Project: Ant: sources.list generator |
||
5 | * File: classic.php |
||
6 | * |
||
7 | * This library is free software; you can redistribute it and/or |
||
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 | * |
||
12 | * This library is distributed in the hope that it will be useful, |
||
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 | |||
24 | include "lib/init.php"; |
||
25 | $ID = $_GET["id"]; |
||
26 | |||
27 | list($dist,$vers) = split(",",$ID); |
||
28 | |||
29 | if ($ID!='') { |
||
30 | |||
31 | $query =& $db->query("SELECT * FROM settings"); |
||
32 | $settings = array(); |
||
33 | while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) { |
||
34 | $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]); |
||
35 | }; |
||
36 | |||
37 | $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'"); |
||
38 | $query->fetchInto($infodist, DB_FETCHMODE_ASSOC); |
||
39 | |||
40 | $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"); |
||
41 | |||
42 | $result = "# Ant: sources.list generator :: http://track.altlug.ru/project/show/ant\n\n"; |
||
43 | |||
44 | while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) { |
||
45 | $repscheme = stripslashes($resinfo["scheme"]); |
||
46 | |||
47 | $querysect =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE |
||
48 | r.rep_id='$resinfo[rep_id]'"); |
||
49 | $sections = ""; |
||
50 | while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) { |
||
51 | $sections .= stripslashes($section["sectname"])." "; |
||
52 | } |
||
53 | |||
54 | $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme); |
||
55 | $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme); |
||
56 | $repscheme = str_replace("{URL}",$settings["url"],$repscheme); |
||
57 | $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme); |
||
58 | $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme); |
||
59 | $repscheme = str_replace("{SECT}",$sections,$repscheme); |
||
60 | |||
54 | alex-w | 61 | $result .= "# ".stripslashes($resinfo["repdescribe"])."\n".$repscheme."\n\n"; |
52 | alex-w | 62 | } |
63 | |||
64 | $HTTPHeader1 = "Content-type: text/plain"; |
||
65 | $HTTPHeader2 = "Content-length: ".strlen($result); |
||
66 | $HTTPHeader3 = "Content-disposition: attachment; filename=sources.list\n\n"; |
||
67 | |||
68 | header($HTTPHeader1); |
||
69 | header($HTTPHeader2); |
||
70 | header($HTTPHeader3); |
||
71 | print $result; |
||
72 | |||
73 | } else { |
||
74 | |||
75 | header("Location: ./"); |
||
76 | |||
77 | } |
||
78 | |||
79 | ?> |