Example #1
0
 /**
  * Build query from filter data
  * @param Query $query Query object
  * @param array $data Filter data ($this->request->query)
  * @return Query $query Query object
  */
 public function queryFromFilter(Query $query, array $data = [])
 {
     $query = parent::queryFromFilter($query, $data);
     //"Name" field
     if (!empty($data['name']) && strlen($data['name']) > 2) {
         $query->where([sprintf('%s.tag LIKE', $this->alias()) => sprintf('%%%s%%', $data['name'])]);
     }
     return $query;
 }
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('users_groups');
     $this->displayField('label');
     $this->primaryKey('id');
     $this->hasMany('Users', ['foreignKey' => 'group_id', 'className' => 'MeCms.Users']);
     $this->addBehavior('Timestamp');
 }
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('banners_positions');
     $this->displayField('title');
     $this->primaryKey('id');
     $this->hasMany('Banners', ['foreignKey' => 'position_id', 'className' => 'MeCms.Banners']);
     $this->addBehavior('Timestamp');
 }
Example #4
0
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('posts_tags');
     $this->displayField('id');
     $this->primaryKey('id');
     $this->belongsTo('Tags', ['foreignKey' => 'tag_id', 'joinType' => 'INNER', 'className' => 'MeCms.Tags']);
     $this->belongsTo('Posts', ['foreignKey' => 'post_id', 'joinType' => 'INNER', 'className' => 'MeCms.Posts']);
     $this->addBehavior('CounterCache', ['Tags' => ['post_count']]);
 }
Example #5
0
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('pages');
     $this->displayField('title');
     $this->primaryKey('id');
     $this->belongsTo('Categories', ['foreignKey' => 'category_id', 'joinType' => 'INNER', 'className' => 'MeCms.PagesCategories']);
     $this->addBehavior('Timestamp');
     $this->addBehavior('CounterCache', ['Categories' => ['page_count']]);
 }
Example #6
0
 /**
  * Build query from filter data
  * @param Query $query Query object
  * @param array $data Filter data ($this->request->query)
  * @return Query $query Query object
  * @uses \MeCms\Model\Table\AppTable::queryFromFilter()
  */
 public function queryFromFilter(Query $query, array $data = [])
 {
     $query = parent::queryFromFilter($query, $data);
     //"Is spot?" field
     if (!empty($data['spot']) && $data['spot']) {
         $query->where([sprintf('%s.is_spot', $this->alias()) => true]);
     }
     return $query;
 }
Example #7
0
 /**
  * Build query from filter data
  * @param Query $query Query object
  * @param array $data Filter data ($this->request->query)
  * @return Query $query Query object
  * @uses \MeCms\Model\Table\AppTable::queryFromFilter()
  */
 public function queryFromFilter(Query $query, array $data = [])
 {
     $query = parent::queryFromFilter($query, $data);
     //"Album" field
     if (!empty($data['album']) && preg_match('/^[1-9]\\d*$/', $data['album'])) {
         $query->where([sprintf('%s.album_id', $this->alias()) => $data['album']]);
     }
     return $query;
 }
Example #8
0
 /**
  * Build query from filter data
  * @param Query $query Query object
  * @param array $data Filter data ($this->request->query)
  * @return Query $query Query object
  * @uses \MeCms\Model\Table\AppTable::queryFromFilter()
  */
 public function queryFromFilter(Query $query, array $data = [])
 {
     $query = parent::queryFromFilter($query, $data);
     //"Tag" field
     if (!empty($data['tag']) && strlen($data['tag']) > 2) {
         $query->matching('Tags', function ($q) use($data) {
             return $q->where([sprintf('%s.tag', $this->Tags->alias()) => $data['tag']]);
         });
     }
     return $query;
 }
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('photos_albums');
     $this->displayField('title');
     $this->primaryKey('id');
     $this->hasMany('Photos', ['foreignKey' => 'album_id', 'className' => 'MeCms.Photos']);
     $this->addBehavior('Timestamp');
 }
Example #10
0
 /**
  * Build query from filter data
  * @param Query $query Query object
  * @param array $data Filter data ($this->request->query)
  * @return Query $query Query object
  * @uses \MeCms\Model\Table\AppTable::queryFromFilter()
  */
 public function queryFromFilter(Query $query, array $data = [])
 {
     $query = parent::queryFromFilter($query, $data);
     //"Username" field
     if (!empty($data['username']) && strlen($data['username']) > 2) {
         $query->where([sprintf('%s.username LIKE', $this->alias()) => sprintf('%%%s%%', $data['username'])]);
     }
     //"Group" field
     if (!empty($data['group']) && preg_match('/^[1-9]\\d*$/', $data['group'])) {
         $query->where([sprintf('%s.group_id', $this->alias()) => $data['group']]);
     }
     //"Status" field
     if (!empty($data['status']) && in_array($data['status'], ['active', 'pending', 'banned'])) {
         switch ($data['status']) {
             case 'active':
                 $query->where([sprintf('%s.active', $this->alias()) => true, sprintf('%s.banned', $this->alias()) => false]);
                 break;
             case 'pending':
                 $query->where([sprintf('%s.active', $this->alias()) => false]);
                 break;
             case 'banned':
                 $query->where([sprintf('%s.banned', $this->alias()) => true]);
                 break;
         }
     }
     return $query;
 }
 /**
  * Initialize method
  * @param array $config The configuration for the table
  * @return void
  */
 public function initialize(array $config)
 {
     parent::initialize($config);
     $this->table('pages_categories');
     $this->displayField('title');
     $this->primaryKey('id');
     $this->belongsTo('Parents', ['className' => 'MeCms.PagesCategories', 'foreignKey' => 'parent_id']);
     $this->hasMany('Childs', ['className' => 'MeCms.PagesCategories', 'foreignKey' => 'parent_id']);
     $this->hasMany('Pages', ['className' => 'MeCms.Pages', 'foreignKey' => 'category_id']);
     $this->addBehavior('Timestamp');
     $this->addBehavior('MeCms.Tree');
 }