/**
 * Initialize admin pages.
 *
 * @todo This, also, needs a review very badly.
 * @since 1.9
 */
function wpcf_init_admin_pages()
{
    if (is_admin()) {
        WPCF_Page_Listing_Termmeta::get_instance();
    }
    if (defined('DOING_AJAX')) {
        $action = wpcf_getpost('action');
        $current_page = wpcf_getpost('page');
        switch ($action) {
            case 'wpcf_edit_field_select':
            case 'wpcf_ajax_filter':
                if (WPCF_Page_Edit_Termmeta::PAGE_NAME == $current_page) {
                    WPCF_Page_Edit_Termmeta::get_instance()->initialize_ajax_handler();
                }
                break;
        }
    }
}
Example #2
0
/**
 * Add legacy menu pages. 
 * 
 * This is indirectly hooked to toolset_filter_register_menu_pages through the Types_Admin_Menu controller.
 * 
 * @param $pages
 * @return mixed
 * @since 2.0
 */
function wpcf_admin_toolset_register_menu_pages($pages)
{
    if (!apply_filters('types_register_pages', true)) {
        return $pages;
    }
    require_once WPCF_ABSPATH . '/help.php';
    $current_page = '';
    if (isset($_GET['page'])) {
        $current_page = $_GET['page'];
    }
    $pages['wpcf-cpt'] = array('slug' => 'wpcf-cpt', 'menu_title' => __('Post Types', 'wpcf'), 'page_title' => __('Post Types', 'wpcf'), 'callback' => 'wpcf_admin_menu_summary_cpt', 'capability_filter' => 'wpcf_cpt_view', 'capability' => WPCF_CUSTOM_POST_TYPE_VIEW);
    $pages['wpcf-cpt']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-cpt']);
    $pages['wpcf-cpt']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-cpt']);
    $pages['wpcf-cpt']['contextual_help_legacy'] = wpcf_admin_help('wpcf-cpt');
    $pages['wpcf-cpt']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    if ($current_page == 'wpcf-edit-type') {
        $pages['wpcf-edit-type'] = array('slug' => 'wpcf-edit-type', 'menu_title' => isset($_GET['wpcf-post-type']) ? __('Edit Post Type', 'wpcf') : __('Add New Post Type', 'wpcf'), 'page_title' => isset($_GET['wpcf-post-type']) ? __('Edit Post Type', 'wpcf') : __('Add New Post Type', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_type', 'capability' => WPCF_CUSTOM_FIELD_EDIT, 'load_hook' => 'wpcf_admin_menu_edit_type_hook');
        $pages['wpcf-edit-type']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-edit-type']);
        $pages['wpcf-edit-type']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-edit-type']);
        $pages['wpcf-edit-type']['contextual_help_legacy'] = wpcf_admin_help('wpcf-edit-type');
        $pages['wpcf-edit-type']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if ($current_page == 'wpcf-view-type') {
        $pages['wpcf-view-type'] = array('slug' => 'wpcf-view-type', 'menu_title' => __('View Post Type', 'wpcf'), 'page_title' => __('View Post Type', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_type', 'capability' => WPCF_CUSTOM_FIELD_VIEW, 'load_hook' => 'wpcf_admin_menu_edit_type_hook');
        $pages['wpcf-view-type']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-view-type']);
        $pages['wpcf-view-type']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-view-type']);
        $pages['wpcf-view-type']['contextual_help_legacy'] = wpcf_admin_help('wpcf-view-type');
        $pages['wpcf-view-type']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    $pages['wpcf-ctt'] = array('slug' => 'wpcf-ctt', 'menu_title' => __('Taxonomies', 'wpcf'), 'page_title' => __('Taxonomies', 'wpcf'), 'callback' => 'wpcf_admin_menu_summary_ctt', 'capability_filter' => 'wpcf_ctt_view', 'capability' => WPCF_CUSTOM_TAXONOMY_VIEW);
    $pages['wpcf-ctt']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-ctt']);
    $pages['wpcf-ctt']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-ctt']);
    $pages['wpcf-ctt']['contextual_help_legacy'] = wpcf_admin_help('wpcf-ctt');
    $pages['wpcf-ctt']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    if ($current_page == 'wpcf-edit-tax') {
        $pages['wpcf-edit-tax'] = array('slug' => 'wpcf-edit-tax', 'menu_title' => isset($_GET['wpcf-tax']) ? __('Edit Taxonomy', 'wpcf') : __('Add New Taxonomy', 'wpcf'), 'page_title' => isset($_GET['wpcf-tax']) ? __('Edit Taxonomy', 'wpcf') : __('Add New Taxonomy', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_tax', 'capability' => WPCF_CUSTOM_TAXONOMY_EDIT, 'load_hook' => 'wpcf_admin_menu_edit_tax_hook');
        $pages['wpcf-edit-tax']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-edit-tax']);
        $pages['wpcf-edit-tax']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-edit-tax']);
        $pages['wpcf-edit-tax']['contextual_help_legacy'] = wpcf_admin_help('wpcf-edit-tax');
        $pages['wpcf-edit-tax']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if ($current_page == 'wpcf-view-tax') {
        $pages['wpcf-view-tax'] = array('slug' => 'wpcf-view-tax', 'menu_title' => __('View Taxonomy', 'wpcf'), 'page_title' => __('View Taxonomy', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_tax', 'capability' => WPCF_CUSTOM_TAXONOMY_VIEW, 'load_hook' => 'wpcf_admin_menu_edit_tax_hook');
        $pages['wpcf-view-tax']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-view-tax']);
        $pages['wpcf-view-tax']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-view-tax']);
        $pages['wpcf-view-tax']['contextual_help_legacy'] = wpcf_admin_help('wpcf-view-tax');
        $pages['wpcf-view-tax']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    $pages['wpcf-cf'] = array('slug' => 'wpcf-cf', 'menu_title' => __('Post Fields', 'wpcf'), 'page_title' => __('Post Fields', 'wpcf'), 'callback' => 'wpcf_admin_menu_summary', 'capability_filter' => 'wpcf_cf_view', 'capability' => WPCF_CUSTOM_FIELD_VIEW);
    $pages['wpcf-cf']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-cf']);
    $pages['wpcf-cf']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-cf']);
    $pages['wpcf-cf']['contextual_help_legacy'] = wpcf_admin_help('wpcf-cf');
    $pages['wpcf-cf']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    if ($current_page == 'wpcf-edit') {
        $pages['wpcf-edit'] = array('slug' => 'wpcf-edit', 'menu_title' => isset($_GET['group_id']) ? __('Edit Group', 'wpcf') : __('Add New Post Field Group', 'wpcf'), 'page_title' => isset($_GET['group_id']) ? __('Edit Group', 'wpcf') : __('Add New Post Field Group', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_fields', 'capability' => WPCF_CUSTOM_FIELD_VIEW, 'load_hook' => 'wpcf_admin_menu_edit_fields_hook');
        $pages['wpcf-edit']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-edit']);
        $pages['wpcf-edit']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-edit']);
        $pages['wpcf-edit']['contextual_help_legacy'] = wpcf_admin_help('wpcf-edit');
        $pages['wpcf-edit']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if ($current_page == 'wpcf-view-custom-field') {
        $pages['wpcf-view-custom-field'] = array('slug' => 'wpcf-view-custom-field', 'menu_title' => __('View Post Field Group', 'wpcf'), 'page_title' => __('View Post Field Group', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_fields', 'capability' => WPCF_CUSTOM_FIELD_VIEW);
        $pages['wpcf-view-custom-field']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-view-custom-field']);
        $pages['wpcf-view-custom-field']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-view-custom-field']);
        $pages['wpcf-view-custom-field']['contextual_help_legacy'] = wpcf_admin_help('wpcf-view-custom-field');
        $pages['wpcf-view-custom-field']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    $WPCF_Page_Listing_Termmeta = WPCF_Page_Listing_Termmeta::get_instance();
    $pages[WPCF_Page_Listing_Termmeta::PAGE_NAME] = $WPCF_Page_Listing_Termmeta->add_submenu_page();
    if ($current_page == WPCF_Page_Edit_Termmeta::PAGE_NAME) {
        $WPCF_Page_Edit_Termmeta = WPCF_Page_Edit_Termmeta::get_instance();
        $pages[WPCF_Page_Edit_Termmeta::PAGE_NAME] = $WPCF_Page_Edit_Termmeta->add_submenu_page();
    }
    $pages['wpcf-um'] = array('slug' => 'wpcf-um', 'menu_title' => __('User Fields', 'wpcf'), 'page_title' => __('User Fields', 'wpcf'), 'callback' => 'wpcf_usermeta_summary', 'capability_filter' => 'wpcf_uf_view', 'capability' => WPCF_USER_META_FIELD_VIEW);
    $pages['wpcf-um']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-um']);
    $pages['wpcf-um']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-um']);
    $pages['wpcf-um']['contextual_help_legacy'] = wpcf_admin_help('wpcf-um');
    $pages['wpcf-um']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    if ($current_page == 'wpcf-edit-usermeta') {
        $pages['wpcf-edit-usermeta'] = array('slug' => 'wpcf-edit-usermeta', 'menu_title' => isset($_GET['group_id']) ? __('Edit User Field Group', 'wpcf') : __('Add New User Field Group', 'wpcf'), 'page_title' => isset($_GET['group_id']) ? __('Edit User Field Group', 'wpcf') : __('Add New User Field Group', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_user_fields', 'capability' => WPCF_USER_META_FIELD_EDIT);
        $pages['wpcf-edit-usermeta']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-edit-usermeta']);
        $pages['wpcf-edit-usermeta']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-edit-usermeta']);
        $pages['wpcf-edit-usermeta']['contextual_help_legacy'] = wpcf_admin_help('wpcf-edit-usermeta');
        $pages['wpcf-edit-usermeta']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if ($current_page == 'wpcf-view-usermeta') {
        $pages['wpcf-view-usermeta'] = array('slug' => 'wpcf-view-usermeta', 'menu_title' => __('View User Field Group', 'wpcf'), 'page_title' => __('View User Field Group', 'wpcf'), 'callback' => 'wpcf_admin_menu_edit_user_fields', 'capability' => WPCF_USER_META_FIELD_VIEW);
        $pages['wpcf-view-usermeta']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-view-usermeta']);
        $pages['wpcf-view-usermeta']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-view-usermeta']);
        $pages['wpcf-view-usermeta']['contextual_help_legacy'] = wpcf_admin_help('wpcf-view-usermeta');
        $pages['wpcf-view-usermeta']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if (class_exists('Acf') && !class_exists('acf_pro') || defined('CPT_VERSION')) {
        $pages['wpcf-migration'] = array('slug' => 'wpcf-migration', 'menu_title' => __('Types Migration', 'wpcf'), 'page_title' => __('Types Migration', 'wpcf'), 'callback' => 'wpcf_admin_menu_migration', 'capability' => 'manage_options');
        $pages['wpcf-migration']['capability'] = wpcf_admin_calculate_menu_page_capability($pages['wpcf-migration']);
        $pages['wpcf-migration']['load_hook'] = wpcf_admin_calculate_menu_page_load_hook($pages['wpcf-migration']);
        $pages['wpcf-migration']['contextual_help_legacy'] = wpcf_admin_help('wpcf-migration');
        $pages['wpcf-migration']['contextual_help_hook'] = 'wpcf_admin_help_add_tabs_load_hook';
    }
    if ('installer' == $current_page) {
        // @todo Having a page with a slug "installer" is a direct path to a third-party plugin conflict. Just saying. Not to mention the callback funciton "installer_content", for god's sake
        $pages['installer'] = array('slug' => 'installer', 'menu_title' => __('Installer', 'wpcf'), 'page_title' => __('Installer', 'wpcf'), 'callback' => 'installer_content');
    }
    /**
     * This used to load the Toolset Access teaser - code has not been removed
     *
     * This also usd to hook the Installer page, added above
     *
     * @todo this is to be deletd IMHO
     */
    //do_action( 'wpcf_menu_plus' );
    return $pages;
}