Changeset 2229:d5e819e27bea for inc/admin/prepend.php
- Timestamp:
- 10/03/13 15:17:58 (12 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inc/admin/prepend.php
r2159 r2229 21 21 // HTTP/1.0 22 22 header("Pragma: no-cache"); 23 24 function dc_valid_fav($url) {25 global $core;26 27 if (preg_match('#plugin\.php\?p=([^&]+)#',$url,$matches)) {28 if (isset($matches[1])) {29 if (!$core->plugins->moduleExists($matches[1])) {30 return false;31 }32 }33 }34 return true;35 }36 37 function dc_check_active($url) {38 $u = explode('?',$url,2);39 if (!preg_match('/'.preg_quote($u[0],"/").'/',$_SERVER['REQUEST_URI'])) {40 return false;41 }42 if (count($u) == 2) {43 parse_str($u[1],$p);44 foreach ($p as $k => $v) {45 if (!isset($_REQUEST[$k]) || $_REQUEST[$k] !== $v) {46 return false;47 }48 }49 }50 return true;51 }52 53 23 54 24 function dc_load_locales() { … … 230 200 $user_ui_nofavmenu = $core->auth->user_prefs->interface->nofavmenu; 231 201 232 # Standard favorites233 $_fav = new ArrayObject(); 202 $core->favs = new dcFavorites($core); 203 234 204 235 205 # [] : Title, URL, small icon, large icon, permissions, id, class 236 206 # NB : '*' in permissions means any, null means super admin only 237 207 238 $_fav['prefs'] = new ArrayObject(array('prefs','My preferences','preferences.php',239 'images/menu/user-pref.png','images/menu/user-pref-b.png',240 '*',null,null));241 242 $_fav['new_post'] = new ArrayObject(array('new_post','New entry','post.php',243 'images/menu/edit.png','images/menu/edit-b.png',244 'usage,contentadmin',null,'menu-new-post'));245 $_fav['posts'] = new ArrayObject(array('posts','Entries','posts.php',246 'images/menu/entries.png','images/menu/entries-b.png',247 'usage,contentadmin',null,null));248 $_fav['comments'] = new ArrayObject(array('comments','Comments','comments.php',249 'images/menu/comments.png','images/menu/comments-b.png',250 'usage,contentadmin',null,null));251 $_fav['search'] = new ArrayObject(array('search','Search','search.php',252 'images/menu/search.png','images/menu/search-b.png',253 'usage,contentadmin',null,null));254 $_fav['categories'] = new ArrayObject(array('categories','Categories','categories.php',255 'images/menu/categories.png','images/menu/categories-b.png',256 'categories',null,null));257 $_fav['media'] = new ArrayObject(array('media','Media manager','media.php',258 'images/menu/media.png','images/menu/media-b.png',259 'media,media_admin',null,null));260 $_fav['blog_pref'] = new ArrayObject(array('blog_pref','Blog settings','blog_pref.php',261 'images/menu/blog-pref.png','images/menu/blog-pref-b.png',262 'admin',null,null));263 $_fav['blog_theme'] = new ArrayObject(array('blog_theme','Blog appearance','blog_theme.php',264 'images/menu/themes.png','images/menu/blog-theme-b.png',265 'admin',null,null));266 267 $_fav['blogs'] = new ArrayObject(array('blogs','Blogs','blogs.php',268 'images/menu/blogs.png','images/menu/blogs-b.png',269 'usage,contentadmin',null,null));270 $_fav['users'] = new ArrayObject(array('users','Users','users.php',271 'images/menu/users.png','images/menu/users-b.png',272 null,null,null));273 $_fav['plugins'] = new ArrayObject(array('plugins','Plugins management','plugins.php',274 'images/menu/plugins.png','images/menu/plugins-b.png',275 null,null,null));276 $_fav['langs'] = new ArrayObject(array('langs','Languages','langs.php',277 'images/menu/langs.png','images/menu/langs-b.png',278 null,null,null));279 280 $_fav['help'] = new ArrayObject(array('help','Global help','help.php',281 'images/menu/help.png','images/menu/help-b.png',282 '*',null,null));283 208 284 209 # Menus creation 210 $_menu = new ArrayObject(); 285 211 $_menu['Dashboard'] = new dcMenu('dashboard-menu',null); 286 if (!$user_ui_nofavmenu) 287 $_menu['Favorites'] = new dcMenu('favorites-menu','My favorites'); 212 if (!$user_ui_nofavmenu) { 213 $core->favs->appendMenuTitle($_menu); 214 } 288 215 $_menu['Blog'] = new dcMenu('blog-menu','Blog'); 289 216 $_menu['System'] = new dcMenu('system-menu','System'); 290 217 $_menu['Plugins'] = new dcMenu('plugins-menu','Plugins'); 291 292 218 # Loading plugins 293 219 $core->plugins->loadModules(DC_PLUGINS_ROOT,'admin',$_lang); 294 295 # Loading favorites info from plugins 296 $core->callBehavior('adminDashboardFavs', $core, $_fav); 220 $core->favs->setup(); 221 222 if (!$user_ui_nofavmenu) { 223 $core->favs->appendMenu($_menu); 224 } 225 297 226 298 227 # Set menu titles … … 301 230 $_menu['Blog']->title = __('Blog'); 302 231 $_menu['Plugins']->title = __('Plugins'); 303 if (!$user_ui_nofavmenu) 304 $_menu['Favorites']->title = __('My favorites'); 232 305 233 306 234 /* … … 352 280 $core->auth->isSuperAdmin() || 353 281 $core->auth->check('usage,contentadmin',$core->blog->id) && $core->auth->getBlogCount() > 1); 354 355 if (!$user_ui_nofavmenu) {356 // Set favorites menu357 $ws = $core->auth->user_prefs->addWorkspace('favorites');358 $count = 0;359 foreach ($ws->dumpPrefs() as $k => $v) {360 // User favorites only361 if (!$v['global']) {362 $fav = unserialize($v['value']);363 if (dc_valid_fav($fav['url'])) {364 $count++;365 $_menu['Favorites']->addItem(__($fav['title']),$fav['url'],$fav['small-icon'],366 dc_check_active($fav['url']),367 (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)),$fav['id'],$fav['class']);368 }369 }370 }371 if (!$count) {372 // Global favorites if any373 foreach ($ws->dumpPrefs() as $k => $v) {374 $fav = unserialize($v['value']);375 if (dc_valid_fav($fav['url'])) {376 $count++;377 $_menu['Favorites']->addItem(__($fav['title']),$fav['url'],$fav['small-icon'],378 dc_check_active($fav['url']),379 (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)),$fav['id'],$fav['class']);380 }381 }382 }383 if (!$count) {384 // No user or global favorites, add "new entry" fav385 $_menu['Favorites']->addItem(__('New entry'),'post.php','images/menu/edit.png',386 preg_match('/post.php$/',$_SERVER['REQUEST_URI']),387 $core->auth->check('usage,contentadmin',$core->blog->id),'menu-new-post',null);388 }389 }390 282 391 283 if (empty($core->blog->settings->system->jquery_migrate_mute)) {
Note: See TracChangeset
for help on using the changeset viewer.