diff --git a/includes/admin/class-admin-functions.php b/includes/admin/class-admin-functions.php index ba56c35e..b52a3441 100644 --- a/includes/admin/class-admin-functions.php +++ b/includes/admin/class-admin-functions.php @@ -31,8 +31,23 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) { function is_UM_admin_screen() { global $current_screen; $screen_id = $current_screen->id; - if ( is_admin() && ( strstr( $screen_id, 'ultimatemember') || strstr( $screen_id, 'um_') || strstr($screen_id, 'user') || strstr($screen_id, 'profile') ) ) + + if ( strstr( $screen_id, 'ultimatemember') || + strstr( $screen_id, 'um_') || + strstr( $screen_id, 'user' ) || + strstr( $screen_id, 'profile' ) || + $screen_id == 'nav-menus' ) { return true; + } + + if ( $this->is_plugin_post_type() ) { + return true; + } + + if ( $this->is_restricted_entity() ) { + return true; + } + return false; } @@ -43,19 +58,43 @@ if ( ! class_exists( 'um\admin\Admin_Functions' ) ) { * @return bool */ function is_plugin_post_type() { + $cpt = UM()->cpt_list(); + if ( isset( $_REQUEST['post_type'] ) ) { $post_type = $_REQUEST['post_type']; - if ( in_array( $post_type, array( 'um_form','um_directory' ) ) ) { + if ( in_array( $post_type, $cpt ) ) { return true; } } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'edit' ) { $post_type = get_post_type(); - if ( in_array( $post_type, array( 'um_form', 'um_directory' ) ) ) { + if ( in_array( $post_type, $cpt ) ) { return true; } } return false; } + + + /** + * If page now show content with restricted post/taxonomy + * + * @return bool + */ + function is_restricted_entity() { + $restricted_posts = UM()->options()->get( 'restricted_access_post_metabox' ); + $restricted_taxonomies = UM()->options()->get( 'restricted_access_taxonomy_metabox' ); + + global $typenow, $taxnow; + if ( ! empty( $typenow ) && ! empty( $restricted_posts[ $typenow ] ) ) { + return true; + } + + if ( ! empty( $taxnow ) && ! empty( $restricted_taxonomies[ $taxnow ] ) ) { + return true; + } + + return false; + } } } \ No newline at end of file diff --git a/includes/admin/core/class-admin-notices.php b/includes/admin/core/class-admin-notices.php index 96545122..c6ac545e 100644 --- a/includes/admin/core/class-admin-notices.php +++ b/includes/admin/core/class-admin-notices.php @@ -542,7 +542,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { if ( isset( $_GET['msg'] ) && 'updated' == $_GET['msg'] ) { $this->add_notice( 'upgrade', array( 'class' => 'updated', - 'message' => '

' . __( 'Successfully Upgraded', 'ultimate-member' ) . '

', + 'message' => '

' . sprintf( __( '%s %s Successfully Upgraded', 'ultimate-member' ), ultimatemember_plugin_name, ultimatemember_version ) . '

', ), 4 ); } } diff --git a/includes/admin/core/class-admin-settings.php b/includes/admin/core/class-admin-settings.php index d6a36e93..39d1e13e 100644 --- a/includes/admin/core/class-admin-settings.php +++ b/includes/admin/core/class-admin-settings.php @@ -75,11 +75,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) { add_filter( 'um_change_settings_before_save', array( $this, 'remove_empty_values' ), 10, 1 ); - //invalid licenses notice - //add_action( 'admin_notices', array( $this, 'check_wrong_licenses' ) ); - add_action( 'admin_init', array( &$this, 'um_download_install_info' ) ); - } @@ -1666,52 +1662,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) { } - /** - * - */ - function check_wrong_licenses() { - $invalid_license = 0; - $arr_inactive_license_keys = array(); - - if ( empty( $this->settings_structure['licenses']['fields'] ) ) - return; - - foreach ( $this->settings_structure['licenses']['fields'] as $field_data ) { - $license = get_option( "{$field_data['id']}_edd_answer" ); - - if ( ( is_object( $license ) && 'valid' == $license->license ) || 'valid' == $license ) - continue; - - if ( ( is_object( $license ) && 'inactive' == $license->license ) || 'inactive' == $license ){ - $arr_inactive_license_keys[ ] = $license->item_name; - } - - $invalid_license++; - - } - - if ( ! empty( $arr_inactive_license_keys ) ) { ?> - -
-

- www.UltimateMember.com.', 'ultimate-member' ), count( $arr_inactive_license_keys ) , ultimatemember_plugin_name, 'https://ultimatemember.com' ) ; ?> -

-
- - - -
-

- Licenses page to correct this issue.', 'ultimate-member' ), $invalid_license, ultimatemember_plugin_name, add_query_arg( array('page'=>'um_options', 'tab' => 'licenses'), admin_url( 'admin.php' ) ) ) ?> -

-
- - necessary_packages = $this->need_run_upgrades(); if ( ! empty( $this->necessary_packages ) ) { - //add_action( 'admin_notices', array( $this, 'need_upgrade' ) ); - $this->init_packages_ajax(); add_action( 'admin_menu', array( $this, 'admin_menu' ), 0 ); add_action( 'wp_ajax_um_run_package', array( $this, 'ajax_run_package' ) ); add_action( 'wp_ajax_um_get_packages', array( $this, 'ajax_get_packages' ) ); - } /*else { - //add_action( 'admin_notices', array( $this, 'updated_successfully' ) ); - }*/ - } - - - function need_upgrade() { - ?> -

%s version %s needs to be updated. Please visit to "Upgrade" page here and run the upgrade process.', 'ultimate-member' ), ultimatemember_plugin_name, ultimatemember_version, add_query_arg( array( 'page' => 'um_upgrade' ), admin_url( 'admin.php' ) ) ) ?>

- -

- + * @example + * + */ + $cpt = apply_filters( 'um_cpt_list', array( 'um_form', 'um_directory' ) ); + return $cpt; + } + } } \ No newline at end of file diff --git a/includes/core/class-access.php b/includes/core/class-access.php index f7eb6a9b..6bd09e95 100644 --- a/includes/core/class-access.php +++ b/includes/core/class-access.php @@ -322,8 +322,9 @@ if ( ! class_exists( 'um\core\Access' ) ) { //if current page not in exclude URLs //get redirect URL if not set get login page by default $redirect = UM()->options()->get( 'access_redirect' ); - if ( ! $redirect ) + if ( ! $redirect ) { $redirect = um_get_core_page( 'login' ); + } $this->redirect_handler = $this->set_referer( esc_url( add_query_arg( 'redirect_to', urlencode_deep( $curr ), $redirect ) ), 'global' ); } else { @@ -604,6 +605,8 @@ if ( ! class_exists( 'um\core\Access' ) ) { } elseif ( '1' == $restriction['_um_accessible'] ) { //if post for not logged in users and user is not logged in if ( ! is_user_logged_in() ) { + $this->singular_page = true; + $filtered_posts[] = $post; continue; } else { @@ -700,6 +703,8 @@ if ( ! class_exists( 'um\core\Access' ) ) { if ( empty( $restriction['_um_access_roles'] ) || false === array_search( '1', $restriction['_um_access_roles'] ) ) { if ( $custom_restrict ) { + $this->singular_page = true; + $filtered_posts[] = $post; continue; } @@ -707,6 +712,8 @@ if ( ! class_exists( 'um\core\Access' ) ) { $user_can = $this->user_can( get_current_user_id(), $restriction['_um_access_roles'] ); if ( isset( $user_can ) && $user_can && $custom_restrict ) { + $this->singular_page = true; + $filtered_posts[] = $post; continue; }