1 | <?php |
---|
2 | /**************************************************************************\ |
---|
3 | * phpGroupWare * |
---|
4 | * http://www.phpgroupware.org * |
---|
5 | * -------------------------------------------- * |
---|
6 | * This program is free software; you can redistribute it and/or modify it * |
---|
7 | * under the terms of the GNU General Public License as published by the * |
---|
8 | * Free Software Foundation; either version 2 of the License, or (at your * |
---|
9 | * option) any later version. * |
---|
10 | \**************************************************************************/ |
---|
11 | |
---|
12 | |
---|
13 | function parse_navbar($force = False) |
---|
14 | { |
---|
15 | $tpl = CreateObject('phpgwapi.Template',PHPGW_TEMPLATE_DIR); |
---|
16 | $tpl->set_unknowns('remove'); |
---|
17 | |
---|
18 | $tpl->set_file( |
---|
19 | array( |
---|
20 | 'navbar' => 'navbar.tpl' |
---|
21 | ) |
---|
22 | ); |
---|
23 | $tpl->set_block('navbar','preferences','preferences_icon'); |
---|
24 | |
---|
25 | //$tpl->set_block('navbar','B_powered_top','V_powered_top'); |
---|
26 | //$tpl->set_block('navbar','B_num_users','V_num_users'); |
---|
27 | |
---|
28 | $var['img_root'] = PHPGW_IMAGES_DIR; |
---|
29 | $var['table_bg_color'] = $GLOBALS['phpgw_info']['theme']['navbar_bg']; |
---|
30 | |
---|
31 | $find_single = strrpos($GLOBALS['phpgw_info']['server']['webserver_url'],'/'); |
---|
32 | $find_double = strpos(strrev($GLOBALS['phpgw_info']['server']['webserver_url'].' '),'//'); |
---|
33 | if($find_double) |
---|
34 | { |
---|
35 | $find_double = strlen($GLOBALS['phpgw_info']['server']['webserver_url']) - $find_double - 1; |
---|
36 | } |
---|
37 | if($find_double) |
---|
38 | { |
---|
39 | if($find_single == $find_double + 1) |
---|
40 | { |
---|
41 | $strip_portion = $GLOBALS['phpgw_info']['server']['webserver_url']; |
---|
42 | } |
---|
43 | else |
---|
44 | { |
---|
45 | $strip_portion = substr($GLOBALS['phpgw_info']['server']['webserver_url'],0,$find_double + 1); |
---|
46 | } |
---|
47 | } |
---|
48 | else |
---|
49 | { |
---|
50 | $strip_portion = ''; |
---|
51 | } |
---|
52 | |
---|
53 | # echo '<pre>'; print_r($GLOBALS['phpgw_info']['navbar']); echo '</pre>'; |
---|
54 | $applications = ''; |
---|
55 | foreach($GLOBALS['phpgw_info']['navbar'] as $app => $app_data) |
---|
56 | { |
---|
57 | if ($app != 'home' && $app != 'preferences' && !ereg('about',$app) && $app != 'logout') |
---|
58 | { |
---|
59 | $title = '<img src="' . $app_data['icon'] . '" alt="' . $app_data['title'] . '" title="' |
---|
60 | . $app_data['title'] . '" border="0" name="' . str_replace('-','_',$app) . '">'; |
---|
61 | $img_src_over = $app_data['icon_hover']; |
---|
62 | $img_src_out = $app_data['icon']; |
---|
63 | |
---|
64 | $applications .= '<tr><td><a href="' . $app_data['url'] . '"'; |
---|
65 | if (isset($GLOBALS['phpgw_info']['flags']['navbar_target'])) |
---|
66 | { |
---|
67 | $applications .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"'; |
---|
68 | } |
---|
69 | |
---|
70 | if($img_src_over != '') |
---|
71 | { |
---|
72 | $applications .= ' onMouseOver="' . str_replace('-','_',$app) . ".src='" . $img_src_over . '\'"'; |
---|
73 | } |
---|
74 | if($img_src_out != '') |
---|
75 | { |
---|
76 | $applications .= ' onMouseOut="' . str_replace('-','_',$app) . ".src='" . $img_src_out . '\'"'; |
---|
77 | } |
---|
78 | $applications .= $app_data['target'] . '>'.$title.'</a></td></tr>'."\r\n"; |
---|
79 | } |
---|
80 | else |
---|
81 | { |
---|
82 | $img_src_over = $GLOBALS['phpgw']->common->image_on($app,Array('navbar','nonav'),'-over'); |
---|
83 | } |
---|
84 | if($img_src_over != '') |
---|
85 | { |
---|
86 | // if($strip_portion) |
---|
87 | // { |
---|
88 | // $img_src_over = str_replace($strip_portion,'',$img_src_over); |
---|
89 | // } |
---|
90 | |
---|
91 | $pre_load[] = $img_src_over; |
---|
92 | } |
---|
93 | } |
---|
94 | |
---|
95 | $var['app_images'] = implode("',\r\n'",$pre_load); |
---|
96 | |
---|
97 | $var['applications'] = $applications; |
---|
98 | |
---|
99 | $var['home_link'] = $GLOBALS['phpgw_info']['navbar']['home']['url']; |
---|
100 | $var['preferences_link'] = $GLOBALS['phpgw_info']['navbar']['preferences']['url']; |
---|
101 | $var['logout_link'] = $GLOBALS['phpgw_info']['navbar']['logout']['url']; |
---|
102 | $var['help_link'] = $GLOBALS['phpgw_info']['navbar']['about']['url']; |
---|
103 | |
---|
104 | if ($GLOBALS['phpgw_info']['flags']['currentapp'] != 'home') |
---|
105 | { |
---|
106 | $var['welcome_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','welcome2'); |
---|
107 | $var['welcome_img_hover'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','welcome2','_over'); |
---|
108 | } |
---|
109 | else |
---|
110 | { |
---|
111 | $var['welcome_img'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','welcome2','_over'); |
---|
112 | $var['welcome_img_hover'] = $GLOBALS['phpgw']->common->image('phpgwapi','welcome2'); |
---|
113 | } |
---|
114 | |
---|
115 | if ($GLOBALS['phpgw_info']['flags']['currentapp'] != 'preferences') |
---|
116 | { |
---|
117 | $var['preferences_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','preferences2'); |
---|
118 | $var['preferences_img_hover'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','preferences2','_over'); |
---|
119 | } |
---|
120 | else |
---|
121 | { |
---|
122 | $var['preferences_img'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','preferences2','_over'); |
---|
123 | $var['preferences_img_hover'] = $GLOBALS['phpgw']->common->image('phpgwapi','preferences2'); |
---|
124 | } |
---|
125 | |
---|
126 | $var['logout_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','log_out2'); |
---|
127 | $var['logout_img_hover'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','log_out2','_over'); |
---|
128 | |
---|
129 | if ($GLOBALS['phpgw_info']['flags']['currentapp'] != 'about') |
---|
130 | { |
---|
131 | $var['about_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','question_mark2'); |
---|
132 | $var['about_img_hover'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','question_mark2','_over'); |
---|
133 | } |
---|
134 | else |
---|
135 | { |
---|
136 | $var['about_img'] = $GLOBALS['phpgw']->common->image_on('phpgwapi','question_mark2','_over'); |
---|
137 | $var['about_img_hover'] = $GLOBALS['phpgw']->common->image('phpgwapi','question_mark2'); |
---|
138 | } |
---|
139 | |
---|
140 | $var['content_spacer_middle_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','content_spacer_middle'); |
---|
141 | $var['em_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','em'); |
---|
142 | $var['top_spacer_middle_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','top_spacer_middle'); |
---|
143 | $var['nav_bar_left_spacer_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','nav_bar_left_spacer'); |
---|
144 | $var['nav_bar_left_top_bg_img'] = $GLOBALS['phpgw']->common->image('phpgwapi','nav_bar_left_top_bg'); |
---|
145 | |
---|
146 | // "powered_by_color" and "_size" are is also used by number of current users thing |
---|
147 | $var['powered_by_size'] = '2'; |
---|
148 | $var['powered_by_color'] = '#ffffff'; |
---|
149 | if ($GLOBALS['phpgw_info']['server']['showpoweredbyon'] == 'top') |
---|
150 | { |
---|
151 | $var['powered_by'] = lang('Powered by phpGroupWare version %1',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']); |
---|
152 | } |
---|
153 | else |
---|
154 | { |
---|
155 | $var['powered_by'] = ''; |
---|
156 | } |
---|
157 | |
---|
158 | if (substr($GLOBALS['phpgw_info']['server']['login_logo_file'],0,4) == 'http') |
---|
159 | { |
---|
160 | $var['logo_file'] = $GLOBALS['phpgw_info']['server']['login_logo_file']; |
---|
161 | } |
---|
162 | else |
---|
163 | { |
---|
164 | $var['logo_file'] = $GLOBALS['phpgw']->common->image('phpgwapi',$GLOBALS['phpgw_info']['server']['login_logo_file']?$GLOBALS['phpgw_info']['server']['login_logo_file']:'logo'); |
---|
165 | } |
---|
166 | $var['logo_url'] = $GLOBALS['phpgw_info']['server']['login_logo_url']?$GLOBALS['phpgw_info']['server']['login_logo_url']:'http://www.eGroupWare.org'; |
---|
167 | if (substr($var['logo_url'],0,4) != 'http') |
---|
168 | { |
---|
169 | $var['logo_url'] = 'http://'.$var['logo_url']; |
---|
170 | } |
---|
171 | $var['logo_title'] = $GLOBALS['phpgw_info']['server']['login_logo_title']?$GLOBALS['phpgw_info']['server']['login_logo_title']:'www.eGroupWare.org'; |
---|
172 | |
---|
173 | $tpl->set_var($var); |
---|
174 | |
---|
175 | if (isset($GLOBALS['phpgw_info']['navbar']['admin']) && $GLOBALS['phpgw_info']['user']['preferences']['common']['show_currentusers']) |
---|
176 | { |
---|
177 | $var['current_users'] = '<a href="' . $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions') |
---|
178 | . '"> ' . lang('Current users') . ': ' . $GLOBALS['phpgw']->session->total() . '</a>'; |
---|
179 | $tpl->set_var($var); |
---|
180 | } |
---|
181 | else |
---|
182 | { |
---|
183 | $var['current_users'] = ''; |
---|
184 | $tpl->set_var($var); |
---|
185 | } |
---|
186 | |
---|
187 | $var['user_info_name'] = $GLOBALS['phpgw']->common->display_fullname(); |
---|
188 | $now = time(); |
---|
189 | $var['user_info_date'] = |
---|
190 | lang($GLOBALS['phpgw']->common->show_date($now,'l')) . ' ' |
---|
191 | . $GLOBALS['phpgw']->common->show_date($now,$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']); |
---|
192 | $var['user_info'] = $var['user_info_name'] .' - ' .$var['user_info_date']; |
---|
193 | $var['user_info_size'] = '2'; |
---|
194 | $var['user_info_color'] = '#000000'; |
---|
195 | |
---|
196 | // Maybe we should create a common function in the phpgw_accounts_shared.inc.php file |
---|
197 | // to get rid of duplicate code. |
---|
198 | if ($GLOBALS['phpgw_info']['user']['lastpasswd_change'] == 0) |
---|
199 | { |
---|
200 | $api_messages = lang('You are required to change your password during your first login') |
---|
201 | . '<br> Click this image on the navbar: <img src="' |
---|
202 | . $GLOBALS['phpgw']->common->image('preferences','navbar.gif').'">'; |
---|
203 | } |
---|
204 | elseif ($GLOBALS['phpgw_info']['user']['lastpasswd_change'] < time() - (86400*30)) |
---|
205 | { |
---|
206 | $api_messages = lang('it has been more then %1 days since you changed your password',30); |
---|
207 | } |
---|
208 | |
---|
209 | // This is gonna change |
---|
210 | if (isset($cd)) |
---|
211 | { |
---|
212 | $var['messages'] = $api_messages . '<br>' . checkcode($cd); |
---|
213 | } |
---|
214 | |
---|
215 | $var['th_bg'] = $GLOBALS['phpgw_info']['theme']['th_bg']; |
---|
216 | if (isset($GLOBALS['phpgw_info']['flags']['app_header'])) |
---|
217 | { |
---|
218 | $var['current_app_header'] = $GLOBALS['phpgw_info']['flags']['app_header']; |
---|
219 | } |
---|
220 | else |
---|
221 | { |
---|
222 | $tpl->set_block('navbar','app_header','app_header'); |
---|
223 | $var['app_header'] = '<br>'; |
---|
224 | } |
---|
225 | |
---|
226 | $tpl->set_var($var); |
---|
227 | // check if user is allowed to change his prefs |
---|
228 | if ($GLOBALS['phpgw_info']['user']['apps']['preferences']) |
---|
229 | { |
---|
230 | $tpl->parse('preferences_icon','preferences'); |
---|
231 | } |
---|
232 | else |
---|
233 | { |
---|
234 | $tpl->set_var('preferences_icon',''); |
---|
235 | } |
---|
236 | $tpl->pfp('out','navbar'); |
---|
237 | // If the application has a header include, we now include it |
---|
238 | if (!@$GLOBALS['phpgw_info']['flags']['noappheader'] && @isset($_GET['menuaction'])) |
---|
239 | { |
---|
240 | list($app,$class,$method) = explode('.',$_GET['menuaction']); |
---|
241 | if (is_array($GLOBALS[$class]->public_functions) && $GLOBALS[$class]->public_functions['header']) |
---|
242 | { |
---|
243 | $GLOBALS[$class]->header(); |
---|
244 | } |
---|
245 | } |
---|
246 | $GLOBALS['phpgw']->hooks->process('after_navbar'); |
---|
247 | return; |
---|
248 | } |
---|
249 | |
---|
250 | function parse_navbar_end() |
---|
251 | { |
---|
252 | $tpl = CreateObject('phpgwapi.Template',PHPGW_TEMPLATE_DIR); |
---|
253 | $tpl->set_unknowns('remove'); |
---|
254 | |
---|
255 | $tpl->set_file(array('footer' => 'footer.tpl')); |
---|
256 | $tpl->set_block('footer','B_powered_bottom','V_powered_bottom'); |
---|
257 | |
---|
258 | if ($GLOBALS['phpgw_info']['server']['showpoweredbyon'] == 'bottom') |
---|
259 | { |
---|
260 | $var = Array( |
---|
261 | 'powered' => lang('Powered by phpGroupWare version %1', $GLOBALS['phpgw_info']['server']['versions']['phpgwapi']), |
---|
262 | 'img_root' => PHPGW_IMAGES_DIR, |
---|
263 | 'power_backcolor' => $GLOBALS['phpgw_info']['theme']['navbar_bg'], |
---|
264 | 'power_textcolor' => $GLOBALS['phpgw_info']['theme']['navbar_text'] |
---|
265 | // 'version' => $GLOBALS['phpgw_info']['server']['versions']['phpgwapi'] |
---|
266 | ); |
---|
267 | $tpl->set_var($var); |
---|
268 | $tpl->parse('V_powered_bottom','B_powered_bottom'); |
---|
269 | } |
---|
270 | else |
---|
271 | { |
---|
272 | $tpl->set_var('V_powered_bottom',''); |
---|
273 | } |
---|
274 | |
---|
275 | $GLOBALS['phpgw']->hooks->process('navbar_end'); |
---|
276 | $tpl->pfp('out','footer'); |
---|
277 | } |
---|