Редакция 221 | Только различия | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 221 | Редакция 222 | ||
---|---|---|---|
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 | $ID = $_GET["id"]; |
25 | $ID = $_GET["id"]; |
26 | 26 | ||
27 | list($dist,$vers) = split(",",$ID); |
27 | list($dist,$vers) = split(",",$ID); |
28 | 28 | ||
29 | if ($ID!='') { |
29 | if ($ID!='') { |
30 | 30 | ||
31 | $query =& $db->query("SELECT * FROM settings"); |
- | |
32 | $settings = array(); |
- | |
33 | while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) { |
- | |
34 | $settings[$secure->stripStr($setting["opt"])] = $secure->stripStr($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 = $secure->stripStr($resinfo["scheme"]); |
31 | $result = $core->getRepListLegacy($dist,$vers,$db); |
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 .= $secure->stripStr($section["sectname"])." "; |
- | |
52 | }
|
- | |
53 | - | ||
54 | $repscheme = str_replace("{TYPE}",$secure->stripStr($infodist["type"]),$repscheme); |
- | |
55 | $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme); |
- | |
56 | $repscheme = str_replace("{ROOT}",$secure->stripStr($resinfo["root_folder"]),$repscheme); |
- | |
57 | $repscheme = str_replace("{URL}",$settings["url"],$repscheme); |
- | |
58 | $repscheme = str_replace("{REP}",$secure->stripStr($resinfo["repname"]),$repscheme); |
- | |
59 | $repscheme = str_replace("{DIST}",$secure->stripStr($infodist["vcodename"]),$repscheme); |
- | |
60 | $repscheme = str_replace("{SECT}",$sections,$repscheme); |
- | |
61 | - | ||
62 | $result .= "# ".$secure->stripStr($resinfo["repdescribe"])."\n".$repscheme."\n\n"; |
- | |
63 | }
|
- | |
64 | 32 | ||
65 | $HTTPHeader1 = "Content-type: text/plain"; |
33 | $HTTPHeader1 = "Content-type: text/plain"; |
66 | $HTTPHeader2 = "Content-length: ".strlen($result); |
34 | $HTTPHeader2 = "Content-length: ".strlen($result); |
67 | $HTTPHeader3 = "Content-disposition: attachment; filename=sources.list\n\n"; |
35 | $HTTPHeader3 = "Content-disposition: attachment; filename=sources.list\n\n"; |
68 | 36 | ||
69 | header($HTTPHeader1); |
37 | header($HTTPHeader1); |
70 | header($HTTPHeader2); |
38 | header($HTTPHeader2); |
71 | header($HTTPHeader3); |
39 | header($HTTPHeader3); |
72 | print $result; |
40 | print $result; |
73 | 41 | ||
74 | } else { |
42 | } else { |
75 | 43 | ||
76 | header("Location: ./"); |
44 | header("Location: ./"); |
77 | 45 | ||
78 | }
|
46 | }
|
79 | 47 | ||
80 | ?>
|
48 | ?>
|
81 | 49 |