source: sandbox/expresso/novos_templates/phpgwapi/templates/fozi/navbar.inc.php @ 774

Revision 774, 18.9 KB checked in by niltonneto, 15 years ago (diff)

Resolve #475

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