403Webshell
Server IP : 162.0.217.223  /  Your IP : 216.73.216.150
Web Server : LiteSpeed
System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : mypckeys ( 1539)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/mypckeys/public_html/wp-content/plugins/hide-my-wp/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mypckeys/public_html/wp-content/plugins/hide-my-wp/models/RoleManager.php
<?php
/**
 * RoleManager Model
 * Called to handle the RoleManager & Capabilities for the current user
 *
 * @file  The RoleManager Model file
 * @package HMWP/RoleManagerModel
 * @since 5.0.0
 */

class HMWP_Models_RoleManager {

	public $roles;

	public function __construct() {
		add_action( 'admin_init', array( $this, 'addHMWPCaps' ), PHP_INT_MAX );
		add_filter( 'user_has_cap', array( $this, 'setUserHasCap' ), PHP_INT_MAX, 4);
	}

	/**
	 * Make sure the user has the capability if set in any role
	 * @param $allcaps
	 * @param $caps
	 * @param $args
	 * @param $user
	 *
	 * @return mixed
	 */
	public function setUserHasCap( $allcaps, $caps, $args, $user ) {

		if ( ! in_array( HMWP_CAPABILITY, $caps ) ) {
			return $allcaps;
		}

		if( isset($allcaps[HMWP_CAPABILITY]) && $allcaps[HMWP_CAPABILITY] ) {
			return $allcaps;
		}elseif( ! isset($allcaps[HMWP_CAPABILITY]) && user_can( $user->ID, 'manage_options' ) ){
			$allcaps[HMWP_CAPABILITY] = 1;
		}

		//If the user has multiple roles
		if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
			foreach ( $user->roles as $role ) {

				/** @var WP_Role $allroles */
				$role_object = get_role( $role );

				foreach ( (array) $caps as $cap ) {
					if ( $role_object->has_cap( $cap ) ) {
						$allcaps[$cap] = 1;
					}
				}

			}
		}

		return $allcaps;
	}

	/**
	 * Register HMWP Caps
	 * in case they don't exist
	 */
	public function addHMWPCaps() {

		if ( function_exists( 'wp_roles' ) ) {

			/** @var WP_Role[] $allroles */
			$allroles = wp_roles()->get_names();

			if ( ! empty( $allroles ) ) {
				$allroles = array_keys( $allroles );
			}

			if ( ! empty( $allroles ) ) {
				foreach ( $allroles as $role ) {
					if ( $role == 'administrator' ) {
						/** @var WP_Role $allroles */
						$wp_role = get_role( $role );
						$this->addCap( $wp_role, HMWP_CAPABILITY );
					}
				}
			}
		}
	}

	public function removeHMWPCaps() {
		if ( function_exists( 'wp_roles' ) ) {
			/** @var WP_Role[] $allroles */
			$allroles = wp_roles()->get_names();

			if ( ! empty( $allroles ) ) {
				$allroles = array_keys( $allroles );
			}

			if ( ! empty( $allroles ) ) {
				foreach ( $allroles as $role ) {
					/** @var WP_Role $allroles */
					$wp_role = get_role( $role );
					$this->removeCap( $wp_role, HMWP_CAPABILITY );
				}
			}
		}

	}

	/**
	 * Add a cap into WP for a role
	 *
	 * @param WP_Role $role
	 * @param string $capability
	 */
	public function addCap( $role, $capability ) {

		if ( ! $role || ! method_exists( $role, 'add_cap' ) ) {
			return;
		}

		if ( ! isset( $role->capabilities[$capability] ) ) {
			$role->add_cap( $capability );
		}
	}

	/**
	 * Remove the caps for a role
	 *
	 * @param WP_Role $role
	 * @param string $capability
	 */
	public function removeCap( $role, $capability ) {

		if ( ! $role || ! method_exists( $role, 'remove_cap' ) ) {
			return;
		}

		if ( isset( $role->capabilities[$capability] ) ) {
			$role->remove_cap( $capability );
		}
	}


}

Youez - 2016 - github.com/yon3zu
LinuXploit