Хранилища Subversion ant

Редакция

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

Редакция Автор № строки Строка
23 alex-w 1
<?php
2
 
31 alex-w 3
/**
4
 * Project:     Ant: sources.list generator
5
 * File:        wizard.php
6
 *
60 alex-w 7
 * This application is free software; you can redistribute it and/or
31 alex-w 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
 *
60 alex-w 12
 * This application is distributed in the hope that it will be useful,
31 alex-w 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
 
23 alex-w 24
include "lib/init.php";
25
$status = abs(intval($_GET["step"]));
26
$dist   = abs(intval($_GET["d"]));
27
$vers   = abs(intval($_GET["v"]));
28
 
29
$query =& $db->query("SELECT * FROM settings WHERE opt LIKE 'version'");
30
$query->fetchInto($antv, DB_FETCHMODE_ASSOC);
31
$antversion = $antv["optvalue"];
32
 
33
$query =& $db->query("SELECT * FROM distribution");
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";
36
}
37
 
38
if (!isset($status)) { $status = 0; };
39
 
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'");
42
        $distvers = "<p><input type='hidden' name='d' value='".$dist."' /></p>\n";
43
        while ($query->fetchInto($version, DB_FETCHMODE_ASSOC)) {
44
                if ($version["vname"]!="") {
45
                        $distname = "&#8220;".stripslashes($version["vname"])."&#8221;";
46
                } else {
47
                        $distname = "";
48
                }
49
                $distvers .= "<p><input type='radio' name='v' value='".$version["version_id"]."' />".stripslashes($version["distname"])." ".stripslashes($version["version"])." ".$distname."</p>\n";
50
        }
51
}
52
 
53
if (isset($vers)) {
54
        $query =& $db->query("SELECT * FROM settings");
55
        $settings = array();
56
        while ($query->fetchInto($setting, DB_FETCHMODE_ASSOC)) {
57
                $settings[stripslashes($setting["opt"])] = stripslashes($setting["optvalue"]);
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'");
60
        $query->fetchInto($infodist, DB_FETCHMODE_ASSOC);
61
        $distname = "";
62
        if ($infodist["vname"]!="") {
63
                $distname = "&#8220;".stripslashes($infodist["vname"])."&#8221;";
64
        }
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");
67
        $result = "<p>Скопируйте эти строки в файл <span id='sourceslist'>/etc/apt/sources.list</span>:</p><pre>";
68
        while ($query->fetchInto($resinfo, DB_FETCHMODE_ASSOC)) {
69
            $repscheme = stripslashes($resinfo["scheme"]);
70
 
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]'");
73
            $sections = "";
74
            while ($querysect->fetchInto($section,DB_FETCHMODE_ASSOC)) {
75
                    $sections .= stripslashes($section["sectname"])." ";
76
            }
77
 
78
            $repscheme = str_replace("{TYPE}",stripslashes($infodist["type"]),$repscheme);
79
            $repscheme = str_replace("{PROTO}",$settings["proto"],$repscheme);
80
            $repscheme = str_replace("{URL}",$settings["url"],$repscheme);
81
            $repscheme = str_replace("{REP}",stripslashes($resinfo["repname"]),$repscheme);
82
            $repscheme = str_replace("{DIST}",stripslashes($infodist["vcodename"]),$repscheme);
83
            $repscheme = str_replace("{SECT}",$sections,$repscheme);
84
 
85
            $result .= $repscheme."\n";
86
        }
87
        $result .= "</pre>";
88
        $result = $info.$result;
89
}
90
 
91
$smarty->assign('status',$status);
92
$smarty->assign('linux',$linux);
93
$smarty->assign('version',$distvers);
94
$smarty->assign('result',$result);
95
$smarty->assign('antversion',$antversion);
96
 
97
$smarty->display('index.tpl');
98
 
99
?>