| [ Index ] |
|
Code source de Serendipity 1.2 |
1 <?php # $Id: serendipity_admin.php 1834 2007-08-09 09:31:16Z garvinhicking $ 2 # Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team) 3 # All rights reserved. See LICENSE file for licensing details 4 5 define('IN_installer', true); 6 define('IN_upgrader', true); 7 define('IN_serendipity', true); 8 define('IN_serendipity_admin', true); 9 include ('serendipity_config.inc.php'); 10 11 header('Content-Type: text/html; charset=' . LANG_CHARSET); 12 13 if (IS_installed === false) { 14 require (S9Y_INCLUDE_PATH . 'include/functions_permalinks.inc.php'); 15 require (S9Y_INCLUDE_PATH . 'include/functions_installer.inc.php'); 16 require (S9Y_INCLUDE_PATH . 'include/functions_config.inc.php'); 17 $css_file = 'serendipity.css.php?serendipity[css_mode]=serendipity_admin.css'; 18 } else { 19 $css_file = serendipity_rewriteURL('serendipity_admin.css'); 20 if (defined('IS_up2date') && IS_up2date === true) { 21 serendipity_plugin_api::hook_event('backend_configure', $serendipity); 22 } 23 } 24 25 if (isset($serendipity['GET']['adminModule']) && $serendipity['GET']['adminModule'] == 'logout') { 26 serendipity_logout(); 27 } else { 28 if (IS_installed === true) { 29 /* Check author token to insure session not hijacked */ 30 if (!isset($_SESSION['author_token']) || !isset($serendipity['COOKIE']['author_token']) || 31 ($_SESSION['author_token'] !== $serendipity['COOKIE']['author_token'])) { 32 $_SESSION['serendipityAuthedUser'] = false; 33 serendipity_session_destroy(); 34 } 35 if (!serendipity_userLoggedIn()) { 36 // Try again to log in, this time with enabled external authentication event hook 37 serendipity_login(true); 38 } 39 } 40 } 41 42 // If we are inside an iframe, halt the script 43 if (serendipity_is_iframe()) { 44 return true; 45 } 46 47 if (isset($serendipity['GET']['no_smarty']) || isset($serendipity['no_smarty'])) { 48 $_SESSION['no_smarty'] = true; 49 } 50 51 $admin_css_file = serendipity_getTemplateFile('admin/pluginmanager.css'); 52 53 if (defined('IS_up2date') && IS_up2date === true && IS_installed === true) { 54 $admin_installed = true; 55 } else { 56 $admin_installed = false; 57 } 58 59 $is_logged_in = serendipity_userLoggedIn(); 60 61 if ($is_logged_in) { 62 $self_info = sprintf(USER_SELF_INFO, $serendipity['serendipityUser'], $serendipity['permissionLevels'][$serendipity['serendipityUserlevel']]); 63 } else { 64 $self_info = ''; 65 } 66 67 if (isset($serendipity['GET']['noBanner']) || isset($serendipity['POST']['noBanner'])) { 68 $no_banner = true; 69 } else { 70 $no_banner = false; 71 } 72 73 if (isset($serendipity['GET']['noSidebar']) || isset($serendipity['POST']['noSidebar'])) { 74 $no_sidebar = true; 75 } else { 76 $no_sidebar = false; 77 } 78 79 $file = ''; 80 if (!isset($serendipity['serendipityPath']) || IS_installed === false || IS_up2date === false ) { 81 $use_installer = true; 82 if (IS_installed === false) { 83 $file = 'include/admin/installer.inc.php'; 84 } elseif ( IS_up2date === false ) { 85 $file = 'include/admin/upgrader.inc.php'; 86 } else { 87 $file = ''; // For register_global, safety 88 } 89 } else { 90 $use_installer = false; 91 } 92 93 $post_action = $serendipity['POST']['action']; 94 95 $main_content = ''; 96 if (!$use_installer && $is_logged_in) { 97 if (!isset($serendipity['GET']['adminModule'])) { 98 $serendipity['GET']['adminModule'] = (isset($serendipity['POST']['adminModule']) ? $serendipity['POST']['adminModule'] : ''); 99 } 100 101 ob_start(); 102 serendipity_checkXSRF(); 103 104 switch($serendipity['GET']['adminModule']) { 105 case 'installer': 106 case 'configuration': 107 if (!serendipity_checkPermission('siteConfiguration') && !serendipity_checkPermission('blogConfiguration')) { 108 break; 109 } 110 111 include S9Y_INCLUDE_PATH . 'include/admin/configuration.inc.php'; 112 break; 113 114 case 'media': 115 case 'images': 116 if (!serendipity_checkPermission('adminImages')) { 117 break; 118 } 119 120 include S9Y_INCLUDE_PATH . 'include/admin/images.inc.php'; 121 break; 122 123 case 'templates': 124 if (!serendipity_checkPermission('adminTemplates')) { 125 break; 126 } 127 128 include S9Y_INCLUDE_PATH . 'include/admin/templates.inc.php'; 129 break; 130 131 case 'plugins': 132 if (!serendipity_checkPermission('adminPlugins')) { 133 break; 134 } 135 136 include S9Y_INCLUDE_PATH . 'include/admin/plugins.inc.php'; 137 break; 138 139 case 'users': 140 if (!serendipity_checkPermission('adminUsers')) { 141 break; 142 } 143 144 include S9Y_INCLUDE_PATH . 'include/admin/users.inc.php'; 145 break; 146 147 case 'groups': 148 if (!serendipity_checkPermission('adminUsersGroups')) { 149 break; 150 } 151 152 include S9Y_INCLUDE_PATH . 'include/admin/groups.inc.php'; 153 break; 154 155 case 'personal': 156 if (!serendipity_checkPermission('personalConfiguration')) { 157 break; 158 } 159 160 include S9Y_INCLUDE_PATH . 'include/admin/personal.inc.php'; 161 break; 162 163 case 'export': 164 if (!serendipity_checkPermission('adminImport')) { 165 break; 166 } 167 168 include S9Y_INCLUDE_PATH . 'include/admin/export.inc.php'; 169 break; 170 171 case 'import': 172 if (!serendipity_checkPermission('adminImport')) { 173 break; 174 } 175 176 include S9Y_INCLUDE_PATH . 'include/admin/import.inc.php'; 177 break; 178 179 case 'entries': 180 if (!serendipity_checkPermission('adminEntries')) { 181 break; 182 } 183 184 include S9Y_INCLUDE_PATH . 'include/admin/entries.inc.php'; 185 break; 186 187 case 'comments': 188 if (!serendipity_checkPermission('adminComments')) { 189 break; 190 } 191 192 include S9Y_INCLUDE_PATH . 'include/admin/comments.inc.php'; 193 break; 194 195 case 'category': 196 case 'categories': 197 if (!serendipity_checkPermission('adminCategories')) { 198 break; 199 } 200 201 include S9Y_INCLUDE_PATH . 'include/admin/category.inc.php'; 202 break; 203 204 case 'logout': 205 echo LOGGEDOUT; 206 break; 207 208 case 'event_display': 209 if ($serendipity['no_create'] !== true) { 210 serendipity_plugin_api::hook_event('backend_sidebar_entries_event_display_' . $serendipity['GET']['adminAction'], $serendipity); 211 } 212 break; 213 214 case 'logout': 215 echo LOGGEDOUT; 216 break; 217 218 default: 219 include S9Y_INCLUDE_PATH . 'include/admin/overview.inc.php'; 220 break; 221 } 222 223 $main_content = ob_get_contents(); 224 ob_end_clean(); 225 } 226 227 if (!$use_installer && !$_SESSION['no_smarty'] && serendipity_smarty_init()) { 228 $poll_admin_vars = array('css_file', 'admin_css_file', 'main_content', 'no_banner', 'no_sidebar', 'post_action', 'is_logged_in', 'admin_installed', 'self_info', 'use_installer'); 229 $admin_vars = array(); 230 foreach($poll_admin_vars AS $poll_admin_var) { 231 $admin_vars[$poll_admin_var] =& $$poll_admin_var; 232 } 233 234 $admin_vars['out'] = array(); 235 $admin_vars['no_create'] = $serendipity['no_create']; 236 237 if ($serendipity['expose_s9y']) { 238 $admin_vars['version_info'] = sprintf(ADMIN_FOOTER_POWERED_BY, $serendipity['versionInstalled'], phpversion()); 239 } else { 240 $admin_vars['version_info'] = sprintf(ADMIN_FOOTER_POWERED_BY, '', ''); 241 } 242 243 $serendipity['smarty']->assign_by_ref('admin_vars', $admin_vars); 244 $serendipity['smarty']->display(serendipity_getTemplateFile('admin/index.tpl', 'serendipityPath')); 245 } else { 246 ?> 247 <html> 248 <head> 249 <title><?php echo SERENDIPITY_ADMIN_SUITE; ?></title> 250 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo LANG_CHARSET; ?>" /> 251 <link rel="stylesheet" type="text/css" href="<?php echo $css_file; ?>" /> 252 <link rel="stylesheet" type="text/css" href="<?php echo $admin_css_file; ?>" /> 253 254 <script type="text/javascript"> 255 function spawn() { 256 if (self.Spawnextended) { 257 Spawnextended(); 258 } 259 260 if (self.Spawnbody) { 261 Spawnbody(); 262 } 263 264 if (self.Spawnnugget) { 265 Spawnnugget(); 266 } 267 } 268 269 function SetCookie(name, value) { 270 var today = new Date(); 271 var expire = new Date(); 272 expire.setTime(today.getTime() + (60*60*24*30)); 273 document.cookie = 'serendipity[' + name + ']='+escape(value) + ';expires=' + expire.toGMTString(); 274 } 275 276 function addLoadEvent(func) { 277 var oldonload = window.onload; 278 if (typeof window.onload != 'function') { 279 window.onload = func; 280 } else { 281 window.onload = function() { 282 oldonload(); 283 func(); 284 } 285 } 286 } 287 288 </script> 289 <?php 290 if ($admin_installed) { 291 serendipity_plugin_api::hook_event('backend_header', $serendipity); 292 } 293 ?> 294 </head> 295 <body id="serendipity_admin_page" onload="spawn()"> 296 <table cellspacing="0" cellpadding="0" border="0" id="serendipityAdminFrame"> 297 <?php if (!$no_banner) { ?> 298 <tr> 299 <td colspan="2" id="serendipityAdminBanner"> 300 <?php if ($admin_installed) { ?> 301 <h1><?php echo SERENDIPITY_ADMIN_SUITE ?></h1> 302 <h2><?php echo $serendipity['blogTitle'] ?></h2> 303 <?php } else { ?> 304 <h1><?php echo SERENDIPITY_INSTALLATION ?></h1> 305 <?php } ?> 306 </td> 307 </tr> 308 <tr> 309 <td colspan="2" id="serendipityAdminInfopane"> 310 <?php if ($is_logged_in) { ?> 311 <span><?php echo $self_info; ?></span> 312 <?php } ?> 313 </td> 314 </tr> 315 <?php } ?> 316 <tr valign="top"> 317 <?php 318 if ($use_installer) { 319 ?> 320 <td class="serendipityAdminContent" colspan="2"> 321 <?php require(S9Y_INCLUDE_PATH . $file); ?> 322 <?php 323 324 325 } elseif (!$is_logged_in) { 326 $out = array(); 327 serendipity_plugin_api::hook_event('backend_login_page', $out); 328 ?> 329 <td colspan="2" class="serendipityAdminContent"> 330 <div id="serendipityAdminWelcome" align="center"><h2><?php echo WELCOME_TO_ADMIN ?></h2> 331 <h3><?php echo PLEASE_ENTER_CREDENTIALS ?></h3></div> 332 <?php echo $out['header']; ?> 333 <?php if ($post_action != '' && !$is_logged_in ) { ?> 334 <div class="serendipityAdminMsgError"><img style="width: 22px; height: 22px; border: 0px; padding-right: 4px; vertical-align: middle" src="<?php echo serendipity_getTemplateFile('admin/img/admin_msg_error.png'); ?>" alt="" /><?php echo WRONG_USERNAME_OR_PASSWORD; ?></div> 335 <?php } ?> 336 <form action="serendipity_admin.php" method="post"> 337 <input type="hidden" name="serendipity[action]" value="admin" /> 338 <table id="serendipityAdminCredentials" cellspacing="10" cellpadding="0" border="0" align="center"> 339 <tr> 340 <td><?php echo USERNAME ?></td> 341 <td><input class="input_textbox" type="text" name="serendipity[user]" /></td> 342 </tr> 343 <tr> 344 <td><?php echo PASSWORD ?></td> 345 <td><input class="input_textbox" type="password" name="serendipity[pass]" /></td> 346 </tr> 347 <tr> 348 <td colspan="2"><input class="input_checkbox" id="autologin" type="checkbox" name="serendipity[auto]" /><label for="autologin"> <?php echo AUTOMATIC_LOGIN ?></label></td> 349 </tr> 350 <tr> 351 <td colspan="2" align="right"><input type="submit" name="submit" value="<?php echo LOGIN ?> >" class="input_button serendipityPrettyButton" /></td> 352 </tr> 353 <?php echo $out['table']; ?> 354 </table> 355 </form> 356 <?php echo $out['footer']; ?> 357 <p id="serendipityBackToBlog"><a href="<?php echo $serendipity['serendipityHTTPPath']; ?>"><?php echo BACK_TO_BLOG;?></a></p> 358 <?php 359 } else { 360 if (!$no_sidebar) { ?> 361 <td id="serendipitySideBar"> 362 <ul class="serendipitySideBarMenu serendipitySideBarMenuMain"> 363 <li class="serendipitySideBarMenuHead serendipitySideBarMenuMainLinks" style="display:none"></li> 364 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMainLinks serendipitySideBarMenuMainFrontpage"><a href="serendipity_admin.php"><?php echo ADMIN_FRONTPAGE; ?></a></li> 365 <?php if (serendipity_checkPermission('personalConfiguration')) { ?> 366 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMainLinks serendipitySideBarMenuMainPersonal"><a href="serendipity_admin.php?serendipity[adminModule]=personal"><?php echo PERSONAL_SETTINGS; ?></a></li> 367 <?php } ?> 368 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuMainLinks" style="display:none"></li> 369 </ul> 370 <br class="serendipitySideBarMenuSpacer" /> 371 <?php if (serendipity_checkPermission('adminEntries') || serendipity_checkPermission('adminEntriesPlugins')) { ?> 372 <ul class="serendipitySideBarMenu serendipitySideBarMenuEntry"> 373 <li class="serendipitySideBarMenuHead serendipitySideBarMenuEntryLinks"><?php echo ADMIN_ENTRIES ?></li> 374 <?php if (serendipity_checkPermission('adminEntries')) { ?> 375 <li class="serendipitySideBarMenuLink serendipitySideBarMenuEntryLinks"><a href="serendipity_admin.php?serendipity[adminModule]=entries&serendipity[adminAction]=new"><?php echo NEW_ENTRY; ?></a></li> 376 <li class="serendipitySideBarMenuLink serendipitySideBarMenuEntryLinks"><a href="serendipity_admin.php?serendipity[adminModule]=entries&serendipity[adminAction]=editSelect"><?php echo EDIT_ENTRIES; ?></a></li> 377 <?php } ?> 378 <?php if (serendipity_checkPermission('adminComments')) { ?> 379 <li class="serendipitySideBarMenuLink serendipitySideBarMenuEntryLinks"><a href="serendipity_admin.php?serendipity[adminModule]=comments"><?php echo COMMENTS; ?></a></li> 380 <?php } ?> 381 <?php if (serendipity_checkPermission('adminCategories')) { ?> 382 <li class="serendipitySideBarMenuLink serendipitySideBarMenuEntryLinks"><a href="serendipity_admin.php?serendipity[adminModule]=category&serendipity[adminAction]=view"><?php echo CATEGORIES; ?></a></li> 383 <?php } ?> 384 <?php if (serendipity_checkPermission('adminEntries') || serendipity_checkPermission('adminEntriesPlugins')) { ?> 385 <?php if ($serendipity['no_create'] !== true) serendipity_plugin_api::hook_event('backend_sidebar_entries', $serendipity); ?> 386 <?php } ?> 387 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuEntryLinks" style="display:none"></li> 388 </ul> 389 <?php } ?> 390 391 <?php if (serendipity_checkPermission('adminImages')) { ?> 392 <ul class="serendipitySideBarMenu serendipitySideBarMenuMedia"> 393 <li class="serendipitySideBarMenuHead serendipitySideBarMenuMediaLinks"><?php echo MEDIA; ?></li> 394 <?php if (serendipity_checkPermission('adminImagesAdd')) { ?> 395 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMediaLinks"><a href="serendipity_admin.php?serendipity[adminModule]=media&serendipity[adminAction]=addSelect"><?php echo ADD_MEDIA; ?></a></li> 396 <?php } ?> 397 <?php if (serendipity_checkPermission('adminImagesView')) { ?> 398 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMediaLinks"><a href="serendipity_admin.php?serendipity[adminModule]=media"><?php echo MEDIA_LIBRARY; ?></a></li> 399 <?php } ?> 400 <?php if (serendipity_checkPermission('adminImagesDirectories')) { ?> 401 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMediaLinks"><a href="serendipity_admin.php?serendipity[adminModule]=media&serendipity[adminAction]=directorySelect"><?php echo MANAGE_DIRECTORIES; ?></a></li> 402 <?php } ?> 403 <?php if (serendipity_checkPermission('adminImagesSync')) { ?> 404 <li class="serendipitySideBarMenuLink serendipitySideBarMenuMediaLinks"><a href="serendipity_admin.php?serendipity[adminModule]=media&serendipity[adminAction]=sync" onclick="return confirm('<?php echo WARNING_THIS_BLAHBLAH; ?>');"><?php echo CREATE_THUMBS; ?></a></li> 405 <?php } ?> 406 <?php if ($serendipity['no_create'] !== true) serendipity_plugin_api::hook_event('backend_sidebar_entries_images', $serendipity); ?> 407 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuMediaLinks" style="display:none"></li> 408 </ul> 409 <?php } ?> 410 <?php if (serendipity_checkPermission('adminTemplates') || serendipity_checkPermission('adminPlugins')) { ?> 411 <ul class="serendipitySideBarMenu serendipitySideBarMenuAppearance"> 412 <li class="serendipitySideBarMenuHead serendipitySideBarMenuAppearanceLinks"><?php echo APPEARANCE; ?></li> 413 <?php if (serendipity_checkPermission('adminTemplates')) { ?> 414 <li class="serendipitySideBarMenuLink serendipitySideBarMenuAppearanceLinks"><a href="serendipity_admin.php?serendipity[adminModule]=templates"><?php echo MANAGE_STYLES; ?></a></li> 415 <?php } ?> 416 <?php if (serendipity_checkPermission('adminPlugins')) { ?> 417 <li class="serendipitySideBarMenuLink serendipitySideBarMenuAppearanceLinks"><a href="serendipity_admin.php?serendipity[adminModule]=plugins"><?php echo CONFIGURE_PLUGINS; ?></a></li> 418 <?php } ?> 419 <?php if ($serendipity['no_create'] !== true) serendipity_plugin_api::hook_event('backend_sidebar_admin_appearance', $serendipity); ?> 420 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuAppearance" style="display:none"></li> 421 </ul> 422 <?php } ?> 423 <?php if (serendipity_checkPermission('siteConfiguration') || serendipity_checkPermission('blogConfiguration') || serendipity_checkPermission('adminUsers') || serendipity_checkPermission('adminUsersGroups') || serendipity_checkPermission('adminImport')) { ?> 424 <ul class="serendipitySideBarMenu serendipitySideBarMenuUserManagement"> 425 <li class="serendipitySideBarMenuHead serendipitySideBarMenuUserManagementLinks"><?php echo ADMIN; ?></li> 426 <?php if (serendipity_checkPermission('siteConfiguration') || serendipity_checkPermission('blogConfiguration')) { ?> 427 <li class="serendipitySideBarMenuLink serendipitySideBarMenuUserManagementLinks"><a href="serendipity_admin.php?serendipity[adminModule]=configuration"><?php echo CONFIGURATION; ?></a></li> 428 <?php } ?> 429 <?php if (serendipity_checkPermission('adminUsers')) { ?> 430 <li class="serendipitySideBarMenuLink serendipitySideBarMenuUserManagementLinks"><a href="serendipity_admin.php?serendipity[adminModule]=users"><?php echo MANAGE_USERS; ?></a></li> 431 <?php } ?> 432 <?php if (serendipity_checkPermission('adminUsersGroups')) { ?> 433 <li class="serendipitySideBarMenuLink serendipitySideBarMenuUserManagementLinks"><a href="serendipity_admin.php?serendipity[adminModule]=groups"><?php echo MANAGE_GROUPS; ?></a></li> 434 <?php } ?> 435 <?php if (serendipity_checkPermission('adminImport')) { ?> 436 <li class="serendipitySideBarMenuLink serendipitySideBarMenuUserManagementLinks"><a href="serendipity_admin.php?serendipity[adminModule]=import"><?php echo IMPORT_ENTRIES; ?></a></li> 437 <li class="serendipitySideBarMenuLink serendipitySideBarMenuUserManagementLinks"><a href="serendipity_admin.php?serendipity[adminModule]=export"><?php echo EXPORT_ENTRIES; ?></a></li> 438 <?php } ?> 439 <?php if ($serendipity['no_create'] !== true) serendipity_plugin_api::hook_event('backend_sidebar_admin', $serendipity); ?> 440 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuUserManagement" style="display:none"></li> 441 </ul> 442 <?php } ?> 443 <br class="serendipitySideBarMenuSpacer" /> 444 445 <ul class="serendipitySideBarMenu serendipitySideBarMenuLogout"> 446 <li class="serendipitySideBarMenuHead serendipitySideBarMenuLogoutLinks" style="display:none"></li> 447 <li class="serendipitySideBarMenuLink serendipitySideBarMenuLogoutLinks serendipitySideBarMenuLogoutWeblog"><a href="<?php echo $serendipity['baseURL']; ?>"><?php echo BACK_TO_BLOG; ?></a></li> 448 <li class="serendipitySideBarMenuLink serendipitySideBarMenuLogoutLinks serendipitySideBarMenuLogoutLogout"><a href="serendipity_admin.php?serendipity[adminModule]=logout"><?php echo LOGOUT; ?></a></li> 449 <li class="serendipitySideBarMenuFoot serendipitySideBarMenuLogoutLinks" style="display:none"></li> 450 </ul> 451 452 </td> 453 <?php } ?> 454 <td class="serendipityAdminContent"> 455 <?php 456 echo $main_content; 457 } 458 ?> 459 </td> 460 </tr> 461 </table> 462 <div class="serendipityAdminFooterSpacer"> 463 <br /> 464 </div> 465 <div id="serendipityAdminFooter"> 466 <span> 467 <?php 468 if ($serendipity['expose_s9y']) { 469 echo sprintf(ADMIN_FOOTER_POWERED_BY, $serendipity['versionInstalled'], phpversion()); 470 } else { 471 echo sprintf(ADMIN_FOOTER_POWERED_BY, '', ''); 472 } 473 ?> 474 </span> 475 </div> 476 </body> 477 </html> 478 <?php 479 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Sat Nov 24 09:00:37 2007 | par Balluche grâce à PHPXref 0.7 |
|