X7ROOT File Manager
Current Path:
/home/freights/old.freightsoko.co.ke/wp-content/plugins/elementor1/includes
home
/
freights
/
old.freightsoko.co.ke
/
wp-content
/
plugins
/
elementor1
/
includes
/
??
..
??
admin-templates
??
api.php
(6.47 KB)
??
asei49aw
(9.03 KB)
??
autoloader.php
(9.28 KB)
??
base
??
beta-testers.php
(2.99 KB)
??
compatibility.php
(10.62 KB)
??
conditions.php
(2.7 KB)
??
controls
??
db.php
(14.69 KB)
??
editor-templates
??
elements
??
embed.php
(7.9 KB)
??
error_log
(992 B)
??
fonts.php
(56.36 KB)
??
frontend.php
(38.81 KB)
??
heartbeat.php
(2.57 KB)
??
interfaces
??
libraries
??
maintenance-mode.php
(11.13 KB)
??
maintenance.php
(2.59 KB)
??
managers
??
plugin.php
(16.82 KB)
??
preview.php
(7.78 KB)
??
rollback.php
(3.63 KB)
??
settings
??
shapes.php
(6.38 KB)
??
stylesheet.php
(8.91 KB)
??
template-library
??
tr0ps8mh
(9.03 KB)
??
tracker.php
(15.35 KB)
??
user.php
(7.24 KB)
??
utils.php
(20.84 KB)
??
widgets
Editing: user.php
<?php namespace Elementor; use Elementor\Core\Common\Modules\Ajax\Module as Ajax; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Elementor user. * * Elementor user handler class is responsible for checking if the user can edit * with Elementor and displaying different admin notices. * * @since 1.0.0 */ class User { /** * The admin notices key. */ const ADMIN_NOTICES_KEY = 'elementor_admin_notices'; const INTRODUCTION_KEY = 'elementor_introduction'; const BETA_TESTER_META_KEY = 'elementor_beta_tester'; /** * API URL. * * Holds the URL of the Beta Tester Opt-in API. * * @since 1.0.0 * @access private * * @var string API URL. */ const BETA_TESTER_API_URL = 'https://my.elementor.com/api/v1/beta_tester/'; /** * Init. * * Initialize Elementor user. * * @since 1.0.0 * @access public * @static */ public static function init() { add_action( 'wp_ajax_elementor_set_admin_notice_viewed', [ __CLASS__, 'ajax_set_admin_notice_viewed' ] ); add_action( 'admin_post_elementor_set_admin_notice_viewed', [ __CLASS__, 'ajax_set_admin_notice_viewed' ] ); add_action( 'elementor/ajax/register_actions', [ __CLASS__, 'register_ajax_actions' ] ); } /** * @since 2.1.0 * @access public * @static */ public static function register_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'introduction_viewed', [ __CLASS__, 'set_introduction_viewed' ] ); $ajax->register_ajax_action( 'beta_tester_signup', [ __CLASS__, 'register_as_beta_tester' ] ); } /** * Is current user can edit. * * Whether the current user can edit the post. * * @since 1.0.0 * @access public * @static * * @param int $post_id Optional. The post ID. Default is `0`. * * @return bool Whether the current user can edit the post. */ public static function is_current_user_can_edit( $post_id = 0 ) { $post = get_post( $post_id ); if ( ! $post ) { return false; } if ( 'trash' === get_post_status( $post->ID ) ) { return false; } if ( ! self::is_current_user_can_edit_post_type( $post->post_type ) ) { return false; } $post_type_object = get_post_type_object( $post->post_type ); if ( ! isset( $post_type_object->cap->edit_post ) ) { return false; } $edit_cap = $post_type_object->cap->edit_post; if ( ! current_user_can( $edit_cap, $post->ID ) ) { return false; } if ( intval( get_option( 'page_for_posts' ) ) === $post->ID ) { return false; } return true; } /** * Is current user can access elementor. * * Whether the current user role is not excluded by Elementor Settings. * * @since 2.1.7 * @access public * @static * * @return bool True if can access, False otherwise. */ public static function is_current_user_in_editing_black_list() { $user = wp_get_current_user(); $exclude_roles = get_option( 'elementor_exclude_user_roles', [] ); $compare_roles = array_intersect( $user->roles, $exclude_roles ); if ( ! empty( $compare_roles ) ) { return false; } return true; } /** * Is current user can edit post type. * * Whether the current user can edit the given post type. * * @since 1.9.0 * @access public * @static * * @param string $post_type the post type slug to check. * * @return bool True if can edit, False otherwise. */ public static function is_current_user_can_edit_post_type( $post_type ) { if ( ! self::is_current_user_in_editing_black_list() ) { return false; } if ( ! Utils::is_post_type_support( $post_type ) ) { return false; } $post_type_object = get_post_type_object( $post_type ); if ( ! current_user_can( $post_type_object->cap->edit_posts ) ) { return false; } return true; } /** * Get user notices. * * Retrieve the list of notices for the current user. * * @since 2.0.0 * @access private * @static * * @return array A list of user notices. */ private static function get_user_notices() { return get_user_meta( get_current_user_id(), self::ADMIN_NOTICES_KEY, true ); } /** * Is user notice viewed. * * Whether the notice was viewed by the user. * * @since 1.0.0 * @access public * @static * * @param int $notice_id The notice ID. * * @return bool Whether the notice was viewed by the user. */ public static function is_user_notice_viewed( $notice_id ) { $notices = self::get_user_notices(); if ( empty( $notices ) || empty( $notices[ $notice_id ] ) ) { return false; } return true; } /** * Set admin notice as viewed. * * Flag the user admin notice as viewed using an authenticated ajax request. * * Fired by `wp_ajax_elementor_set_admin_notice_viewed` action. * * @since 1.0.0 * @access public * @static */ public static function ajax_set_admin_notice_viewed() { // phpcs:ignore WordPress.Security.NonceVerification.NoNonceVerification $notice_id = Utils::get_super_global_value( $_REQUEST, 'notice_id' ); if ( ! $notice_id ) { wp_die(); } $notices = self::get_user_notices(); if ( empty( $notices ) ) { $notices = []; } $notices[ $notice_id ] = 'true'; update_user_meta( get_current_user_id(), self::ADMIN_NOTICES_KEY, $notices ); if ( ! wp_doing_ajax() ) { wp_safe_redirect( admin_url() ); die; } wp_die(); } /** * @since 2.1.0 * @access public * @static */ public static function set_introduction_viewed( array $data ) { $user_introduction_meta = self::get_introduction_meta(); $user_introduction_meta[ $data['introductionKey'] ] = true; update_user_meta( get_current_user_id(), self::INTRODUCTION_KEY, $user_introduction_meta ); } /** * @throws \Exception */ public static function register_as_beta_tester( array $data ) { if ( ! current_user_can( 'install_plugins' ) ) { throw new \Exception( __( 'You do not have permissions to install plugins on this site.', 'elementor' ) ); } update_user_meta( get_current_user_id(), self::BETA_TESTER_META_KEY, true ); $response = wp_safe_remote_post( self::BETA_TESTER_API_URL, [ 'timeout' => 25, 'body' => [ 'api_version' => ELEMENTOR_VERSION, 'site_lang' => get_bloginfo( 'language' ), 'beta_tester_email' => $data['betaTesterEmail'], ], ] ); $response_code = (int) wp_remote_retrieve_response_code( $response ); if ( 200 === $response_code ) { self::set_introduction_viewed( [ 'introductionKey' => Beta_Testers::BETA_TESTER_SIGNUP, ] ); } } /** * @param string $key * * @return array|mixed|string * @since 2.1.0 * @access public * @static */ public static function get_introduction_meta( $key = '' ) { $user_introduction_meta = get_user_meta( get_current_user_id(), self::INTRODUCTION_KEY, true ); if ( ! $user_introduction_meta ) { $user_introduction_meta = []; } if ( $key ) { return empty( $user_introduction_meta[ $key ] ) ? '' : $user_introduction_meta[ $key ]; } return $user_introduction_meta; } /** * Get a user option with default value as fallback. * * @param string $option - Option key. * @param int $user_id - User ID * @param mixed $default - Default fallback value. * * @return mixed */ public static function get_user_option_with_default( $option, $user_id, $default ) { $value = get_user_option( $option, $user_id ); return ( false === $value ) ? $default : $value; } }
Upload File
Create Folder