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