[2] | 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 | } |
---|