public static function retrievePagerByUser($user_id, $page = 1, $max = null) { if ($max == null) { $max = sfConfig::get('app_pager_project_max'); } sfContext::getInstance()->getLogger()->info('Begin project retrieval by user_id'); $c = new Criteria(); $positions = ProjectUserPeer::retrieveFilledByUserId($user_id); $projects = array(); foreach ($positions as $position) { $projects[] = $position->getProjectPosition()->getProjectId(); } if (count($projects) > 0) { $c->add(self::ID, $projects, Criteria::IN); } $crit0 = $c->getNewCriterion(self::CREATED_BY, $user_id); $crit1 = $c->getNewCriterion(self::OWNER_ID, $user_id); $crit0->addOr($crit1); $c->add($crit0); $pager = new sfPropelPager('Project', $max); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); return $pager; }
public function getPositionsUser() { sfContext::getInstance()->getLogger()->info('Grabbing user positions...'); return ProjectUserPeer::retrieveFilledByUserId($this->getUserId()); }