source: trunk/include/menubar.inc.php @ 2425

Last change on this file since 2425 was 2409, checked in by rvelices, 16 years ago
  • remember me cookie security improvement (the time when the cookie was generated is saved and checked in range [now-remember_me_length; now]
  • tags improvements
    • pass to templates all fields in table #tags (handy for plugins such as type tags)
    • fix issue with tag letter when first letter is accentuated (utf-8)
    • tags are sorted on url_name instead of name (accentuated first letter chars are the same as without accent)
    • better use of columns in by letter display mode
  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 8.1 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24/**
25 * This file is included by the main page to show the menu bar
26 *
27 */
28$template->set_filenames(
29  array(
30    'menubar' => 'menubar.tpl',
31    )
32  );
33
34trigger_action('loc_begin_menubar');
35
36$template->assign(
37  array(
38    'NB_PICTURE' => $user['nb_total_images'],
39    'MENU_CATEGORIES_CONTENT' => get_categories_menu(),
40    'U_CATEGORIES' => make_index_url(array('section' => 'categories')),
41    'U_LOST_PASSWORD' => get_root_url().'password.php',
42    'U_UPLOAD' => get_upload_menu_link()
43    )
44  );
45
46//-------------------------------------------------------------- external links
47foreach ($conf['links'] as $url => $url_data)
48{
49  if (!is_array($url_data))
50  {
51    $url_data = array('label' => $url_data);
52  }
53
54  if
55    (
56      (!isset($url_data['eval_visible']))
57      or
58      (eval($url_data['eval_visible']))
59    )
60  {
61    $tpl_var = array(
62        'URL' => $url,
63        'LABEL' => $url_data['label']
64      );
65
66    if (!isset($url_data['new_window']) or $url_data['new_window'])
67    {
68      $tpl_var['new_window'] =
69        array(
70          'NAME' => (isset($url_data['nw_name']) ? $url_data['nw_name'] : ''),
71          'FEATURES' => (isset($url_data['nw_features']) ? $url_data['nw_features'] : '')
72        );
73    }
74    $template->append('links', $tpl_var);
75  }
76}
77
78//------------------------------------------------------------------------ filter
79if (!empty($conf['filter_pages']) and get_filter_page_value('used'))
80{
81  if ($filter['enabled'])
82  {
83    $template->assign(
84      'U_STOP_FILTER',
85      add_url_params(make_index_url(array()), array('filter' => 'stop'))
86      );
87  }
88  else
89  {
90    $template->assign(
91      'U_START_FILTER',
92      add_url_params(make_index_url(array()), array('filter' => 'start-recent-'.$user['recent_period']))
93      );
94  }
95}
96
97//------------------------------------------------------------------------ tags
98if ('tags' == @$page['section'])
99{
100  // display tags associated to currently tagged items, less current tags
101  $tags = array();
102  if ( !empty($page['items']) )
103  {
104    $tags = get_common_tags($page['items'],
105        $conf['menubar_tag_cloud_items_number'], $page['tag_ids']);
106  }
107
108  $tags = add_level_to_tags($tags);
109
110  foreach ($tags as $tag)
111  {
112    $template->append(
113      'related_tags',
114      array_merge( $tag,
115        array(
116          'URL' => make_index_url(
117            array(
118              'tags' => array($tag)
119              )
120            ),
121
122          'U_ADD' => make_index_url(
123                array(
124                  'tags' => array_merge(
125                    $page['tags'],
126                    array($tag)
127                    )
128                  )
129                ),
130          )
131        )
132      );
133  }
134}
135//---------------------------------------------------------- special categories
136// favorites categories
137if ( !is_a_guest() )
138{
139  $template->append(
140    'special_categories',
141    array(
142      'URL' => make_index_url(array('section' => 'favorites')),
143      'TITLE' => l10n('favorite_cat_hint'),
144      'NAME' => l10n('favorite_cat')
145      ));
146}
147// most visited
148$template->append(
149  'special_categories',
150  array(
151    'URL' => make_index_url(array('section' => 'most_visited')),
152    'TITLE' => l10n('most_visited_cat_hint'),
153    'NAME' => l10n('most_visited_cat')
154    ));
155// best rated
156if ($conf['rate'])
157{
158  $template->append(
159    'special_categories',
160    array(
161      'URL' => make_index_url(array('section' => 'best_rated')),
162      'TITLE' => l10n('best_rated_cat_hint'),
163      'NAME' => l10n('best_rated_cat')
164      )
165    );
166}
167// random
168$template->append(
169  'special_categories',
170  array(
171    'URL' => get_root_url().'random.php',
172    'TITLE' => l10n('random_cat_hint'),
173    'NAME' => l10n('random_cat'),
174    'REL'=> 'rel="nofollow"'
175    ));
176
177// recent pics
178$template->append(
179  'special_categories',
180  array(
181    'URL' => make_index_url(array('section' => 'recent_pics')),
182    'TITLE' => l10n('recent_pics_cat_hint'),
183    'NAME' => l10n('recent_pics_cat'),
184    ));
185// recent cats
186$template->append(
187  'special_categories',
188  array(
189    'URL' => make_index_url(array('section' => 'recent_cats')),
190    'TITLE' => l10n('recent_cats_cat_hint'),
191    'NAME' => l10n('recent_cats_cat'),
192    ));
193
194// calendar
195$template->append(
196  'special_categories',
197  array(
198    'URL' =>
199      make_index_url(
200        array(
201          'chronology_field' => ($conf['calendar_datefield']=='date_available'
202                                  ? 'posted' : 'created'),
203           'chronology_style'=> 'monthly',
204           'chronology_view' => 'calendar'
205        )
206      ),
207    'TITLE' => l10n('calendar_hint'),
208    'NAME' => l10n('calendar'),
209    'REL'=> 'rel="nofollow"'
210    )
211  );
212//--------------------------------------------------------------------- summary
213
214if (is_a_guest())
215{
216  $template->assign(
217      array(
218        'U_IDENTIFY' => get_root_url().'identification.php',
219        'AUTHORIZE_REMEMBERING' => $conf['authorize_remembering']
220      )
221    );
222
223  if ($conf['allow_user_registration'])
224  {
225    $template->assign( 'U_REGISTER', get_root_url().'register.php');
226  }
227}
228else
229{
230  $template->assign('USERNAME', $user['username']);
231
232  if (is_autorize_status(ACCESS_CLASSIC))
233  {
234    $template->assign('U_PROFILE', get_root_url().'profile.php');
235  }
236
237  // the logout link has no meaning with Apache authentication : it is not
238  // possible to logout with this kind of authentication.
239  if (!$conf['apache_authentication'])
240  {
241    $template->assign('U_LOGOUT', get_root_url().'?act=logout');
242  }
243
244  if (is_admin())
245  {
246    $template->assign('U_ADMIN', get_root_url().'admin.php');
247  }
248}
249
250// tags link
251$template->append(
252  'summaries',
253  array(
254    'TITLE' => l10n('See available tags'),
255    'NAME' => l10n('Tags'),
256    'U_SUMMARY'=> get_root_url().'tags.php',
257    )
258  );
259
260// search link
261$template->append(
262  'summaries',
263  array(
264    'TITLE'=>l10n('hint_search'),
265    'NAME'=>l10n('Search'),
266    'U_SUMMARY'=> get_root_url().'search.php',
267    'REL'=> 'rel="search"'
268    )
269  );
270
271// comments link
272$template->append(
273  'summaries',
274  array(
275    'TITLE'=>l10n('hint_comments'),
276    'NAME'=>l10n('comments'),
277    'U_SUMMARY'=> get_root_url().'comments.php',
278    )
279  );
280
281// about link
282$template->append(
283  'summaries',
284  array(
285    'TITLE'     => l10n('about_page_title'),
286    'NAME'      => l10n('About'),
287    'U_SUMMARY' => get_root_url().'about.php',
288    )
289  );
290
291// notification
292$template->append(
293  'summaries',
294  array(
295    'TITLE'=>l10n('RSS feed'),
296    'NAME'=>l10n('Notification'),
297    'U_SUMMARY'=> get_root_url().'notification.php',
298    'REL'=> 'rel="nofollow"'
299    )
300  );
301
302trigger_action('loc_end_menubar');
303$template->assign_var_from_handle('MENUBAR', 'menubar');
304
305?>
Note: See TracBrowser for help on using the repository browser.