コード例 #1
0
 public function deliverQueryObject()
 {
     $query = parent::deliverQueryObject();
     $u = new User();
     if ($u->isLoggedIn()) {
         $uID = $u->getUserID();
     } else {
         $uID = -1;
     }
     if ($uID != -1) {
         // $query->leftJoin('p', 'UserPageFavorites', 'fav', 'p.cID = fav.cID');
         // $query->addSelect('fav.uID IS NOT NULL as favorite');
         // $query->leftJoin('p', 'UserPageFavorites', 'fav', 'p.pID = fav.pID and fav.uID = '.(int)$u->getUserID());
         $relation = Database::get()->createQueryBuilder();
         $relation->select('mpRelationID')->from('MultilingualPageRelations', 'mppr')->leftJoin('mppr', 'UserPageFavorites', 'fav', 'mppr.CID = fav.cID WHERE fav.uID = :uID')->setParameter('uID', (int) $uID);
         //     // ->
         // andWhere('fav.uID = :uID');
         $query->leftJoin('p', 'MultilingualPageRelations', 'mmpr2', 'p.cID = mmpr2.cID');
         $query->addSelect('mmpr2.mpRelationID');
         // $query->andWhere("mmpr2.mpRelationID in (" . $relation . ")");
         $query->addSelect(' mmpr2.mpRelationID in (' . $relation . ') as favorite');
         $query->andWhere("mmpr2.mpLocale = :loc");
         $query->setParameter('uID', (int) $uID);
         $query->setParameter('loc', \Localization::activeLocale());
         if ($this->onlyFavorites) {
             // Does this slow the query or what
             $query->andWhere('mmpr2.mpRelationID in (' . $relation . ')');
         }
         // var_dump(\Localization::activeLocale());
         // echo $query->getSql();
     }
     return $query;
 }
コード例 #2
0
 public function deliverQueryObject()
 {
     $query = parent::deliverQueryObject();
     $u = new User();
     if ($u->getUserID()) {
         $query->addSelect('fav.uID IS NOT NULL as favorite');
         $query->leftJoin('p', 'UserPageFavorites', 'fav', 'p.pID = fav.pID and fav.uID = ' . (int) $u->getUserID());
     }
     if ($this->favorites == true && $u->getUserID()) {
         $query->andWhere('fav.uID IS NOT NULL');
     }
     return $query;
 }
コード例 #3
0
 public function view()
 {
     $pl = new PageList();
     if ($this->ptID) {
         $pl->filterByPageTypeID($this->ptID);
     }
     if ($this->cParentID) {
         $pl->filterByParentID($this->cParentID);
     }
     $query = $pl->deliverQueryObject();
     $query->select('date_format(cv.cvDatePublic, "%Y") as navYear, date_format(cv.cvDatePublic, "%m") as navMonth');
     $query->groupBy('navYear, navMonth');
     $query->orderBy('navYear', 'desc')->addOrderBy('navMonth', 'desc');
     $r = $query->execute();
     $dates = [];
     while ($row = $r->fetch()) {
         $dates[] = ['year' => $row['navYear'], 'month' => $row['navMonth']];
     }
     $this->set('dates', $dates);
 }
コード例 #4
0
 public function deliverQueryObject()
 {
     return parent::deliverQueryObject();
 }