예제 #1
0
 function __construct()
 {
     global $pagenow, $pp_plugin_page;
     do_action('_pp_admin_ui');
     // ============== UI-related filters ================
     add_action('admin_menu', array(&$this, 'build_menu'));
     add_action('show_user_profile', array(&$this, 'ui_user'), 2);
     add_action('edit_user_profile', array(&$this, 'ui_user'), 2);
     add_action('admin_print_scripts-user-new.php', array(&$this, 'insert_groups_ui'));
     add_action('admin_menu', array(&$this, 'ngg_uploader_workaround'));
     $is_post_admin = false;
     if (array_intersect(array($pagenow, $pp_plugin_page), array('post-new.php', 'post.php'))) {
         global $pp_post_edit_ui;
         require_once dirname(__FILE__) . '/post-edit-ui_pp.php';
         $pp_post_edit_ui = new PP_PostEditUI();
         $is_post_admin = true;
     } elseif ('edit-tags.php' == $pagenow && !empty($_REQUEST['action']) && 'edit' == $_REQUEST['action']) {
         if (current_user_can('pp_assign_roles')) {
             global $pp_term_edit_ui;
             require_once dirname(__FILE__) . '/term-edit-ui_pp.php';
             $pp_term_edit_ui = new PP_TermEditUI();
         }
     }
     if (pp_is_user_administrator() || 0 === strpos($pp_plugin_page, 'pp-')) {
         add_action('in_admin_footer', array(&$this, 'ui_admin_footer'));
     }
     if ('users.php' == $pagenow) {
         require_once dirname(__FILE__) . '/users-ui_pp.php';
     } elseif ('edit.php' == $pagenow || pp_is_ajax('inline-save')) {
         $post_type = isset($_REQUEST['post_type']) ? pp_sanitize_key($_REQUEST['post_type']) : 'post';
         if (in_array($post_type, pp_get_enabled_post_types())) {
             global $pp_post_listing_ui;
             require_once dirname(__FILE__) . '/post-listing-ui_pp.php';
             $pp_post_listing_ui = new PP_PostsAdmin();
             $is_post_admin = true;
         }
     } elseif (in_array($pagenow, array('edit-tags.php')) || defined('DOING_AJAX') && DOING_AJAX && isset($_REQUEST['action']) && in_array($_REQUEST['action'], array('inline-save-tax', 'add-tag'))) {
         if (!empty($_REQUEST['taxonomy']) && pp_is_taxonomy_enabled($_REQUEST['taxonomy'])) {
             global $pp_admin_terms_listing;
             require_once dirname(__FILE__) . '/term-listing-ui_pp.php';
             $pp_admin_terms_listing = new PP_TermsAdmin();
         }
     } elseif (in_array($pagenow, array('plugins.php', 'plugin-install.php'))) {
         global $pp_plugin_admin;
         require_once dirname(__FILE__) . '/admin-plugins_pp.php';
         $pp_plugin_admin = new PP_Plugin_Admin();
     } else {
         if (strpos($_SERVER['REQUEST_URI'], 'page=pp-groups') && isset($_REQUEST['wp_screen_options'])) {
             require_once dirname(__FILE__) . '/ui-helper_pp.php';
             PP_UI_Helper::handle_screen_options();
         }
         if (in_array($pp_plugin_page, array('pp-edit-permissions'))) {
             // pp-group-new
             add_action('admin_head', array(&$this, 'load_scripts'));
         } elseif (in_array($pp_plugin_page, array('pp-settings', 'pp-about'))) {
             wp_enqueue_style('plugin-install');
             wp_enqueue_script('plugin-install');
             add_thickbox();
         }
     }
     if ($is_post_admin) {
         do_action('pp_post_admin');
     }
     add_action('admin_head', array(&$this, 'admin_head'));
     wp_enqueue_style('pp', PP_URLPATH . '/admin/css/pp.css', array(), PPC_VERSION);
     if (0 === strpos($pp_plugin_page, 'pp-')) {
         wp_enqueue_style('pp-plugin-pages', PP_URLPATH . '/admin/css/pp-plugin-pages.css', array(), PPC_VERSION);
     }
     if (in_array($pagenow, array('user-edit.php', 'user-new.php', 'profile.php'))) {
         wp_enqueue_style('pp-edit-permissions', PP_URLPATH . '/admin/css/pp-edit-permissions.css', array(), PPC_VERSION);
         wp_enqueue_style('pp-groups-checklist', PP_URLPATH . '/admin/css/pp-groups-checklist.css', array(), PPC_VERSION);
         if (!pp_wp_ver('3.8')) {
             wp_enqueue_style('pp-edit-perm-legacy', PP_URLPATH . '/admin/css/pp-edit-permissions-legacy.css', array(), PPC_VERSION);
         }
     } elseif (in_array($pp_plugin_page, array('pp-edit-permissions', 'pp-group-new'))) {
         wp_enqueue_style('pp-edit-permissions', PP_URLPATH . '/admin/css/pp-edit-permissions.css', array(), PPC_VERSION);
         wp_enqueue_style('pp-groups-checklist', PP_URLPATH . '/admin/css/pp-groups-checklist.css', array(), PPC_VERSION);
         if (!pp_wp_ver('3.8')) {
             wp_enqueue_style('pp-edit-perm-legacy', PP_URLPATH . '/admin/css/pp-edit-permissions-legacy.css', array(), PPC_VERSION);
         }
     } elseif ('pp-settings' == $pp_plugin_page) {
         wp_enqueue_style('pp-settings', PP_URLPATH . '/admin/css/pp-settings.css', array(), PPC_VERSION);
     } elseif ('pp-about' == $pp_plugin_page) {
         wp_enqueue_style('pp-about', PP_URLPATH . '/admin/css/pp-about.css', array(), PPC_VERSION);
     }
     global $pagenow;
     if (in_array($pagenow, array('edit.php', 'post.php')) && pp_wp_ver('3.5-beta')) {
         add_action('admin_menu', array(&$this, 'reinstate_solo_submenus'));
         add_action('network_admin_menu', array(&$this, 'reinstate_solo_submenus'));
     }
     if (in_array($pagenow, array('edit.php', 'post.php', 'post-new.php', 'edit-tags.php', 'index.php')) || !empty($pp_plugin_page)) {
         add_action('admin_notices', array(&$this, 'admin_notice'));
     }
     do_action('pp_admin_ui');
 }
