source: trunk/admin.php @ 2299

Last change on this file since 2299 was 2299, checked in by plg, 16 years ago

Bug fixed: as rvelices notified me by email, my header replacement script was
bugged (r2297 was repeating new and old header).

By the way, I've also removed the replacement keywords. We were using them
because it was a common usage with CVS but it is advised not to use them with
Subversion. Personnaly, it is a problem when I search differences between 2
Piwigo installations outside Subversion.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 6.6 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//----------------------------------------------------------- include
25define('PHPWG_ROOT_PATH','./');
26define('IN_ADMIN', true);
27include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
28
29include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
30include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php');
31
32// +-----------------------------------------------------------------------+
33// | Check Access and exit when user status is not ok                      |
34// +-----------------------------------------------------------------------+
35check_status(ACCESS_ADMINISTRATOR);
36
37// +-----------------------------------------------------------------------+
38// |                    synchronize user informations                      |
39// +-----------------------------------------------------------------------+
40
41sync_users();
42
43// +-----------------------------------------------------------------------+
44// |                            variables init                             |
45// +-----------------------------------------------------------------------+
46
47if (isset($_GET['page'])
48    and preg_match('/^[a-z_]*$/', $_GET['page'])
49    and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
50{
51  $page['page'] = $_GET['page'];
52}
53else
54{
55  $page['page'] = 'intro';
56}
57
58$page['errors'] = array();
59$page['infos']  = array();
60
61$link_start = PHPWG_ROOT_PATH.'admin.php?page=';
62$conf_link = $link_start.'configuration&amp;section=';
63//----------------------------------------------------- template initialization
64$title = l10n('PhpWebGallery Administration'); // for include/page_header.php
65$page['page_banner'] = '<h1>'.l10n('PhpWebGallery Administration').'</h1>';
66$page['body_id'] = 'theAdminPage';
67
68$template->set_filenames(array('admin' => 'admin.tpl'));
69
70$template->assign(
71  array(
72    'U_SITE_MANAGER'=> $link_start.'site_manager',
73    'U_HISTORY_STAT'=> $link_start.'stats',
74    'U_FAQ'=> $link_start.'help',
75    'U_SITES'=> $link_start.'remote_site',
76    'U_MAINTENANCE'=> $link_start.'maintenance',
77    'U_NOTIFICATION_BY_MAIL'=> $link_start.'notification_by_mail',
78    'U_ADVANCED_FEATURE'=> $link_start.'advanced_feature',
79    'U_CONFIG_GENERAL'=> $link_start.'configuration',
80    'U_CONFIG_DISPLAY'=> $conf_link.'default',
81    'U_CATEGORIES'=> $link_start.'cat_list',
82    'U_MOVE'=> $link_start.'cat_move',
83    'U_CAT_OPTIONS'=> $link_start.'cat_options',
84    'U_CAT_UPDATE'=> $link_start.'site_update&amp;site=1',
85    'U_WAITING'=> $link_start.'comments',
86    'U_RATING'=> $link_start.'rating',
87    'U_CADDIE'=> $link_start.'element_set&amp;cat=caddie',
88    'U_TAGS'=> $link_start.'tags',
89    'U_THUMBNAILS'=> $link_start.'thumbnail',
90    'U_USERS'=> $link_start.'user_list',
91    'U_GROUPS'=> $link_start.'group_list',
92    'U_PERMALINKS'=> $link_start.'permalinks',
93    'U_RETURN'=> make_index_url(),
94    'U_ADMIN'=> PHPWG_ROOT_PATH.'admin.php'
95    )
96  );
97if ($conf['ws_access_control']) // Do we need to display ws_checker
98{
99  $template->assign('U_WS_CHECKER', $link_start.'ws_checker' );
100}
101
102//---------------------------------------------------------------- plugin menus
103$plugin_menu_links = trigger_event('get_admin_plugin_menu_links', array() );
104
105function UC_name_compare($a, $b)
106{
107  return strcmp(strtolower($a['NAME']), strtolower($b['NAME']));
108}
109usort($plugin_menu_links, 'UC_name_compare');
110
111array_unshift($plugin_menu_links,
112    array(
113      'NAME' => l10n('admin'),
114      'URL' => $link_start.'plugins_list'
115    )
116  );
117
118$template->assign('plugin_menu_items', $plugin_menu_links);
119
120include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
121
122//------------------------------------------------------------- content display
123
124// +-----------------------------------------------------------------------+
125// |                            errors & infos                             |
126// +-----------------------------------------------------------------------+
127
128if (count($page['errors']) != 0)
129{
130  $template->assign('errors', $page['errors']);
131}
132
133if (count($page['infos']) != 0)
134{
135  $template->assign('infos', $page['infos']);
136}
137
138include(PHPWG_ROOT_PATH.'include/page_header.php');
139$template->pparse('admin');
140
141// +-----------------------------------------------------------------------+
142// |                     order permission refreshment                      |
143// +-----------------------------------------------------------------------+
144// Only for pages witch change permissions
145if (
146    in_array($page['page'],
147      array(
148        'site_manager', // delete site
149        'site_update',  // ?only POST
150        'cat_list',     // delete cat
151        'cat_modify',   // delete cat; public/private; lock/unlock
152        'cat_move',     // ?only POST
153        'cat_options',  // ?only POST; public/private; lock/unlock
154        'cat_perm',     // ?only POST
155        'element_set',  // ?only POST; associate/dissociate
156        'picture_modify', // ?only POST; associate/dissociate
157        'user_list',    // ?only POST; group assoc
158        'user_perm',
159        'group_perm',
160        'group_list',   // delete group
161      )
162    )
163  )
164{
165  invalidate_user_cache();
166}
167
168include(PHPWG_ROOT_PATH.'include/page_tail.php');
169?>
Note: See TracBrowser for help on using the repository browser.