web/wp-admin/admin.php
author ymh
Fri, 12 Mar 2010 13:29:04 +0000
changeset 1 0d28b7c10758
permissions -rw-r--r--
First commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
 * WordPress Administration Bootstrap
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 * @subpackage Administration
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
 * In WordPress Administration Panels
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
if ( !defined('WP_ADMIN') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
	define('WP_ADMIN', TRUE);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
if ( defined('ABSPATH') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
	require_once(ABSPATH . 'wp-load.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
else
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
	require_once('../wp-load.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
if ( get_option('db_upgraded') ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
	$wp_rewrite->flush_rules();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
	update_option( 'db_upgraded',  false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
	/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
	 * Runs on the next page load after successful upgrade
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
	 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
	 * @since 2.8
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
	 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	do_action('after_db_upgrade');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
} elseif ( get_option('db_version') != $wp_db_version ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
	wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI']))));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
	exit;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
require_once(ABSPATH . 'wp-admin/includes/admin.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
auth_redirect();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
nocache_headers();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
update_category_cache();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
// Schedule trash collection
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
	wp_schedule_event(time(), 'daily', 'wp_scheduled_delete');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
set_screen_options();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
$posts_per_page = get_option('posts_per_page');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
$date_format = get_option('date_format');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
$time_format = get_option('time_format');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
wp_reset_vars(array('profile', 'redirect', 'redirect_url', 'a', 'text', 'trackback', 'pingback'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
wp_admin_css_color('classic', __('Blue'), admin_url("css/colors-classic.css"), array('#073447', '#21759B', '#EAF3FA', '#BBD8E7'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
wp_admin_css_color('fresh', __('Gray'), admin_url("css/colors-fresh.css"), array('#464646', '#6D6D6D', '#F1F1F1', '#DFDFDF'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
wp_enqueue_script( 'common' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
wp_enqueue_script( 'jquery-color' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
$editing = false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
if (isset($_GET['page'])) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
	$plugin_page = stripslashes($_GET['page']);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
	$plugin_page = plugin_basename($plugin_page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
require(ABSPATH . 'wp-admin/menu.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
do_action('admin_init');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
// Handle plugin admin pages.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
if (isset($plugin_page)) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
	if( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
		$page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
		// backwards compatibility for plugins using add_management_page
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
		if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
			// There could be plugin specific params on the URL, so we need the whole query string
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
			if ( !empty($_SERVER[ 'QUERY_STRING' ]) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
				$query_string = $_SERVER[ 'QUERY_STRING' ];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
			else
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
				$query_string = 'page=' . $plugin_page;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
			wp_redirect( 'tools.php?' . $query_string );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
			exit;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
	if ( $page_hook ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
		do_action('load-' . $page_hook);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
		if (! isset($_GET['noheader']))
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
			require_once(ABSPATH . 'wp-admin/admin-header.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
		do_action($page_hook);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
	} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
		if ( validate_file($plugin_page) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
			wp_die(__('Invalid plugin page'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
		if (! ( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
			wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
		do_action('load-' . $plugin_page);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
		if (! isset($_GET['noheader']))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
			require_once(ABSPATH . 'wp-admin/admin-header.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
		include(WP_PLUGIN_DIR . "/$plugin_page");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
	include(ABSPATH . 'wp-admin/admin-footer.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
	exit();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
} else if (isset($_GET['import'])) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
	$importer = $_GET['import'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
	if ( ! current_user_can('import') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
		wp_die(__('You are not allowed to import.'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
	if ( validate_file($importer) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
		wp_die(__('Invalid importer.'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
	// Allow plugins to define importers as well
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
	if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
		if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
			wp_die(__('Cannot load importer.'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
		include(ABSPATH . "wp-admin/import/$importer.php");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
	$parent_file = 'tools.php';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
	$submenu_file = 'import.php';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
	$title = __('Import');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
	if (! isset($_GET['noheader']))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
		require_once(ABSPATH . 'wp-admin/admin-header.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
	require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
	define('WP_IMPORTING', true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
	call_user_func($wp_importers[$importer][2]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
	include(ABSPATH . 'wp-admin/admin-footer.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
	// Make sure rules are flushed
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
	global $wp_rewrite;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   153
	$wp_rewrite->flush_rules(false);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   154
0d28b7c10758 First commit
ymh
parents:
diff changeset
   155
	exit();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   156
} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   157
	do_action("load-$pagenow");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   158
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   159
0d28b7c10758 First commit
ymh
parents:
diff changeset
   160
if ( !empty($_REQUEST['action']) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   161
	do_action('admin_action_' . $_REQUEST['action']);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   162
0d28b7c10758 First commit
ymh
parents:
diff changeset
   163
?>