1: <?php
2:
3: /*****************************************************************************************
4: * X2Engine Open Source Edition is a customer relationship management program developed by
5: * X2Engine, Inc. Copyright (C) 2011-2016 X2Engine Inc.
6: *
7: * This program is free software; you can redistribute it and/or modify it under
8: * the terms of the GNU Affero General Public License version 3 as published by the
9: * Free Software Foundation with the addition of the following permission added
10: * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11: * IN WHICH THE COPYRIGHT IS OWNED BY X2ENGINE, X2ENGINE DISCLAIMS THE WARRANTY
12: * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13: *
14: * This program is distributed in the hope that it will be useful, but WITHOUT
15: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16: * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
17: * details.
18: *
19: * You should have received a copy of the GNU Affero General Public License along with
20: * this program; if not, see http://www.gnu.org/licenses or write to the Free
21: * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22: * 02110-1301 USA.
23: *
24: * You can contact X2Engine, Inc. P.O. Box 66752, Scotts Valley,
25: * California 95067, USA. or at email address contact@x2engine.com.
26: *
27: * The interactive user interfaces in modified source and object code versions
28: * of this program must display Appropriate Legal Notices, as required under
29: * Section 5 of the GNU Affero General Public License version 3.
30: *
31: * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32: * these Appropriate Legal Notices must retain the display of the "Powered by
33: * X2Engine" logo. If the display of the logo is not reasonably feasible for
34: * technical reasons, the Appropriate Legal Notices must display the words
35: * "Powered by X2Engine".
36: *****************************************************************************************/
37:
38: /**
39: *
40: * @package application.models
41: * @property integer $id
42: * @property string $type
43: * @property integer $associationId
44: * @property string $note
45: * @property string $createdBy
46: * @property string $createDate
47: */
48: class Notes extends CActiveRecord {
49:
50: /**
51: * Returns the static model of the specified AR class.
52: * @return Notes the static model class
53: */
54: public static function model($className = __CLASS__) {
55: return parent::model($className);
56: }
57:
58: /**
59: * @return string the associated database table name
60: */
61: public function tableName() {
62: return 'x2_notes';
63: }
64:
65: /**
66: * @return array validation rules for model attributes.
67: */
68: public function rules() {
69: // NOTE: you should only define rules for those attributes that
70: // will receive user inputs.
71: return array(
72: array('type, associationId, note, createdBy', 'required'),
73: array('associationId', 'numerical', 'integerOnly' => true),
74: array('type', 'length', 'max' => 20),
75: array('createdBy', 'numerical', 'integerOnly' => true),
76: array('createDate', 'safe'),
77: // The following rule is used by search().
78: // Please remove those attributes that should not be searched.
79: array('id, type, associationId, note, createdBy, createDate', 'safe', 'on' => 'search'),
80: );
81: }
82:
83: /**
84: * @return array relational rules.
85: */
86: public function relations() {
87: // NOTE: you may need to adjust the relation name and the related
88: // class name for the relations automatically generated below.
89: return array(
90: );
91: }
92:
93: /**
94: * @return array customized attribute labels (name=>label)
95: */
96: public function attributeLabels() {
97: return array(
98: 'id' => 'ID',
99: 'type' => 'Type',
100: 'associationId' => 'Association',
101: 'note' => 'Note',
102: 'createdBy' => 'Created By',
103: 'createDate' => 'Create Date',
104: );
105: }
106:
107: /**
108: * Retrieves a list of models based on the current search/filter conditions.
109: * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
110: */
111: public function search() {
112: // Warning: Please modify the following code to remove attributes that
113: // should not be searched.
114:
115: $criteria = new CDbCriteria;
116:
117: $criteria->compare('id', $this->id);
118: $criteria->compare('type', $this->type, true);
119: $criteria->compare('associationId', $this->associationId);
120: $criteria->compare('note', $this->note, true);
121: $criteria->compare('createdBy', $this->createdBy, true);
122: $criteria->compare('createDate', $this->createDate, true);
123:
124: return new CActiveDataProvider(get_class($this), array(
125: 'criteria' => $criteria,
126: ));
127: }
128:
129: }