root/trunk/gui/include/layout-functions.php

Revision 1246, 4.6 kB (checked in by rats, 5 months ago)

GUI Update 4/5: inlcude

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  * @link         http://isp-control.net
8  * @author         ispCP Team (2007)
9  *
10  * @license
11  *   This program is free software; you can redistribute it and/or modify it under
12  *   the terms of the MPL General Public License as published by the Free Software
13  *   Foundation; either version 1.1 of the License, or (at your option) any later
14  *   version.
15  *   You should have received a copy of the MPL Mozilla Public License along with
16  *   this program; if not, write to the Open Source Initiative (OSI)
17  *   http://opensource.org | osi@opensource.org
18  */
19
20 if (isset($_SESSION['user_id'])) {
21     if (!isset($_SESSION['logged_from']) && !isset($_SESSION['logged_from_id'])) {
22         list($user_def_lang, $user_def_layout) = get_user_gui_props($sql, $_SESSION['user_id']);
23
24         $_SESSION['user_theme'] = $user_def_layout;
25         $_SESSION['user_def_lang'] = $user_def_lang;
26     }
27 }
28
29 // THEME_COLOR managment stuff.
30
31 function get_user_gui_props(&$sql, $user_id) {
32     $query = <<<SQL_QUERY
33         select
34             lang, layout
35         from
36             user_gui_props
37         where
38             user_id = ?
39 SQL_QUERY;
40
41     $rs = exec_query($sql, $query, array($user_id));
42
43     if ($rs->RecordCount() == 0 || (empty($rs->fields['lang']) && empty($rs->fields['layout']))) {
44         // values for user id, some default stuff
45         return array(Config::get('USER_INITIAL_LANG'), Config::get('USER_INITIAL_THEME'));
46     }
47     else if (empty($rs->fields['lang'])) {
48         return array(Config::get('USER_INITIAL_LANG'), $rs->fields['layout']);
49     }
50     else if (empty($rs->fields['layout'])) {
51         return array($rs->fields['lang'], Config::get('USER_INITIAL_THEME'));
52     }
53     else {
54         return array($rs->fields['lang'], $rs->fields['layout']);
55     }
56 }
57
58 function gen_page_message(&$tpl) {
59     if (!isset($_SESSION['user_page_message'])) {
60         $tpl->assign('PAGE_MESSAGE', '');
61         $tpl->assign('MESSAGE', '');
62     } else {
63         $tpl->assign('MESSAGE', $_SESSION['user_page_message']);
64         unset($_SESSION['user_page_message']);
65     }
66 }
67
68 function check_language_exist($lang_table) {
69     $sql = Database::getInstance();
70
71     $tables = $sql->MetaTables();
72     $nlang = count($tables);
73     for ($i = 0 ; $i < $nlang; $i++) {
74         $data = $tables[$i];
75         if ($data == $lang_table) {
76             return true;
77         }
78     }
79     return false;
80 }
81
82 function set_page_message($message) {
83     if (isset($_SESSION['user_page_message']))
84         $_SESSION['user_page_message'] .= "<br />$message\n";
85     else
86         $_SESSION['user_page_message'] = $message;
87 }
88
89 function get_menu_vars($menu_link) {
90     $sql = Database::getInstance();
91
92     $user_id = $_SESSION['user_id'];
93
94     $query = <<<SQL_QUERY
95         SELECT
96             customer_id, fname, lname, firm, zip, city, country, email, phone, fax, street1, street2
97         FROM
98             admin
99         WHERE
100             admin_id = ?
101 SQL_QUERY;
102
103     $rs = exec_query($sql, $query, array($user_id));
104
105     $search = array();
106     $replace = array();
107
108     $search [] = '{uid}';
109     $replace[] = $_SESSION['user_id'];
110     $search [] = '{uname}';
111     $replace[] = $_SESSION['user_logged'];
112     $search [] = '{cid}';
113     $replace[] = $rs->fields['customer_id'];
114     $search [] = '{fname}';
115     $replace[] = $rs->fields['fname'];
116     $search [] = '{lname}';
117     $replace[] = $rs->fields['lname'];
118     $search [] = '{company}';
119     $replace[] = $rs->fields['firm'];
120     $search [] = '{zip}';
121     $replace[] = $rs->fields['zip'];
122     $search [] = '{city}';
123     $replace[] = $rs->fields['city'];
124     $search [] = '{country}';
125     $replace[] = $rs->fields['country'];
126     $search [] = '{email}';
127     $replace[] = $rs->fields['email'];
128     $search [] = '{phone}';
129     $replace[] = $rs->fields['phone'];
130     $search [] = '{fax}';
131     $replace[] = $rs->fields['fax'];
132     $search [] = '{street1}';
133     $replace[] = $rs->fields['street1'];
134     $search [] = '{street2}';
135     $replace[] = $rs->fields['street2'];
136
137     $query = <<<SQL_QUERY
138         SELECT
139             domain_name, domain_admin_id
140         FROM
141             domain
142         WHERE
143             domain_admin_id = ?
144 SQL_QUERY;
145
146     $rs = exec_query($sql, $query, array($user_id));
147
148     $search [] = '{domain_name}';
149     $replace[] = $rs->fields['domain_name'];
150
151     $menu_link = str_replace($search, $replace, $menu_link);
152     return $menu_link;
153 }
154
155 // curently not being used because there's only one layout/theme
156 function gen_def_layout(&$tpl, $user_def_layout) {
157     $layouts = array('blue', 'green', 'red', 'yellow');
158
159     foreach ($layouts as $layout) {
160         if ($layout === $user_def_layout) {
161             $selected = 'selected';
162         } else {
163             $selected = '';
164         }
165
166         $tpl->assign(
167             array('LAYOUT_VALUE' => $layout,
168                 'LAYOUT_SELECTED' => $selected,
169                 'LAYOUT_NAME' => $layout
170                 )
171             );
172
173         $tpl->parse('DEF_LAYOUT', '.def_layout');
174     }
175 }
176
177 ?>
Note: See TracBrowser for help on using the browser.