root/trunk/gui/admin/custom_menus.php

Revision 1372, 7.9 kB (checked in by rats, 1 month ago)

* Added Mailsize function
* Fixed #1594: (CentOS) More perl dependencies on CentOS
* Fixed #1595: (CentOS) CentOS perl docs: Advice to autoconfigure first
* Fixed #1483: Misleading information in INSTALL-files
* Fixed #1512: Subdomains for domain-aliases
* Fixed #1509: New subdomain management system
* Fixed Order delete bug
* Fixed #1507: Some errors on around "Execute Query" option on a database
* Fixed #1511: e-mail aliases & autoreply
* Fixed #1151: Update Hosting Package should only visible for a customer if a hosting plan to update is available (thanks Feg)
* Fixed #1556: Special Characters like Umlauts (äüöÄÜÖ) and Ligatures (ß) in Javascript messages are encoded, wrongly.
* PHPmyAdmin 3.0.0

Line 
1 <?php
2 /**
3  * ispCP ω (OMEGA) a Virtual Hosting Control System
4  *
5  * @copyright     2001-2006 by moleSoftware GmbH
6  * @copyright     2006-2008 by ispCP | http://isp-control.net
7  * @version     SVN: $Id$
8  * @link         http://isp-control.net
9  * @author         ispCP Team
10  *
11  * @license
12  *   This program is free software; you can redistribute it and/or modify it under
13  *   the terms of the MPL General Public License as published by the Free Software
14  *   Foundation; either version 1.1 of the License, or (at your option) any later
15  *   version.
16  *   You should have received a copy of the MPL Mozilla Public License along with
17  *   this program; if not, write to the Open Source Initiative (OSI)
18  *   http://opensource.org | osi@opensource.org
19  */
20
21 // site functions
22 function gen_button_list(&$tpl, &$sql) {
23     $query = <<<SQL_QUERY
24         select
25           *
26       from
27           custom_menus
28 SQL_QUERY;
29
30     $rs = exec_query($sql, $query, array());
31     if ($rs->RecordCount() == 0) {
32         $tpl->assign('BUTTON_LIST', '');
33
34         set_page_message(tr('You have no custom menus.'));
35     } else {
36         global $i ;
37
38         while (!$rs->EOF) {
39             $menu_id = $rs->fields['menu_id'];
40             $menu_level = $rs->fields['menu_level'];
41             $menu_name = $rs->fields['menu_name'];
42             $menu_link = $rs->fields['menu_link'];
43
44             if ($menu_level === 'admin') {
45                 $menu_level = tr('Administrator');
46             } else if ($menu_level === 'reseller') {
47                 $menu_level = tr('Reseller');
48             } else if ($menu_level === 'user') {
49                 $menu_level = tr('User');
50             } else if ($menu_level === 'all') {
51                 $menu_level = tr('All');
52             }
53
54             $tpl->assign(
55                 array('BUTTON_LINK' => $menu_link,
56                     'BUTONN_ID' => $menu_id,
57                     'LEVEL' => $menu_level,
58                     'MENU_NAME' => $menu_name,
59                     'LINK' => $menu_link,
60                     'CONTENT' => ($i % 2 == 0) ? 'content' : 'content2',
61                     'TR_MESSAGE_DELETE' => tr('Are you sure you want to delete %s?', true, '%s'),
62
63                     )
64                 );
65
66             $tpl->parse('BUTTON_LIST', '.button_list');
67             $rs->MoveNext();
68             $i++;
69         } // end while
70     } // end else
71 }
72
73 function add_new_button(&$sql) {
74     if (!isset($_POST['uaction'])) {
75         return;
76     } else if ($_POST['uaction'] != 'new_button') {
77         return;
78     } else {
79         $button_name = clean_input($_POST['bname']);
80         $button_link = clean_input($_POST['blink']);
81         $button_target = clean_input($_POST['btarget']);
82         $button_view = $_POST['bview'];
83
84         if (empty($button_name) || empty($button_link)) {
85             set_page_message(tr('Missing or incorrect data input!'));
86             return;
87         }
88
89         $query = <<<SQL_QUERY
90         insert into custom_menus
91           (
92             menu_level,
93             menu_name,
94             menu_link,
95             menu_target
96           )
97         values
98           (
99             ?,?,?,?
100           )
101 SQL_QUERY;
102
103         $rs = exec_query($sql, $query, array($button_view,
104                 $button_name,
105                 $button_link,
106                 $button_target));
107
108         set_page_message(tr('Custom menu data updated successful!'));
109         return;
110     }
111 }
112
113 function delete_button(&$sql) {
114     if ($_GET['delete_id'] === '' || !is_numeric($_GET['delete_id'])) {
115         set_page_message(tr('Missing or incorrect data input!'));
116         return;
117     } else {
118         $delete_id = $_GET['delete_id'];
119
120         $query = <<<SQL_QUERY
121             delete
122                 from custom_menus
123             where
124                 menu_id  = ?
125 SQL_QUERY;
126
127         $rs = exec_query($sql, $query, array($delete_id));
128
129         set_page_message(tr('Custom menu deleted successful!'));
130         return;
131     }
132 }
133
134 function edit_button(&$tpl, &$sql) {
135     if ($_GET['edit_id'] === '' || !is_numeric($_GET['edit_id'])) {
136         set_page_message(tr('Missing or incorrect data input!'));
137         return;
138     } else {
139         $edit_id = $_GET['edit_id'];
140
141         $query = <<<SQL_QUERY
142       select
143             *
144       from
145             custom_menus
146       where
147             menu_id = ?
148 SQL_QUERY;
149
150         $rs = exec_query($sql, $query, array($edit_id));
151         if ($rs->RecordCount() == 0) {
152             set_page_message(tr('Missing or incorrect data input!'));
153             $tpl->assign('EDIT_BUTTON', '');
154             return;
155         } else {
156             $tpl->assign('ADD_BUTTON', '');
157
158             $button_name = $rs->fields['menu_name'];
159             $button_link = $rs->fields['menu_link'];
160             $button_target = $rs->fields['menu_target'];
161             $button_view = $rs->fields['menu_level'];
162
163             if ($button_view === 'admin') {
164                 $admin_view = "selected";
165                 $reseller_view = "";
166                 $user_view = "";
167                 $all_view = "";
168             } else if ($button_view === 'reseller') {
169                 $admin_view = "";
170                 $reseller_view = "selected";
171                 $user_view = "";
172                 $all_view = "";
173             } else if ($button_view === 'user') {
174                 $admin_view = "";
175                 $reseller_view = "";
176                 $user_view = "selected";
177                 $all_view = "";
178             } else {
179                 $admin_view = "";
180                 $reseller_view = "";
181                 $user_view = "";
182                 $all_view = "selected";
183             }
184
185             $tpl->assign(
186                 array('BUTON_NAME' => $button_name,
187                     'BUTON_LINK' => $button_link,
188                     'BUTON_TARGET' => $button_target,
189                     'ADMIN_VIEW' => $admin_view,
190                     'RESELLER_VIEW' => $reseller_view,
191                     'USER_VIEW' => $user_view,
192                     'ALL_VIEW' => $all_view,
193                     'EID' => $_GET['edit_id']
194                     )
195                 );
196
197             $tpl->parse('EDIT_BUTTON', '.edit_button');
198         }
199     }
200 }
201
202 function update_button(&$sql) {
203     if (!isset($_POST['uaction'])) {
204         return;
205     } else if ($_POST['uaction'] != 'edit_button') {
206         return;
207     } else {
208         $button_name = clean_input($_POST['bname']);
209         $button_link = clean_input($_POST['blink']);
210         $button_target = clean_input($_POST['btarget']);
211         $button_view = $_POST['bview'];
212         $button_id = $_POST['eid'];
213
214         if (empty($button_name) || empty($button_link) || empty($button_id)) {
215             set_page_message(tr('Missing or incorrect data input!'));
216             return;
217         }
218
219         $query = <<<SQL_QUERY
220       update
221           custom_menus
222       set
223           menu_level = ?,
224           menu_name = ?,
225           menu_link = ?,
226           menu_target = ?
227       where
228           menu_id = ?
229 SQL_QUERY;
230
231         $rs = exec_query($sql, $query, array($button_view,
232                 $button_name,
233                 $button_link,
234                 $button_target,
235                 $button_id));
236
237         set_page_message(tr('Custom menu data updated successful!'));
238         return;
239     }
240 }
241 // end site functions
242 require '../include/ispcp-lib.php';
243
244 check_login(__FILE__);
245
246 $tpl = new pTemplate();
247 $tpl->define_dynamic('page', Config::get('ADMIN_TEMPLATE_PATH') . '/custom_menus.tpl');
248 $tpl->define_dynamic('page_message', 'page');
249 $tpl->define_dynamic('hosting_plans', 'page');
250 $tpl->define_dynamic('button_list', 'page');
251 $tpl->define_dynamic('button_list', 'page');
252 $tpl->define_dynamic('add_button', 'page');
253 $tpl->define_dynamic('edit_button', 'page');
254
255 $theme_color = Config::get('USER_INITIAL_THEME');
256
257 $tpl->assign(
258     array('TR_ADMIN_CUSTOM_MENUS_PAGE_TITLE' => tr('ispCP - Admin - Manage custom menus'),
259         'THEME_COLOR_PATH' => "../themes/$theme_color",
260         'THEME_CHARSET' => tr('encoding'),
261         'ISP_LOGO' => get_logo($_SESSION['user_id'])
262         )
263     );
264 gen_admin_mainmenu($tpl, Config::get('ADMIN_TEMPLATE_PATH') . '/main_menu_settings.tpl');
265 gen_admin_menu($tpl, Config::get('ADMIN_TEMPLATE_PATH') . '/menu_settings.tpl');
266
267 add_new_button($sql);
268
269 if (isset($_GET['delete_id'])) {
270     delete_button($sql);
271 }
272
273 if (isset($_GET['edit_id'])) {
274     edit_button($tpl, $sql);
275 }
276
277 update_button($sql);
278
279 gen_button_list($tpl, $sql);
280
281 $tpl->assign(
282         array(
283             'TR_TITLE_CUSTOM_MENUS' => tr('Manage custom menus'),
284             'TR_ADD_NEW_BUTTON' => tr('Add new button'),
285             'TR_BUTTON_NAME' => tr('Button name'),
286             'TR_BUTTON_LINK' => tr('Button link'),
287             'TR_BUTTON_TARGET' => tr('Button target'),
288             'TR_VIEW_FROM' => tr('Show in'),
289             'ADMIN' => tr('Administrator level'),
290             'RESELLER' => tr('Reseller level'),
291             'USER' => tr('Enduser level'),
292             'RESSELER_AND_USER' => tr('Reseller and enduser level'),
293             'TR_ADD' => tr('Add'),
294             'TR_MENU_NAME' => tr('Menu button'),
295             'TR_ACTON' => tr('Action'),
296             'TR_EDIT' => tr('Edit'),
297             'TR_DELETE' => tr('Delete'),
298             'TR_LEVEL' => tr('Level'),
299             'TR_SAVE' => tr('Save'),
300             'TR_EDIT_BUTTON' => tr('Edit button')
301         )
302     );
303
304 gen_page_message($tpl);
305
306 if (isset($_GET['edit_id'])) {
307     $tpl->assign('ADD_BUTTON', '');
308 } else {
309     $tpl->assign('EDIT_BUTTON', '');
310 }
311
312 $tpl->parse('PAGE', 'page');
313
314 $tpl->prnt();
315
316 if (Config::get('DUMP_GUI_DEBUG'))
317     dump_gui_debug();
318
319 unset_messages();
320
321 ?>
322
Note: See TracBrowser for help on using the browser.