33 public static function model($className = __CLASS__)
47 return '{{remembered_pages}}';
58 array(
'created',
'default',
'value' => AppHelper::mysqlDate()),
59 array(
'url, title, page_id, collection_id',
'required'),
60 array(
'page_id, title',
'length',
'max'=>255),
61 array(
'additional',
'safe'),
62 array(
'created',
'type',
'type'=>
'datetime',
'datetimeFormat' =>
'yyyy-MM-dd HH:mm:ss'),
63 array(
'id, url, title, page_id, collection_id, created',
'safe',
'on'=>
'search'),
68 public function getAttributeLabel($name)
73 protected function beforeSave()
75 if($this->additional !== null) {
76 $this->additional = serialize($this->additional);
78 return parent::beforeSave();
81 protected function afterSave()
83 if($this->additional !== null) {
84 $this->additional = unserialize($this->additional);
88 protected function afterFind()
90 if($this->additional !== null) {
91 $this->additional = unserialize($this->additional);
95 public function getFbSharerUrl(){
96 $shareUrl =
"http://www.facebook.com/sharer.php?s=100&p[title]=%title%&p[url]=%url%&p[summary]=%summary%&p[images][0]=%image%";
98 array(
'%title%',
'%url%',
'%summary%',
'%image%'),
99 array($this->title, $this->url, $this->title, $this->image), $shareUrl);
106 public function search($pageSize = 10, $collection_id = null)
111 $criteria =
new CDbCriteria;
113 $criteria->compare(
'id', $this->
id,
true);
114 $criteria->compare(
'page_id', $this->page_id,
true);
115 $criteria->compare(
'url', $this->url,
true);
116 $criteria->compare(
'title', $this->title,
true);
117 $criteria->compare(
'created', $this->created,
true);
118 $criteria->compare(
'collection_id', $collection_id);
120 $pagination =
new CPagination($this->count($criteria));
121 $pagination->applyLimit($criteria);
122 $pagination->setPageSize($pageSize);
124 return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'pagination' => $pagination));