public function filterCallback($queryBuilder) { $filter = new FilterExtractor($this); if ($this->hasParameter("query") && ($query = $this->getParameter("query"))) { $queryBuilder->andWhere("LOWER(q.username) LIKE :query"); $queryBuilder->setParameter("query", $query); } if ($filter->has("lastSeenMax") && ($lastSeenMax = $filter->get('lastSeenMax'))) { $queryBuilder->andWhere("q.lastSeen > :lastSeenMax"); $queryBuilder->setParameter("lastSeenMax", new \DateTime('- ' . $lastSeenMax . ' seconds')); } if ($filter->has('hideCurrentUser') && $filter->get('hideCurrentUser') == '1') { $queryBuilder->andWhere("q.id != :currentUserId"); $queryBuilder->setParameter("currentUserId", SessionManager::getCurrentSession()->getUser()->getId()); } }
/** * Advanced filtering for the list * @param QueryBuilder The $queryBuilder */ public function filterCallback($queryBuilder) { $filter = new FilterExtractor($this); if ($filter->has("objectType") && $filter->get("objectType") != "") { $queryBuilder->andWhere("q.objectType = :objtype"); $queryBuilder->setParameter("objtype", $filter->get("objectType")); } }
/** * * @param unknown $queryBuilder */ public function filterCallback($queryBuilder) { $filter = new FilterExtractor($this); // Apply access restriction filters here $user = SessionManager::getInstance()->getCurrentSession()->getUser(); $queryBuilder->andWhere("(q.target = :sessionuser OR q.owner = :sessionuser)"); $queryBuilder->setParameter("sessionuser", $user->getId()); // Apply User filters here if ($filter->has("done") && $filter->get("done") != "") { $queryBuilder->andWhere("q.done = :done"); $queryBuilder->setParameter("done", $filter->get("done")); } }