public function init() { if(Y::isGuest()) $this->redirect(Admin::url('login')); if(!Y::checkAccess('moderator')) Y::end($this->render('accessDenied')); parent::init(); $folder = Y::asset('admin.assets'); Y::clientScript() ->registerCoreScript('jquery') ->registerCoreScript('jquery.ui'); Y::clientScript()->ajaxExclude(array( 'jquery.js', 'jquery-ui.min.js', 'jquery-ui.css', //treeview 'jquery.treeview.js', 'jquery.cookie.js', 'jquery.treeview.edit.js', 'jquery.treeview.async.js', )); }
private function _redirect() { if (Y::checkAccess('moderator')) $this->redirect($this->module->adminReturnUrl); else $this->redirect($this->module->returnUrl); }
/** * @return array validation rules for model attributes. */ public function rules() { return (Y::checkAccess('moderator')?array( array('username, password, email', 'required', 'on' => 'create'), array('username, email', 'required', 'on' => 'update'), array('id, role, username, password, email, activkey, createtime, lastvisit, status', 'safe'), array('username', 'length', 'max'=>20, 'min' => 3,'message' => Users::t("Incorrect username (length between 2 and 20 characters).")), array('password', 'length', 'max'=>128, 'min' => 4,'message' => Users::t("Incorrect password (minimal length 4 symbols).")), array('email', 'email'), array('username', 'unique', 'message' => Users::t("This user's name already exists.")), array('email', 'unique', 'message' => Users::t("This user's email address already exists.")), array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => Users::t("Incorrect symbols (A-z0-9).")), array('status', 'in', 'range'=>array(self::STATUS_NOACTIVE,self::STATUS_ACTIVE,self::STATUS_BANED)), array('role', 'in', 'range'=>Lookup::keys('role')), array('username, email, createtime, lastvisit, status', 'required'), array('createtime, lastvisit, status', 'numerical', 'integerOnly'=>true), ):((Y::userId()==$this->id)?array( array('username, email', 'required'), array('username', 'length', 'max'=>20, 'min' => 3,'message' => Users::t("Incorrect username (length between 2 and 20 characters).")), array('email', 'email'), array('username', 'unique', 'message' => Users::t("This user's name already exists.")), array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => Users::t("Incorrect symbols (A-z0-9).")), array('email', 'unique', 'message' => Users::t("This user's email address already exists.")), ):array())); }
/** * Return admin status. * @return boolean */ public static function isAdmin() { if(Y::isGuest()) return false; else { if (!isset(self::$_admin)) { if(Y::checkAccess('administrator')) self::$_admin = true; else self::$_admin = false; } return self::$_admin; } }