{$name}(...$args); } /** * Get utility instance * * @param string $name * * @return AAM_Framework_Utility_Interface * @access public * * @version 7.0.0 */ public function __get($name) { return $this->utility($name); } /** * Get user by their's identifier * * If no identifier provided, the current user will be return. If user is not * authenticated, the visitor access level will be returned. * * @param mixed $identifier * * @return AAM_Framework_AccessLevel_User|AAM_Framework_AccessLevel_Visitor * @access public * * @version 7.0.9 */ public function user($identifier = null) { if (is_null($identifier)) { $result = AAM::current_user(); } elseif (!empty($identifier)) { // User ID can be 0 (zero) $result = $this->access_levels->get( AAM_Framework_Type_AccessLevel::USER, $identifier ); } else { $result = $this->access_levels->get( AAM_Framework_Type_AccessLevel::VISITOR ); } return $result; } /** * Get role access level * * @param string $role_slug * * @return AAM_Framework_AccessLevel_Role * @access public * * @version 7.0.0 */ public function role($role_slug) { return $this->access_levels->get( AAM_Framework_Type_AccessLevel::ROLE, $role_slug ); } /** * Get visitor access level * * @return AAM_Framework_AccessLevel_Visitor * @access public * * @version 7.0.0 */ public function visitor() { return $this->access_levels->get(AAM_Framework_Type_AccessLevel::VISITOR); } /** * Get visitor access level * * @return AAM_Framework_AccessLevel_Visitor * @access public * * @version 7.0.0 */ public function anonymous() { return $this->visitor(); } /** * Get visitor access level * * @return AAM_Framework_AccessLevel_Visitor * @access public * * @version 7.0.0 */ public function guest() { return $this->visitor(); } /** * Get default access level * * @return AAM_Framework_AccessLevel_Default * @access public * * @version 7.0.0 */ public function default() { return $this->access_levels->get(AAM_Framework_Type_AccessLevel::DEFAULT); } /** * Get default access level * * @return AAM_Framework_AccessLevel_Default * @access public * * @version 7.0.0 */ public function all() { return $this->default(); } /** * Get default access level * * @return AAM_Framework_AccessLevel_Default * @access public * * @version 7.0.0 */ public function everyone() { return $this->default(); } /** * Get default access level * * @return AAM_Framework_AccessLevel_Default * @access public * * @version 7.0.0 */ public function anyone() { return $this->default(); } /** * Get default access level * * @return AAM_Framework_AccessLevel_Default * @access public * * @version 7.0.0 */ public function any() { return $this->default(); } /** * Return utility instance * * @param string $utility_name * * @return AAM_Framework_Utility_Interface * @access public * * @version 7.0.0 */ public function utility($utility_name) { return AAM_Framework_Manager::_()->{$utility_name}; } /** * Setup the framework manager * * @param AAM_Framework_AccessLevel_Interface $access_level * * @return void * @access public * * @version 7.0.0 */ public function setup($access_level) { AAM_Framework_Manager::setup($access_level); } /** * Get single instance of itself * * @return AAM_Core_Gateway * @access public * * @version 7.0.0 */ public static function get_instance() { if (is_null(self::$_instance)) { self::$_instance = new self; } return self::$_instance; } }