controller->module->enableHtmlPurifier) { $purifier = new CHtmlPurifier(); $this->content = $purifier->purify($this->content); } return parent::beforeValidate(); } public function tableName() { return 'sitecontent'; } public function rules() { return array( array('position, title, language, depth', 'required'), array('parent, depth, position, createtime, updatetime', 'numerical', 'integerOnly'=>true), array('title, keywords, description', 'length', 'max'=>255), array('content, title_url, title_browser', 'safe'), array('title, keywords, description, content, language', 'safe', 'on'=>'search'), ); } public function relations() { return array( 'oparent' => array(self::BELONGS_TO, 'Sitecontent', 'parent'), 'childs' => array(self::HAS_MANY, 'Sitecontent', 'parent'), ); } public function attributeLabels() { return array( 'id' => '#', 'parent' => Yii::t('CmsModule.cms', 'Parent'), 'position' => Yii::t('CmsModule.cms', 'Position'), 'title' => Yii::t('CmsModule.cms', 'Title'), 'title_url' => Yii::t('CmsModule.cms', 'URL title'), 'title_browser' => Yii::t('CmsModule.cms', 'Browser title'), 'content' => Yii::t('CmsModule.cms', 'Content'), 'authorid' => Yii::t('CmsModule.cms', 'Authorid'), 'createtime' => Yii::t('CmsModule.cms', 'Createtime'), 'updatetime' => Yii::t('CmsModule.cms', 'Updatetime'), 'language' => Yii::t('CmsModule.cms', 'Language'), 'depth' => Yii::t('CmsModule.cms', 'Depth'), ); } public function search() { $criteria=new CDbCriteria; $criteria->compare('id',$this->id); $criteria->compare('position',$this->position); $criteria->compare('language',$this->language); $criteria->compare('title',$this->title,true); $criteria->compare('keywords',$this->keywords,true); $criteria->compare('description',$this->description,true); $criteria->compare('content',$this->content,true); $criteria->compare('authorid',$this->authorid); $criteria->compare('createtime',$this->createtime); $criteria->compare('updatetime',$this->updatetime); //$criteria->compare('depth',$this->depth); return new CActiveDataProvider('Sitecontent', array( 'criteria'=>$criteria, )); } public function beforeSave() { if ($this->parent > 0){ $this->depth = $this->oparent->depth + 1; } return parent::beforeSave(); } }