source: trunk/phpgwapi/templates/prisma/navbar.inc.php @ 2

Revision 2, 16.3 KB checked in by niltonneto, 17 years ago (diff)

Removida todas as tags usadas pelo CVS ($Id, $Source).
Primeira versão no CVS externo.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2        /**************************************************************************\
3        * eGroupWare                                                               *
4        * http://www.egroupware.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                $GLOBALS['idots_tpl'] = createobject('phpgwapi.Template',PHPGW_TEMPLATE_DIR);
16
17                $GLOBALS['idots_tpl']->set_file(
18                        array(
19                                'navbar' => 'navbar.tpl'
20                        )
21                );
22
23                $GLOBALS['idots_tpl']->set_block('navbar','navbar_header','navbar_header');
24                $GLOBALS['idots_tpl']->set_block('navbar','extra_blocks_header','extra_block_header');
25                $GLOBALS['idots_tpl']->set_block('navbar','extra_block_row','extra_block_row');
26                $GLOBALS['idots_tpl']->set_block('navbar','extra_block_row_raw','extra_block_row_raw');
27                $GLOBALS['idots_tpl']->set_block('navbar','extra_block_row_no_link','extra_block_row_no_link');
28                $GLOBALS['idots_tpl']->set_block('navbar','extra_block_spacer','extra_block_spacer');
29                $GLOBALS['idots_tpl']->set_block('navbar','extra_blocks_footer','extra_blocks_footer');
30                $GLOBALS['idots_tpl']->set_block('navbar','sidebox_hide_header','sidebox_hide_header');
31                $GLOBALS['idots_tpl']->set_block('navbar','sidebox_hide_footer','sidebox_hide_footer');
32                $GLOBALS['idots_tpl']->set_block('navbar','appbox','appbox');
33                $GLOBALS['idots_tpl']->set_block('navbar','navbar_footer','navbar_footer');
34
35                $var['img_root'] = $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/templates/idots/images';
36                $var['table_bg_color'] = $GLOBALS['phpgw_info']['theme']['navbar_bg'];
37
38                if($GLOBALS['phpgw_info']['user']['preferences']['common']['click_or_onmouseover']=='onmouseover')
39                {
40                        $show_menu_event = 'onMouseOver';
41                }
42                else
43                {
44                        $show_menu_event = 'onClick';
45                }
46
47
48                $applications = '';
49
50                //      == 'icons_and_text')
51
52                $max_icons=$GLOBALS['phpgw_info']['user']['preferences']['common']['max_icons'];
53                if(!$max_icons)
54                {
55                        $max_icons=200;
56                }
57
58                foreach($GLOBALS['phpgw_info']['navbar'] as $app => $app_data)
59                {
60                        if($app != 'preferences' && $app != 'about' && $app != 'logout')
61                        {
62                                $title = $GLOBALS['phpgw_info']['apps'][$app]['title'];
63                                $icon = '<img src="' . $app_data['icon'] . '" alt="' . $title . '" title="'. $title . '" border="0" />';
64
65
66                                if($app=='home')
67                                {
68                                        $title = lang('home');
69                                        $icon = '<img src="' . $app_data['icon'] . '" alt="' . lang('home') . '" title="' . lang('home') . '" border="0" />';
70                                }
71
72                                if($i<$max_icons)
73                                {
74                                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['start_and_logout_icons']=='no')
75                                        {
76                                                $tdwidth = 100/($max_icons);
77                                        }
78                                        else
79                                        {
80                                                $tdwidth = 100/($max_icons+2);
81                                        }
82                                        $tdwidth=round($tdwidth);
83
84                                        $app_icons .= '<td width="'.$tdwidth.'%" height="66" valign="bottom" align="center" style="text-align:center"><a href="' . $app_data['url'] . '"';
85
86                                        if(isset($GLOBALS['phpgw_info']['flags']['navbar_target']) && $GLOBALS['phpgw_info']['flags']['navbar_target'])
87                                        {
88                                                $app_icons .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"';
89                                        }
90
91                                        $app_icons .= $app_data['target'].'>' . $icon . '</a></td>';
92
93                                        $app_titles .= '<td align="center" valign="top" class="appTitles" style="text-align:center"><a href="'.$app_data['url'] . '"';
94
95                                        if(isset($GLOBALS['phpgw_info']['flags']['navbar_target']) && $GLOBALS['phpgw_info']['flags']['navbar_target'])
96                                        {
97                                                $app_titles .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"';
98                                        }
99
100                                        $app_titles .= $app_data['target'].'>' . $title . '</a></td>';
101                                }
102                                //                              else // generate extra icon layer | always shows icons and text
103                                else // generate extra icon layer shows icons and/or text
104                                {
105                                        // check for small icon version else use default and let the browser resize
106                                        $icon = '<img src="' . $app_data['icon'] . '" alt="' . $title . '" width="16" title="'. $title . '" border="0" />';
107                                       
108                                        $app_extra_icons .= '<tr>';
109
110                                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['navbar_format']!='text')
111                                        {
112                                                $app_extra_icons .= '<td class="extraIconsRow"><a href="' . $app_data['url'] . '"';
113
114                                                if(isset($GLOBALS['phpgw_info']['flags']['navbar_target']) && $GLOBALS['phpgw_info']['flags']['navbar_target'])
115                                                {
116                                                        $app_extra_icons .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"';
117                                                }
118
119                                                $app_extra_icons .= ' >' . $icon . '</a></td>';
120                                        }
121
122
123
124                                        //                                      $app_extra_icons .= '<tr><td><a href="' . $app_data['url'] . '"';
125
126                                        //                                      if(isset($GLOBALS['phpgw_info']['flags']['navbar_target']) && $GLOBALS['phpgw_info']['flags']['navbar_target'])
127                                        //                                      {
128                                                //                                              $app_extra_icons .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"';
129                                                //                                      }
130
131                                                //                                      $app_extra_icons .= '>' . $icon . '</a></td>';
132
133                                                $app_extra_icons .= '<td align="left" class="extraIconsRow" style=""><a href="'.$app_data['url'] . '"';
134
135                                                if(isset($GLOBALS['phpgw_info']['flags']['navbar_target']) && $GLOBALS['phpgw_info']['flags']['navbar_target'])
136                                                {
137                                                        $app_extra_icons .= ' target="' . $GLOBALS['phpgw_info']['flags']['navbar_target'] . '"';
138                                                }
139
140                                                $app_extra_icons .= '>' . $title . '</a></td></tr>';
141                                        }
142
143                                        unset($icon);
144                                        unset($title);
145                                        $i++;
146                                }
147                        }
148
149                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['start_and_logout_icons']!='no')
150                        {
151                                $app_icons .= '<td width="'.$tdwidth.'%" height="32" valign="bottom" align="center" style="text-align:center"><a href="'.$GLOBALS['phpgw_info']['navbar']['logout']['url'].'"><img src="'.$GLOBALS['phpgw_info']['navbar']['logout']['icon'].'" title="'.$GLOBALS['phpgw_info']['navbar']['logout']['title'].'" alt="'.$GLOBALS['phpgw_info']['navbar']['logout']['title'].'"></a></td>';
152                                $app_titles .= '<td align="center" valign="top" class="appTitles" style="text-align:center"><a href="'.$GLOBALS['phpgw_info']['navbar']['logout']['url'].'">'.$GLOBALS['phpgw_info']['navbar']['logout']['title'].'</a></td>';
153
154                        }
155//                      $var['app_icons'] = $app_icons;
156                if($GLOBALS['phpgw_info']['user']['preferences']['common']['navbar_format']!='text')
157                {
158                        $var['app_icons'] = $app_icons;
159                }
160
161                        if($i > $max_icons)
162                        {
163// table width=100% fixed layout bug (ndee130204)
164                                $app_extra_icons_div = '
165                                <script language="javascript">
166                                new ypSlideOutMenu("menu1", "down", 10, 114, 160, 200,\'right\')
167                                </script>
168                                <div id="menu1Container">
169                                <div id="menu1Content" style="position: relative; left: 0; text-align: left;">
170
171                                <div id="extraIcons">
172
173                                <table cellspacing="0" cellpadding="0" border="0" width="100%">
174                                <tr><td colspan="2" nowrap="nowrap" align="right" style="background-color:#dddddd;padding:1px;">
175                                <a href="#" '.$show_menu_event.'="ypSlideOutMenu.hide(\'menu1\')" title="'.lang('close').'">
176                                <img style="" border="0" src="'.$var['img_root'].'/close.png"/></a></td></tr>
177                                '.$app_extra_icons.'</table>
178                                </div>
179
180                                </div>
181                                </div>
182                                ';
183
184                                $var['app_extra_icons_div']= $app_extra_icons_div;
185                                //                      $var['app_extra_icons_icon']= '<td width="26" valign="top" align="right" style="padding-right:3px;padding-top:50px;"><a title="'.lang('show_more_apps').'" href="javascript:void(0);" onClick="HideShow(\'extraIcons\');"><img src="'.$var['img_root'].'/extra_icons.png" border="0" /></a></td>';
186                                $var['app_extra_icons_icon']= '<td width="26" valign="top" align="right" style="padding-right:3px;padding-top:50px;"><a title="'.lang('show_more_apps').'" href="#"  '.$show_menu_event.'="ypSlideOutMenu.showMenu(\'menu1\')"><img src="'.$var['img_root'].'/extra_icons.png" border="0" /></a></td>';
187                        }
188
189                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['navbar_format']!='icons')
190                        {
191                                $var['app_titles'] = $app_titles;
192                        }
193                        else
194                        {
195                                $var['app_titles'] = '<td colspan="'.$max_icons.'">&nbsp;</td>';
196                        }
197                        if(isset($GLOBALS['phpgw_info']['flags']['app_header']))
198                        {
199                                $var['current_app_title'] = $GLOBALS['phpgw_info']['flags']['app_header'];
200                        }
201                        else
202                        {
203                                $var['current_app_title']=$GLOBALS['phpgw_info']['navbar'][$GLOBALS['phpgw_info']['flags']['currentapp']]['title'];
204                        }
205
206                        if(isset($GLOBALS['phpgw_info']['navbar']['admin']) && $GLOBALS['phpgw_info']['user']['preferences']['common']['show_currentusers'])
207                        {
208                                $var['current_users'] = '<a href="'
209                                . $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions') . '">'
210                                . lang('Current users') . ': ' . $GLOBALS['phpgw']->session->total() . '</a>';
211                        }
212                        $now = time();
213                        $var['user_info'] = '<b>'.$GLOBALS['phpgw']->common->display_fullname() .'</b>'. ' - '
214                        . lang($GLOBALS['phpgw']->common->show_date($now,'l')) . ' '
215                        . $GLOBALS['phpgw']->common->show_date($now,$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
216
217                        if($GLOBALS['phpgw_info']['user']['lastpasswd_change'] == 0)
218                        {
219                                $api_messages = lang('You are required to change your password during your first login')
220                                . '<br> Click this image on the navbar: <img src="'
221                                . $GLOBALS['phpgw']->common->image('preferences','navbar.gif').'">';
222                        }
223                        elseif($GLOBALS['phpgw_info']['user']['lastpasswd_change'] < time() - (86400*30))
224                        {
225                                $api_messages = lang('it has been more then %1 days since you changed your password',30);
226                        }
227
228                        // This is gonna change
229                        if(isset($cd))
230                        {
231                                $var['messages'] = $api_messages . '<br>' . checkcode($cd);
232                        }
233
234                        if (substr($GLOBALS['phpgw_info']['server']['login_logo_file'],0,4) == 'http')
235                        {
236                                $var['logo_file'] = $GLOBALS['phpgw_info']['server']['login_logo_file'];
237                        }
238                        else
239                        {
240                                $var['logo_file'] = $GLOBALS['phpgw']->common->image('phpgwapi',$GLOBALS['phpgw_info']['server']['login_logo_file']?$GLOBALS['phpgw_info']['server']['login_logo_file']:'logo');
241                        }
242                        $var['logo_url'] = $GLOBALS['phpgw_info']['server']['login_logo_url']?$GLOBALS['phpgw_info']['server']['login_logo_url']:'http://www.eGroupWare.org';
243                        if (substr($var['logo_url'],0,4) != 'http')
244                        {
245                                $var['logo_url'] = 'http://'.$var['logo_url'];
246                        }
247                        $var['logo_title'] = $GLOBALS['phpgw_info']['server']['login_logo_title']?$GLOBALS['phpgw_info']['server']['login_logo_title']:'www.eGroupWare.org';
248
249                        $GLOBALS['idots_tpl']->set_var($var);
250                        $GLOBALS['idots_tpl']->pfp('out','navbar_header');
251
252                        /******************************************************\
253                        * The sidebox menu's                                   *
254                        \******************************************************/
255
256                        $menu_title = lang('General Menu');
257
258                        $file['Home'] = $GLOBALS['phpgw_info']['navbar']['home']['url'];
259                        if($GLOBALS['phpgw_info']['user']['apps']['preferences'])
260                        {
261                                $file['Preferences'] = $GLOBALS['phpgw_info']['navbar']['preferences']['url'];
262                        }
263                        $file += array(
264                                array(
265                                        'text'    => lang('About %1',$GLOBALS['phpgw_info']['apps'][$GLOBALS['phpgw_info']['flags']['currentapp']]['title']),
266                                        'no_lang' => True,
267                                        'link'    => $GLOBALS['phpgw_info']['navbar']['about']['url']
268                                ),
269                                'Logout'=>$GLOBALS['phpgw_info']['navbar']['logout']['url']
270                        );
271
272                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['auto_hide_sidebox']==1)
273                        {
274                                $GLOBALS['idots_tpl']->set_var('show_menu_event',$show_menu_event);
275                                $GLOBALS['idots_tpl']->set_var('lang_show_menu',lang('show menu'));
276                                $GLOBALS['idots_tpl']->pparse('out','sidebox_hide_header');
277
278                                display_sidebox('',$menu_title,$file);
279                                $GLOBALS['phpgw']->hooks->single('sidebox_menu',$GLOBALS['phpgw_info']['flags']['currentapp']);
280
281                                $GLOBALS['idots_tpl']->pparse('out','sidebox_hide_footer');
282
283                                $var['sideboxcolstart']='';
284
285                                $GLOBALS['idots_tpl']->set_var($var);
286                                $GLOBALS['idots_tpl']->pparse('out','appbox');
287                                $var['remove_padding'] = 'style="padding-left:0px;"';
288                                $var['sideboxcolend'] = '';
289                        }
290                        else
291                        {
292                                $var['menu_link'] = '';
293                                $var['sideboxcolstart'] = '<td id="tdSidebox" valign="top">';
294                                $var['remove_padding'] = '';
295                                $GLOBALS['idots_tpl']->set_var($var);
296                                $GLOBALS['idots_tpl']->pparse('out','appbox');
297
298                                display_sidebox('',$menu_title,$file);
299                                $GLOBALS['phpgw']->hooks->single('sidebox_menu',$GLOBALS['phpgw_info']['flags']['currentapp']);
300
301                                $var['sideboxcolend'] = '</td>';
302                        }
303
304                        $GLOBALS['idots_tpl']->set_var($var);
305                        $GLOBALS['idots_tpl']->pparse('out','navbar_footer');
306
307                        // If the application has a header include, we now include it
308                        if(!@$GLOBALS['phpgw_info']['flags']['noappheader'] && @isset($_GET['menuaction']))
309                        {
310                                list($app,$class,$method) = explode('.',$_GET['menuaction']);
311                                if(is_array($GLOBALS[$class]->public_functions) && $GLOBALS[$class]->public_functions['header'])
312                                {
313                                        $GLOBALS[$class]->header();
314                                }
315                        }
316                        $GLOBALS['phpgw']->hooks->process('after_navbar');
317                        return;
318                }
319
320                function display_sidebox($appname,$menu_title,$file)
321                {
322                        if(!$appname || ($appname==$GLOBALS['phpgw_info']['flags']['currentapp'] && $file))
323                        {
324                                $var['lang_title']=$menu_title;//$appname.' '.lang('Menu');
325                                $GLOBALS['idots_tpl']->set_var($var);
326                                $GLOBALS['idots_tpl']->pfp('out','extra_blocks_header');
327
328                                foreach($file as $text => $url)
329                                {
330                                        sidebox_menu_item($url,$text);
331                                }
332
333                                $GLOBALS['idots_tpl']->pparse('out','extra_blocks_footer');
334                        }
335                }
336
337                function sidebox_menu_item($item_link='',$item_text='')
338                {
339                        if($item_text === '_NewLine_' || $item_link === '_NewLine_')
340                        {
341                                $GLOBALS['idots_tpl']->pparse('out','extra_block_spacer');
342                        }
343                        else
344                        {
345                                $var['icon_or_star']='<img src="'.$GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/templates/idots/images'.'/orange-ball.png" width="9" height="9" alt="ball"/>';
346                                $var['target'] = '';
347                                if(is_array($item_link))
348                                {
349                                        if(isset($item_link['icon']))
350                                        {
351                                                $app = isset($item_link['app']) ? $item_link['app'] : $GLOBALS['phpgw_info']['flags']['currentapp'];
352                                                $var['icon_or_star'] = $item_link['icon'] ? '<img style="margin:0px 2px 0px 2px" src="'.$GLOBALS['phpgw']->common->image($app,$item_link['icon']).'"/>' : False;
353                                        }
354                                        $var['lang_item'] = isset($item_link['no_lang']) && $item_link['no_lang'] ? $item_link['text'] : lang($item_link['text']);
355                                        $var['item_link'] = $item_link['link'];
356                                        if ($item_link['target'])
357                                        {
358                                                $var['target'] = ' target="' . $item_link['target'] . '"';
359                                        }
360                                }
361                                else
362                                {
363                                        $var['lang_item'] = ucfirst(lang($item_text));
364
365                                        $buffer_begin = substr($var['lang_item'], 0, 1);
366                                        $buffer_end   = substr($var['lang_item'], 1);
367
368                                        $var['lang_item'] = "<b>" . $buffer_begin . "</b>" . $buffer_end;
369
370                                        $var['item_link'] = $item_link;
371                                }
372                                $GLOBALS['idots_tpl']->set_var($var);
373
374                                $block = 'extra_block_row';
375                                if ($var['item_link'] === False)
376                                {
377                                        $block .= $var['icon_or_star'] === False ? '_raw' : '_no_link';
378                                }
379                                $GLOBALS['idots_tpl']->pparse('out',$block);
380                        }
381                }
382
383                function parse_navbar_end()
384                {
385                        $GLOBALS['idots_tpl'] = createobject('phpgwapi.Template',PHPGW_TEMPLATE_DIR);
386
387                        $GLOBALS['idots_tpl']->set_file(
388                                array(
389                                        'footer' => 'footer.tpl'
390                                )
391                        );
392                        $var = Array(
393                                'img_root'       => $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/templates/idots/images',
394                                'table_bg_color' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
395                                'version'        => $GLOBALS['phpgw_info']['server']['versions']['phpgwapi']
396                        );
397                        $GLOBALS['phpgw']->hooks->process('navbar_end');
398
399                        if($GLOBALS['phpgw_info']['user']['preferences']['common']['show_generation_time'])
400                        {
401                                $mtime = microtime();
402                                $mtime = explode(' ',$mtime);
403                                $mtime = $mtime[1] + $mtime[0];
404                                $tend = $mtime;
405                                $totaltime = ($tend - $GLOBALS['page_start_time']);
406
407                                $var['page_generation_time'] = '<div id="divGenTime"><br/><span>'.lang('Page was generated in %1 seconds',$totaltime).'</span></div>';
408                        }
409
410                        $var['powered_by'] = lang('Powered by eGroupWare version %1',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']);
411                        $var['activate_tooltips'] = '<script src="'.$GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/js/wz_tooltip/wz_tooltip.js" type="text/javascript"></script>';
412                        $GLOBALS['idots_tpl']->set_var($var);
413                        $GLOBALS['idots_tpl']->pfp('out','footer');
414                }
Note: See TracBrowser for help on using the repository browser.