source: trunk/phpgwapi/templates/celepar/navbar.inc.php @ 25

Revision 25, 15.8 KB checked in by niltonneto, 17 years ago (diff)

* empty log message *

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