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);
 }
Exemple #3
0
	/**
	 * @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;
		}
	}