/**
  * getListQuery
  *
  * @param Query $query
  *
  * @return  Query
  */
 protected function getListQuery(Query $query)
 {
     $queryHelper = $this->getQueryHelper();
     $queryHelper->addTable('cat', 'categories')->addTable('blog', 'blogs', 'blog.id = cat.blog');
     $query->select($queryHelper->getSelectFields())->where($query->format('%n = %q', 'blog.id', $this['blog.id']));
     $query = $queryHelper->registerQueryTables($query);
     if ($this['list.search']) {
         $search[] = $query->format('%n LIKE %q', 'title', '%' . $this['list.search'] . '%');
         $search[] = $query->format('%n LIKE %q', 'alias', '%' . $this['list.search'] . '%');
         $query->where(new QueryElement('()', $search, ' OR '));
     }
     return $query;
 }
Example #2
0
 /**
  * getListQuery
  *
  * @param Query $query
  *
  * @return  Query
  */
 protected function getListQuery(Query $query)
 {
     $queryHelper = $this->getQueryHelper();
     $queryHelper->addTable('post', 'posts')->addTable('author', 'authors', 'post.author = author.id')->addTable('user', 'users', 'user.id = author.user')->addTable('blog', 'blogs', 'post.blog = blog.id');
     $query->select($queryHelper->getSelectFields())->where($query->format('%n = %q', 'blog.id', $this['blog.id']))->where($query->format('%n = %q', 'type', $this['post.type']));
     $query = $queryHelper->registerQueryTables($query);
     if ($this['list.search']) {
         $search[] = $query->format('%n LIKE %q', 'title', '%' . $this['list.search'] . '%');
         $search[] = $query->format('%n LIKE %q', 'alias', '%' . $this['list.search'] . '%');
         $query->where(new QueryElement('()', $search, ' OR '));
     }
     if ($this['list.ordering']) {
         $query->order($this['list.ordering']);
     }
     return $query;
 }
Example #3
0
 /**
  * getListQuery
  *
  * @param Query $query
  *
  * @return  Query
  */
 protected function getListQuery(Query $query)
 {
     $queryHelper = $this->getQueryHelper();
     $queryHelper->addTable('author', 'authors')->addTable('user', 'users', 'user.id = author.user')->addTable('blog', 'blogs', 'blog.id = author.blog');
     $query->select($queryHelper->getSelectFields());
     if ($this['blog.id']) {
         $query->where($query->format('%n = %q', 'blog.id', $this['blog.id']));
     }
     if ($this['find.query']) {
         $q = '%' . $this['find.query'] . '%';
         $conditions[] = $query->format('%n LIKE %q', 'user.username', $q);
         $conditions[] = $query->format('%n LIKE %q', 'user.fullname', $q);
         $conditions[] = $query->format('%n LIKE %q', 'user.email', $q);
         $conditions[] = $query->format('%n LIKE %q', 'author.name', $q);
         $query->where(new QueryElement('()', $conditions, ' OR '));
     }
     $query = $queryHelper->registerQueryTables($query);
     if ($this['list.search']) {
         $search[] = $query->format('%n LIKE %q', 'title', '%' . $this['list.search'] . '%');
         $search[] = $query->format('%n LIKE %q', 'alias', '%' . $this['list.search'] . '%');
         $query->where(new QueryElement('()', $search, ' OR '));
     }
     return $query;
 }