1 <?php
2 3 4 5 6 7 8 9
10
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33 abstract class BaseP3Media extends CActiveRecord{
34
35 public $type = 1;
36
37 public static function model($className=__CLASS__)
38 {
39 return parent::model($className);
40 }
41
42 public function tableName()
43 {
44 return 'p3_media';
45 }
46
47 public function rules()
48 {
49 return array(
50 array('path, title', 'unique'),
51 array('title', 'identificationColumnValidator'),
52 array('title', 'required'),
53 array('description, type, path, md5, originalName, mimeType, size, info', 'default', 'setOnEmpty' => true, 'value' => null),
54 array('type, size', 'numerical', 'integerOnly'=>true),
55 array('title, md5', 'length', 'max'=>32),
56 array('path', 'length', 'max'=>255),
57 array('originalName, mimeType', 'length', 'max'=>128),
58 array('description, info', 'safe'),
59 array('id, title, description, type, path, md5, originalName, mimeType, size, info', 'safe', 'on'=>'search'),
60 );
61 }
62
63 public function relations()
64 {
65 return array(
66 'p3MediaMeta' => array(self::HAS_ONE, 'P3MediaMeta', 'id'),
67 );
68 }
69
70 public function attributeLabels()
71 {
72 return array(
73 'id' => Yii::t('app', 'ID'),
74 'title' => Yii::t('app', 'Title'),
75 'description' => Yii::t('app', 'Description'),
76 'type' => Yii::t('app', 'Type'),
77 'path' => Yii::t('app', 'Path'),
78 'md5' => Yii::t('app', 'Md5'),
79 'originalName' => Yii::t('app', 'Original Name'),
80 'mimeType' => Yii::t('app', 'Mime Type'),
81 'size' => Yii::t('app', 'Size'),
82 'info' => Yii::t('app', 'Info'),
83 );
84 }
85
86
87 public function search()
88 {
89 $criteria=new CDbCriteria;
90
91 $criteria->compare('id', $this->id);
92 $criteria->compare('title', $this->title, true);
93 $criteria->compare('description', $this->description, true);
94 $criteria->compare('type', $this->type);
95 $criteria->compare('path', $this->path, true);
96 $criteria->compare('md5', $this->md5, true);
97 $criteria->compare('originalName', $this->originalName, true);
98 $criteria->compare('mimeType', $this->mimeType, true);
99 $criteria->compare('size', $this->size);
100 $criteria->compare('info', $this->info, true);
101
102 return new CActiveDataProvider(get_class($this), array(
103 'criteria'=>$criteria,
104 ));
105 }
106
107 public function get_label()
108 {
109 return '#'.$this->id;
110
111 }
112
113 }
114