307 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			307 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| // +-----------------------------------------------------------------------+
 | |
| // | Piwigo - a PHP based picture gallery                                  |
 | |
| // +-----------------------------------------------------------------------+
 | |
| // | Copyright(C) 2008-2009 Piwigo Team                  http://piwigo.org |
 | |
| // | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
 | |
| // | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
 | |
| // +-----------------------------------------------------------------------+
 | |
| // | This program is free software; you can redistribute it and/or modify  |
 | |
| // | it under the terms of the GNU General Public License as published by  |
 | |
| // | the Free Software Foundation                                          |
 | |
| // |                                                                       |
 | |
| // | This program is distributed in the hope that it will be useful, but   |
 | |
| // | WITHOUT ANY WARRANTY; without even the implied warranty of            |
 | |
| // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
 | |
| // | General Public License for more details.                              |
 | |
| // |                                                                       |
 | |
| // | You should have received a copy of the GNU General Public License     |
 | |
| // | along with this program; if not, write to the Free Software           |
 | |
| // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
 | |
| // | USA.                                                                  |
 | |
| // +-----------------------------------------------------------------------+
 | |
| 
 | |
| /**
 | |
|  * This file is included by the main page to show the menu bar
 | |
|  *
 | |
|  */
 | |
| 
 | |
| include_once(PHPWG_ROOT_PATH.'include/block.class.php');
 | |
| 
 | |
| initialize_menu();
 | |
| 
 | |
| function initialize_menu()
 | |
