WordPress.org

Make WordPress Core

Changeset 12731


Ignore:
Timestamp:
01/15/2010 08:21:18 PM (12 years ago)
Author:
ryan
Message:

Move current_screen setup before plugin page handling so it is defined for all cases. see #9674

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin.php

    r12728 r12731  
    8383do_action('admin_init');
    8484
    85 // Handle plugin admin pages.
    86 if (isset($plugin_page)) {
     85if (isset($plugin_page) ) {
    8786    if( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) ) {
    8887        $page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
     
    9897        }
    9998    }
    100 
    101     if ( $page_hook ) {
    102         do_action('load-' . $page_hook);
    103         if (! isset($_GET['noheader']))
    104             require_once(ABSPATH . 'wp-admin/admin-header.php');
    105 
    106         do_action($page_hook);
    107     } else {
    108         if ( validate_file($plugin_page) ) {
    109             wp_die(__('Invalid plugin page'));
    110         }
    111 
    112         if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
    113             wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
    114 
    115         do_action('load-' . $plugin_page);
    116 
    117         if (! isset($_GET['noheader']))
    118             require_once(ABSPATH . 'wp-admin/admin-header.php');
    119 
    120         if ( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") )
    121             include(WPMU_PLUGIN_DIR . "/$plugin_page");
    122         else
    123             include(ABSPATH . PLUGINDIR . "/$plugin_page");
    124     }
    125 
    126     include(ABSPATH . 'wp-admin/admin-footer.php');
    127 
    128     exit();
    129 } else if (isset($_GET['import'])) {
    130 
    131     $importer = $_GET['import'];
    132 
    133     if ( ! current_user_can('import') )
    134         wp_die(__('You are not allowed to import.'));
    135 
    136     if ( validate_file($importer) ) {
    137         wp_die(__('Invalid importer.'));
    138     }
    139 
    140     // Allow plugins to define importers as well
    141     if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]))
    142     {
    143         if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
    144         {
    145             wp_die(__('Cannot load importer.'));
    146         }
    147         include(ABSPATH . "wp-admin/import/$importer.php");
    148     }
    149 
    150     $parent_file = 'tools.php';
    151     $submenu_file = 'import.php';
    152     $title = __('Import');
    153 
    154     if (! isset($_GET['noheader']))
    155         require_once(ABSPATH . 'wp-admin/admin-header.php');
    156 
    157     require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    158 
    159     define('WP_IMPORTING', true);
    160     if ( is_multisite() ) {
    161         kses_init_filters();  // Always filter imported data with kses.
    162     }
    163 
    164     call_user_func($wp_importers[$importer][2]);
    165 
    166     include(ABSPATH . 'wp-admin/admin-footer.php');
    167 
    168     // Make sure rules are flushed
    169     global $wp_rewrite;
    170     $wp_rewrite->flush_rules(false);
    171 
    172     exit();
    173 } else {
    174     do_action("load-$pagenow");
    175 }
    176 
    177 if ( !empty($_REQUEST['action']) )
    178     do_action('admin_action_' . $_REQUEST['action']);
     99}
    179100
    180101$hook_suffix = '';
     
    217138$current_screen = apply_filters('current_screen', $current_screen);
    218139
     140// Handle plugin admin pages.
     141if ( isset($plugin_page) ) {
     142    if ( $page_hook ) {
     143        do_action('load-' . $page_hook);
     144        if (! isset($_GET['noheader']))
     145            require_once(ABSPATH . 'wp-admin/admin-header.php');
     146
     147        do_action($page_hook);
     148    } else {
     149        if ( validate_file($plugin_page) ) {
     150            wp_die(__('Invalid plugin page'));
     151        }
     152
     153        if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
     154            wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
     155
     156        do_action('load-' . $plugin_page);
     157
     158        if (! isset($_GET['noheader']))
     159            require_once(ABSPATH . 'wp-admin/admin-header.php');
     160
     161        if ( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") )
     162            include(WPMU_PLUGIN_DIR . "/$plugin_page");
     163        else
     164            include(ABSPATH . PLUGINDIR . "/$plugin_page");
     165    }
     166
     167    include(ABSPATH . 'wp-admin/admin-footer.php');
     168
     169    exit();
     170} else if (isset($_GET['import'])) {
     171
     172    $importer = $_GET['import'];
     173
     174    if ( ! current_user_can('import') )
     175        wp_die(__('You are not allowed to import.'));
     176
     177    if ( validate_file($importer) ) {
     178        wp_die(__('Invalid importer.'));
     179    }
     180
     181    // Allow plugins to define importers as well
     182    if ( !isset($wp_importers) || !isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]))
     183    {
     184        if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
     185        {
     186            wp_die(__('Cannot load importer.'));
     187        }
     188        include(ABSPATH . "wp-admin/import/$importer.php");
     189    }
     190
     191    $parent_file = 'tools.php';
     192    $submenu_file = 'import.php';
     193    $title = __('Import');
     194
     195    if (! isset($_GET['noheader']))
     196        require_once(ABSPATH . 'wp-admin/admin-header.php');
     197
     198    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
     199
     200    define('WP_IMPORTING', true);
     201    if ( is_multisite() ) {
     202        kses_init_filters();  // Always filter imported data with kses.
     203    }
     204
     205    call_user_func($wp_importers[$importer][2]);
     206
     207    include(ABSPATH . 'wp-admin/admin-footer.php');
     208
     209    // Make sure rules are flushed
     210    global $wp_rewrite;
     211    $wp_rewrite->flush_rules(false);
     212
     213    exit();
     214} else {
     215    do_action("load-$pagenow");
     216}
     217
     218if ( !empty($_REQUEST['action']) )
     219    do_action('admin_action_' . $_REQUEST['action']);
     220
    219221?>
Note: See TracChangeset for help on using the changeset viewer.