Хранилища Subversion ant

Редакция

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

Редакция Автор № строки Строка
43 alex-w 1
<?php
2
 
3
/**
4
 * Project:     Ant: sources.list generator
5
 * File:        modern.php
6
 *
7
 * This application 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 application 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
 
101 alex-w 24
require_once dirname(__FILE__)."/lib/init.php";
43 alex-w 25
 
45 alex-w 26
$scripts = "
27
(function($){
28
  // очищаем select
29
  $.fn.clearSelect = function() {
30
          return this.each(function(){
31
                  if(this.tagName=='SELECT') {
32
                      this.options.length = 0;
33
                      $(this).attr('disabled','disabled');
34
                  }
35
          });
36
  }
37
  // заполняем select
38
  $.fn.fillSelect = function(dataArray) {
39
          return this.clearSelect().each(function(){
40
                  if(this.tagName=='SELECT') {
41
                          var currentSelect = this;
42
                          $.each(dataArray,function(index,data){
43
                                  var option = new Option(data.text,data.value);
44
                                  if($.support.cssFloat) {
45
                                          currentSelect.add(option,null);
46
                                  } else {
47
                                          currentSelect.add(option);
48
                                  }
49
                          });
50
                  }
51
          });
52
  }
53
})(jQuery);
54
</script>
55
<script type='text/javascript'>
56
$(document).ready(function(){
57
  // выбор дистрибутива
58
  function adjustDistro(){
59
        var distroValue = $('#distro').val();
60
        var tmpSelect = $('#distver');
61
        if(distroValue.length == 0) {
62
                tmpSelect.attr('disabled','disabled');
63
                tmpSelect.clearSelect();
64
                adjustReps();
65
                $('#replist').css('display','none');
52 alex-w 66
                $('#getfile').css('display','none');
228 sivan 67
                $('#reps').css('display','none');
45 alex-w 68
        } else {
102 alex-w 69
                $.getJSON('./m-process.php',{d:distroValue,status:1},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); adjustReps(); });
45 alex-w 70
                $('#replist').css('display','none');
52 alex-w 71
                $('#getfile').css('display','none');
228 sivan 72
                $('#reps').css('display','none');
45 alex-w 73
        }
74
  };
75
  // Выбор версии дистрибутива
228 sivan 76
  function adjustReps(){  
45 alex-w 77
        var distroValue = $('#distro').val();
78
        var versionValue = $('#distver').val();
79
        if (distroValue != 0 && versionValue != 0) {
228 sivan 80
                $.get('./m-process.php',{d:distroValue,v:versionValue,status:2},function(data){ $('#reps').css('display','block'); $('#reps').html(data); });
55 alex-w 81
        } else {
82
                $('#replist').css('display','none');
83
                $('#getfile').css('display','none');
228 sivan 84
                $('#reps').css('display','none');
45 alex-w 85
        }
86
  }
228 sivan 87
  // Выбор репозиториев дистрибутива
88
  function adjustRepos(){
89
        var distroValue = $('#distro').val();
90
        var versionValue = $('#distver').val();
91
        if (distroValue != 0 && versionValue != 0) {
92
            var repar = $('input.repbox:checked');//.serialize();
93
            repar=repar.serialize(); // fix this shit
94
            $('#replist').css('display','block');
95
            $('#replist').load('./m-process.php?status=3&d='+distroValue+'&v='+versionValue+'&'+repar);
96
            $.get('./m-process.php',{d:distroValue,v:versionValue,status:4},function(data){ $('#getfile').css('display','block'); $('#getfile').html(data); });
97
        } else {
98
                $('#replist').css('display','none');
99
                $('#getfile').css('display','none');
100
        }
101
  }
43 alex-w 102
 
45 alex-w 103
  $('#distro').change(adjustDistro);
104
  $('#distver').change(adjustReps);
228 sivan 105
  $('#reps').click(adjustRepos);
106
});
43 alex-w 107
 
45 alex-w 108
";
43 alex-w 109
 
110
$query =& $db->query("SELECT * FROM distribution");
111
while ($query->fetchInto($data, DB_FETCHMODE_ASSOC)) {
209 alex-w 112
        $linux .= "<option value='".$data["dist_id"]."'>".$secure->stripStr($data["distname"])."</option>\n";
43 alex-w 113
}
114
 
45 alex-w 115
$modern .= "<h2>Генератор sources.list</h2>";
116
$modern .= "<div class='border'>";
51 alex-w 117
$modern .= "<label>Дистрибутив</label><br>";
45 alex-w 118
$modern .= "<select id='distro'>\n<option value=''>Выбрать дистрибутив</option>\n";
119
$modern .= $linux."</select>";
120
$modern .= "</div><div class='border'>";
51 alex-w 121
$modern .= "<label>Версия дистрибутива</label><br>";
122
$modern .= "<select id='distver' disabled='disabled'><option></option>";
45 alex-w 123
$modern .= "</select></div>";
228 sivan 124
 
125
$modern .= "<div id='cboxes'>";
126
$modern .= "<pre id='reps'></pre>";
127
$modern .= "</div>";
128
 
51 alex-w 129
$modern .= "<pre id='replist'></pre>";
52 alex-w 130
$modern .= "<p id='getfile'></p>";
43 alex-w 131
 
131 alex-w 132
$smarty->assign('feedaddr',$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]));
43 alex-w 133
$smarty->assign('modern',$modern);
134
$smarty->assign('scripts',$scripts);
132 alex-w 135
$smarty->assign('antversion',$core->getSetting('version',$db));
136
$smarty->assign('title',$core->getSetting('codename',$db));
143 alex-w 137
$smarty->assign('interface'," &bull; <a href='./changelog.php'>Изменения</a> &bull; ".$core->getInterfacesList($_SERVER["REQUEST_URI"],$db));
83 alex-w 138
$smarty->assign('style',$core->getCSSList($db));
43 alex-w 139
 
140
$smarty->display('modern.tpl');
141
 
142
?>