Хранилища Subversion ant

Редакция

Редакция 60 | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 60 Редакция 66
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
include "lib/init.php";
24
include "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");
31
        $query =& $db->query("SELECT * FROM settings");
32
        $settings = array();
32
        $settings = array();
33
        while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) {
33
        while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) {
34
                $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]);
34
                $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]);
35
        };
35
        };
36
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'");
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);
38
        $query->fetchInto($infodist, DB_FETCHMODE_ASSOC);
39
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");
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
       
41
       
42
        $result = "# Ant: sources.list generator :: http://track.altlug.ru/project/show/ant\n\n";
42
        $result = "# Ant: sources.list generator :: http://track.altlug.ru/project/show/ant\n\n";
43
43
44
        while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) {
44
        while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) {
45
                $repscheme = stripslashes($resinfo["scheme"]);
45
                $repscheme = stripslashes($resinfo["scheme"]);
46
           
46
           
47
                $querysect =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE
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]'");
48
r.rep_id='$resinfo[rep_id]'");
49
                $sections = "";
49
                $sections = "";
50
                while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) {
50
                while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) {
51
                        $sections .= stripslashes($section["sectname"])." ";
51
                        $sections .= stripslashes($section["sectname"])." ";
52
                }
52
                }
53
53
54
                $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme);
54
                $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme);
55
                $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme);
55
                $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme);
56
                $repscheme = str_replace("{URL}",$settings["url"],$repscheme);
56
                $repscheme = str_replace("{URL}",$settings["url"],$repscheme);
57
                $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme);
57
                $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme);
58
                $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme);
58
                $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme);
59
                $repscheme = str_replace("{SECT}",$sections,$repscheme);
59
                $repscheme = str_replace("{SECT}",$sections,$repscheme);
60
           
60
           
61
                $result .= "# ".stripslashes($resinfo["repdescribe"])."\n".$repscheme."\n\n";
61
                $result .= "# ".stripslashes($resinfo["repdescribe"])."\n".$repscheme."\n\n";
62
        }
62
        }
63
63
64
        $HTTPHeader1 = "Content-type: text/plain";
64
        $HTTPHeader1 = "Content-type: text/plain";
65
        $HTTPHeader2 = "Content-length: ".strlen($result);
65
        $HTTPHeader2 = "Content-length: ".strlen($result);
66
        $HTTPHeader3 = "Content-disposition: attachment; filename=sources.list\n\n";
66
        $HTTPHeader3 = "Content-disposition: attachment; filename=sources.list\n\n";
67
67
68
        header($HTTPHeader1);
68
        header($HTTPHeader1);
69
        header($HTTPHeader2);
69
        header($HTTPHeader2);
70
        header($HTTPHeader3);
70
        header($HTTPHeader3);
71
        print $result;
71
        print $result;
72
72
73
} else {
73
} else {
74
74
75
        header("Location: ./");
75
        header("Location: ./");
76
76
77
}
77
}
78
78
79
?>
79
?>
80
 
80