HEX
Server: LiteSpeed
System: Linux melbournecleaninggroup 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: www-data (33)
PHP: 7.3.33-1+focal
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/wp-content/plugins/brizy/admin/capabilities.php
<?php

class Brizy_Admin_Capabilities {

	/**
	 * @var Brizy_Editor_Storage_Common
	 */
	private $storage;

	const CAP_EDIT_WHOLE_PAGE = 'brizy_edit_whole_page';
	const CAP_EDIT_CONTENT_ONLY = 'brizy_edit_content_only';

	/**
	 * Brizy_Admin_Capabilities constructor.
	 *
	 * @param $common_storage
	 *
	 * @throws Brizy_Editor_Exceptions_NotFound
	 */
	public function __construct( $common_storage ) {

		$this->storage            = $common_storage;
		$are_capabilities_created = $common_storage->get( 'capabilities_created', false );

		if ( ! $are_capabilities_created ) {
			$this->create_capabilities();
			$common_storage->set( 'capabilities_created', 1 );
			$this->storage->delete( 'exclude-roles' );
		}
	}

	/**
	 * @throws Brizy_Editor_Exceptions_NotFound
	 */
	private function create_capabilities() {

		global $wp_roles;

		// add capability to adiministrator
		$wp_roles->add_cap( 'administrator', self::CAP_EDIT_WHOLE_PAGE );

		$roles       = Brizy_Admin_Settings::get_role_list();
		$old_explude = $this->storage->get( 'exclude-roles', false );
		$old_explude = is_array( $old_explude ) ? $old_explude : array();

		foreach ( $roles as $role ) {

			if ( $role['id'] == 'subscriber' ) {
				continue;
			}

			if ( in_array( $role['id'], $old_explude ) ) {
				$wp_roles->remove_cap( $role['id'], self::CAP_EDIT_WHOLE_PAGE );
				continue;
			}

			$wp_roles->add_cap( $role['id'], self::CAP_EDIT_WHOLE_PAGE );
		}
	}
}