*/ class AAM_Backend_Feature_Main_LogoutRedirect extends AAM_Backend_Feature_Abstract { /** * Construct */ public function __construct() { parent::__construct(); $allowed = AAM_Backend_Subject::getInstance()->isAllowedToManage(); if (!$allowed || !current_user_can('aam_manage_logout_redirect')) { AAM::api()->denyAccess(array('reason' => 'aam_manage_logout_redirect')); } } /** * Undocumented function * * @return void */ public function save() { $param = AAM_Core_Request::post('param'); $value = AAM_Core_Request::post('value'); $object = AAM_Backend_Subject::getInstance()->getObject('logoutRedirect'); $object->save($param, $value); return wp_json_encode(array('status' => 'success')); } /** * * @return type */ public function reset() { return AAM_Backend_Subject::getInstance()->resetObject('logoutRedirect'); } /** * * @return type */ public function isDefault() { $subject = AAM_Backend_Subject::getInstance(); return ($subject->getUID() === 'default'); } /** * Check inheritance status * * Check if redirect settings are overwritten * * @return boolean * * @access protected */ protected function isOverwritten() { $object = AAM_Backend_Subject::getInstance()->getObject('logoutRedirect'); return $object->isOverwritten(); } /** * * @param type $option * @return type */ public function getOption($option, $default = null) { $object = AAM_Backend_Subject::getInstance()->getObject('logoutRedirect'); $value = $object->get($option); return (!is_null($value) ? $value : $default); } /** * @inheritdoc */ public static function getTemplate() { return 'main/logout-redirect.phtml'; } /** * Register Contact/Hire feature * * @return void * * @access public */ public static function register() { AAM_Backend_Feature::registerFeature((object) array( 'uid' => 'logout_redirect', 'position' => 41, 'title' => __('Logout Redirect', AAM_KEY), 'capability' => 'aam_manage_logout_redirect', 'type' => 'main', 'subjects' => array( AAM_Core_Subject_Role::UID, AAM_Core_Subject_User::UID, AAM_Core_Subject_Default::UID ), 'view' => __CLASS__ )); } }