| {
 | |
|   global $page, $conf, $user, $template, $filter;
 | |
| 
 | |
|   $menu = new BlockManager("menubar");
 | |
|   $menu->load_registered_blocks();
 | |
|   $menu->prepare_display();
 | |
| 
 | |
| //--------------------------------------------------------------- external links
 | |
|   if ( ($block=$menu->get_block('mbLinks')) and !empty($conf['links']) )
 | |
|   {
 | |
|     $data = array();
 | |
|     foreach ($conf['links'] as $url => $url_data)
 | |
|     {
 | |
|       if (!is_array($url_data))
 | |
|       {
 | |
|         $url_data = array('label' => $url_data);
 | |
|       }
 | |
| 
 | |
|       if
 | |
|         (
 | |
|           (!isset($url_data['eval_visible']))
 | |
|           or
 | |
|           (eval($url_data['eval_visible']))
 | |
|         )
 | |
|       {
 | |
|         $tpl_var = array(
 | |
|             'URL' => $url,
 | |
|             'LABEL' => $url_data['label']
 | |
|           );
 | |
| 
 | |
|         if (!isset($url_data['new_window']) or $url_data['new_window'])
 | |
|         {
 | |
|           $tpl_var['new_window'] =
 | |
|             array(
 | |
|               'NAME' => (isset($url_data['nw_name']) ? $url_data['nw_name'] : ''),
 | |
|               'FEATURES' => (isset($url_data['nw_features']) ? $url_data['nw_features'] : '')
 | |
|             );
 | |
|         }
 | |
|         $data[] = $tpl_var;
 | |
|       }
 | |
|     }
 | |
|     $block->template = 'menubar_links.tpl';
 | |
|     $block->data = $data;
 | |
|   }
 | |
| 
 | |
| //-------------------------------------------------------------- categories
 | |
|   $block = $menu->get_block('mbCategories');
 | |
| //------------------------------------------------------------------------ filter
 | |
|   if (!empty($conf['filter_pages']) and get_filter_page_value('used'))
 | |
|   {
 | |
|     if ($filter['enabled'])
 | |
|     {
 | |
|       $template->assign(
 | |
|         'U_STOP_FILTER',
 | |
|         add_url_params(make_index_url(array()), array('filter' => 'stop'))
 | |
|         );
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|       $template->assign(
 | |
|         'U_START_FILTER',
 | |
|         add_url_params(make_index_url(array()), array('filter' => 'start-recent-'.$user['recent_period']))
 | |
|         );
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if ( $block!=null )
 | |
|   {
 | |
|     $block->data = array(
 | |
|       'NB_PICTURE' => $user['nb_total_images'],
 | |
|       'MENU_CATEGORIES_CONTENT' => get_categories_menu(),
 | |
|       'U_CATEGORIES' => make_index_url(array('section' => 'categories')),
 | |
|       'U_UPLOAD' => get_upload_menu_link()
 | |
|     );
 | |
|     $block->template = 'menubar_categories.tpl';
 | |
|   }
 | |
| 
 | |
| //------------------------------------------------------------------------ tags
 | |
|   $block = $menu->get_block('mbTags');
 | |
|   if ( $block!=null and 'tags'==@$page['section'] and !empty($page['items']) )
 | |
|   {
 | |
|     $tags = get_common_tags($page['items'],
 | |
|           $conf['menubar_tag_cloud_items_number'], $page['tag_ids']);
 | |
|     $tags = add_level_to_tags($tags);
 | |
| 
 | |
|     foreach ($tags as $tag)
 | |
|     {
 | |
|       $block->data[] =
 | |
|         array_merge( $tag,
 | |
|           array(
 | |
|             'URL' => make_index_url(
 | |
|               array(
 | |
|                 'tags' => array($tag)
 | |
|                 )
 | |
|               ),
 | |
|             'U_ADD' => make_index_url(
 | |
|                   array(
 | |
|                     'tags' => array_merge(
 | |
|                       $page['tags'],
 | |
|                       array($tag)
 | |
|                       )
 | |
|                     )
 | |
|                   ),
 | |
|             )
 | |
|         );
 | |
|     }
 | |
|     $block->template = 'menubar_tags.tpl';
 | |
|   }
 | |
| 
 | |
| //----------------------------------------------------------- special categories
 | |
|   if ( ($block = $menu->get_block('mbSpecials')) != null )
 | |
|   {
 | |
|     if ( !is_a_guest() )
 | |
|     {// favorites
 | |
|       $block->data['favorites'] =
 | |
|         array(
 | |
|           'URL' => make_index_url(array('section' => 'favorites')),
 | |
|           'TITLE' => l10n('favorite_cat_hint'),
 | |
|           'NAME' => l10n('favorite_cat')
 | |
|           );
 | |
|     }
 | |
| 
 | |
|     $block->data['most_visited'] =
 | |
|       array(
 | |
|         'URL' => make_index_url(array('section' => 'most_visited')),
 | |
|         'TITLE' => l10n('most_visited_cat_hint'),
 | |
|         'NAME' => l10n('most_visited_cat')
 | |
|       );
 | |
| 
 | |
|     if ($conf['rate'])
 | |
|     {
 | |
|        $block->data['best_rated'] =
 | |
|         array(
 | |
|           'URL' => make_index_url(array('section' => 'best_rated')),
 | |
|           'TITLE' => l10n('best_rated_cat_hint'),
 | |
|           'NAME' => l10n('best_rated_cat')
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     $block->data['random'] =
 | |
|       array(
 | |
|         'URL' => get_root_url().'random.php',
 | |
|         'TITLE' => l10n('random_cat_hint'),
 | |
|         'NAME' => l10n('random_cat'),
 | |
|         'REL'=> 'rel="nofollow"'
 | |
|       );
 | |
| 
 | |
|     $block->data['recent_pics'] =
 | |
|       array(
 | |
|         'URL' => make_index_url(array('section' => 'recent_pics')),
 | |
|         'TITLE' => l10n('recent_pics_cat_hint'),
 | |
|         'NAME' => l10n('recent_pics_cat'),
 | |
|       );
 | |
| 
 | |
|     $block->data['recent_cats'] =
 | |
|       array(
 | |
|         'URL' => make_index_url(array('section' => 'recent_cats')),
 | |
|         'TITLE' => l10n('recent_cats_cat_hint'),
 | |
|         'NAME' => l10n('recent_cats_cat'),
 | |
|       );
 | |
| 
 | |
| 
 | |
|     $block->data['calendar'] =
 | |
|       array(
 | |
|         'URL' =>
 | |
|           make_index_url(
 | |
|             array(
 | |
|               'chronology_field' => ($conf['calendar_datefield']=='date_available'
 | |
|                                       ? 'posted' : 'created'),
 | |
|                'chronology_style'=> 'monthly',
 | |
|                'chronology_view' => 'calendar'
 | |
|             )
 | |
|           ),
 | |
|         'TITLE' => l10n('calendar_hint'),
 | |
|         'NAME' => l10n('calendar'),
 | |
|         'REL'=> 'rel="nofollow"'
 | |
|       );
 | |
|     $block->template = 'menubar_specials.tpl';
 | |
|   }
 | |
| 
 | |
| 
 | |
| //---------------------------------------------------------------------- summary
 | |
|   if ( ($block=$menu->get_block('mbMenu')) != null )
 | |
|   {
 | |
|     // quick search block will be displayed only if data['qsearch'] is set
 | |
|     // to "yes"
 | |
|     $block->data['qsearch']=true;
 | |
| 
 | |
|     // tags link
 | |
|     $block->data['tags'] =
 | |
|       array(
 | |
|         'TITLE' => l10n('See available tags'),
 | |
|         'NAME' => l10n('Tags'),
 | |
|         'URL'=> get_root_url().'tags.php',
 | |
|       );
 | |
| 
 | |
|     // search link
 | |
|     $block->data['search'] =
 | |
|       array(
 | |
|         'TITLE'=>l10n('hint_search'),
 | |
|         'NAME'=>l10n('Search'),
 | |
|         'URL'=> get_root_url().'search.php',
 | |
|         'REL'=> 'rel="search"'
 | |
|       );
 | |
| 
 | |
|     // comments link
 | |
|     $block->data['comments'] =
 | |
|       array(
 | |
|         'TITLE'=>l10n('hint_comments'),
 | |
|         'NAME'=>l10n('comments'),
 | |
|         'URL'=> get_root_url().'comments.php',
 | |
|       );
 | |
| 
 | |
|     // about link
 | |
|     $block->data['about'] =
 | |
|       array(
 | |
|         'TITLE'     => l10n('about_page_title'),
 | |
|         'NAME'      => l10n('About'),
 | |
|         'URL' => get_root_url().'about.php',
 | |
|       );
 | |
| 
 | |
|     // notification
 | |
|     $block->data['rss'] =
 | |
|       array(
 | |
|         'TITLE'=>l10n('RSS feed'),
 | |
|         'NAME'=>l10n('Notification'),
 | |
|         'URL'=> get_root_url().'notification.php',
 | |
|         'REL'=> 'rel="nofollow"'
 | |
|       );
 | |
|     $block->template = 'menubar_menu.tpl';
 | |
|   }
 | |
| 
 | |
| 
 | |
| //--------------------------------------------------------------- identification
 | |
|   if (is_a_guest())
 | |
|   {
 | |
|     $template->assign(
 | |
|         array(
 | |
|           'U_LOGIN' => get_root_url().'identification.php',
 | |
|           'U_LOST_PASSWORD' => get_root_url().'password.php',
 | |
|           'AUTHORIZE_REMEMBERING' => $conf['authorize_remembering']
 | |
|         )
 | |
|       );
 | |
|     if ($conf['allow_user_registration'])
 | |
|     {
 | |
|       $template->assign( 'U_REGISTER', get_root_url().'register.php');
 | |
|     }
 | |
|   }
 | |
|   else
 | |
|   {
 | |
|     $template->assign('USERNAME', $user['username']);
 | |
|     if (is_autorize_status(ACCESS_CLASSIC))
 | |
|     {
 | |
|       $template->assign('U_PROFILE', get_root_url().'profile.php');
 | |
|     }
 | |
| 
 | |
|     // the logout link has no meaning with Apache authentication : it is not
 | |
|     // possible to logout with this kind of authentication.
 | |
|     if (!$conf['apache_authentication'])
 | |
|     {
 | |
|       $template->assign('U_LOGOUT', get_root_url().'?act=logout');
 | |
|     }
 | |
|     if (is_admin())
 | |
|     {
 | |
|       $template->assign('U_ADMIN', get_root_url().'admin.php');
 | |
|     }
 | |
|   }
 | |
|   if ( ($block=$menu->get_block('mbIdentification')) != null )
 | |
|   {
 | |
|     $block->template = 'menubar_identification.tpl';
 | |
|   }
 | |
|   $menu->apply('MENUBAR',  'menubar.tpl' );
 | |
| }
 | |
| ?>
 | 
