1 <?php
2
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 abstract class BaseP3Widget extends CActiveRecord{
22 public static function model($className=__CLASS__)
23 {
24 return parent::model($className);
25 }
26
27 public function tableName()
28 {
29 return 'p3_widget';
30 }
31
32 public function rules()
33 {
34 return array(
35 array('alias, containerId', 'required'),
36 array('rank, moduleId, controllerId, actionName, requestParam, sessionParam', 'default', 'setOnEmpty' => true, 'value' => ''),
37 array('rank', 'numerical', 'integerOnly'=>true),
38 array('alias, containerId, moduleId, controllerId, actionName, requestParam, sessionParam', 'length', 'max'=>128),
39 array('id, alias, rank, containerId, moduleId, controllerId, actionName, requestParam, sessionParam', 'safe', 'on'=>'search'),
40 );
41 }
42
43 public function relations()
44 {
45 return array(
46 'p3WidgetMeta' => array(self::HAS_ONE, 'P3WidgetMeta', 'id'),
47 'p3WidgetTranslations' => array(self::HAS_MANY, 'P3WidgetTranslation', 'p3_widget_id'),
48 );
49 }
50
51 public function attributeLabels()
52 {
53 return array(
54 'id' => Yii::t('P3WidgetsModule.crud', 'ID'),
55 'alias' => Yii::t('P3WidgetsModule.crud', 'Alias'),
56 'rank' => Yii::t('P3WidgetsModule.crud', 'Rank'),
57 'containerId' => Yii::t('P3WidgetsModule.crud', 'Container'),
58 'moduleId' => Yii::t('P3WidgetsModule.crud', 'Module'),
59 'controllerId' => Yii::t('P3WidgetsModule.crud', 'Controller'),
60 'actionName' => Yii::t('P3WidgetsModule.crud', 'Action Name'),
61 'requestParam' => Yii::t('P3WidgetsModule.crud', 'Request Param'),
62 'sessionParam' => Yii::t('P3WidgetsModule.crud', 'Session Param'),
63 );
64 }
65
66
67 public function search()
68 {
69 $criteria=new CDbCriteria;
70
71 $criteria->compare('id', $this->id);
72 $criteria->compare('alias', $this->alias, true);
73 $criteria->compare('rank', $this->rank);
74 $criteria->compare('containerId', $this->containerId, true);
75 $criteria->compare('moduleId', $this->moduleId, true);
76 $criteria->compare('controllerId', $this->controllerId, true);
77 $criteria->compare('actionName', $this->actionName, true);
78 $criteria->compare('requestParam', $this->requestParam, true);
79 $criteria->compare('sessionParam', $this->sessionParam, true);
80
81 return new CActiveDataProvider(get_class($this), array(
82 'criteria'=>$criteria,
83 ));
84 }
85
86 public function get_label()
87 {
88 return '#'.$this->id;
89
90 }
91
92 }
93