public static function getAllProgramsFromDatabase($dbConn) { $programIds = readFromDatabase::readEntireColumnFromTable($dbConn, array(self::ID_COLUMN_NAME), self::TABLE_NAME); $programs = array(); foreach ($programIds as $programId) { $program = new Program($dbConn, $programId[self::ID_COLUMN_NAME]); $programs[$program->getId()] = $program->getName(); } return $programs; }
/** * Search for all the Applications belonging to a program * @param Program $program * @param boolean $onlyPublished only find publisehd applications * @param boolean $onlyVisible only find visible applications * @param array $excludedIds any application ids to exclude * @return Doctrine\Common\Collections\Collection $applications */ public function findByProgram(Program $program, $onlyPublished = false, $onlyVisible = false, array $excludedIds = array()) { $queryBuilder = $this->_em->createQueryBuilder(); $queryBuilder->add('select', 'a')->from('Jazzee\\Entity\\Application', 'a'); $queryBuilder->where('a.program = :programId'); $queryBuilder->setParameter('programId', $program->getId()); if ($onlyPublished) { $queryBuilder->andWhere('a.published = true'); } if ($onlyVisible) { $queryBuilder->andWhere('a.visible = true'); } if (!empty($excludedIds)) { //force integers from the values $safeids = array_map('intval', $excludedIds); $ids = implode(',', $safeids); $queryBuilder->andWhere("a.id NOT IN ({$ids})"); } return $queryBuilder->getQuery()->getResult(); }
/** * @requires extension opengl */ public function testProgramIdIsInteger() { $program = new Program(); $this->assertInternalType('int', $program->getId()); }