예제 #2
0
    require_once dirname(__FILE__) . '/eyes-only-admin_pp.php';
}
function _pp_default_admin_options($options)
{
    $options['support_data'] = array_fill_keys(array('pp_options', 'wp_roles_types', 'theme', 'active_plugins', 'pp_permissions', 'pp_group_members', 'error_log', 'post_data', 'term_data'), true);
    return $options;
}
// make sure empty terms are included in quick search results in "Add Supplemental Roles" term selection metaboxes
if (pp_is_ajax('menu-quick-search')) {
    function _term_select_include_empty($args, $taxonomies)
    {
        $args['hide_empty'] = 0;
        return $args;
    }
    add_filter('get_terms_args', '_term_select_include_empty', 50, 2);
} elseif (pp_is_ajax('pp-menu-quick-search')) {
    require_once dirname(__FILE__) . '/includes/item-menu_pp.php';
    add_action('wp_ajax_' . pp_sanitize_key($_REQUEST['action']), '_pp_ajax_menu_quick_search', 1);
}
function pp_is_ajax($action)
{
    return defined('DOING_AJAX') && DOING_AJAX && !empty($_REQUEST['action']) && in_array($_REQUEST['action'], (array) $action);
}
function pp_admin_init()
{
    global $cap_interceptor_admin;
    require_once dirname(__FILE__) . '/cap-interceptor-admin_pp.php';
    $cap_interceptor_admin = new PP_CapInterceptorAdmin();
    if (!empty($_POST) || !empty($_REQUEST['action']) || !empty($_REQUEST['action2']) || !empty($_REQUEST['pp_action'])) {
        require_once dirname(__FILE__) . '/admin-handlers_pp.php';
    }