| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- namespace um\admin;
-
- // Exit if accessed directly.
- if ( ! defined( 'ABSPATH' ) ) exit;
-
- if ( ! class_exists( 'um\admin\Admin_Functions' ) ) {
-
-
- /**
- * Class Admin_Functions
- * @package um\admin\core
- */
- class Admin_Functions {
-
-
- /**
- * Admin_Functions constructor.
- */
- function __construct() {
-
- }
-
-
- /**
- * Check wp-admin nonce
- *
- * @param bool $action
- */
- function check_ajax_nonce( $action = false ) {
- $nonce = isset( $_REQUEST['nonce'] ) ? sanitize_text_field( $_REQUEST['nonce'] ) : '';
- $action = empty( $action ) ? 'um-admin-nonce' : $action;
-
- if ( ! wp_verify_nonce( $nonce, $action ) ) {
- wp_send_json_error( esc_js( __( 'Wrong Nonce', 'ultimate-member' ) ) );
- }
- }
-
-
- /**
- * Boolean check if we're viewing UM backend
- *
- * @return bool
- */
- function is_um_screen() {
- global $current_screen;
-
- $is_um_screen = false;
-
- if ( ! empty( $current_screen ) ) {
- $screen_id = $current_screen->id;
- if ( strstr( $screen_id, 'ultimatemember' ) ||
- strstr( $screen_id, 'um_' ) ||
- strstr( $screen_id, 'user' ) ||
- strstr( $screen_id, 'profile' ) ||
- $screen_id == 'nav-menus' ) {
- $is_um_screen = true;
- }
- }
-
- if ( $this->is_plugin_post_type() ) {
- $is_um_screen = true;
- }
-
- if ( $this->is_restricted_entity() ) {
- $is_um_screen = true;
- }
-
- return apply_filters( 'um_is_ultimatememeber_admin_screen', $is_um_screen );
- }
-
-
- /**
- * Check if current page load UM post type
- *
- * @return bool
- */
- function is_plugin_post_type() {
- $cpt = UM()->cpt_list();
-
- if ( isset( $_REQUEST['post_type'] ) ) {
- $post_type = sanitize_key( $_REQUEST['post_type'] );
- if ( in_array( $post_type, $cpt ) ) {
- return true;
- }
- } elseif ( isset( $_REQUEST['action'] ) && sanitize_key( $_REQUEST['action'] ) == 'edit' ) {
- $post_type = get_post_type();
- 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;
- }
- }
- }
|