public static function getAllCategoriesFromDatabase($dbConn)
 {
     $categoryIds = readFromDatabase::readEntireColumnFromTable($dbConn, array(self::ID_COLUMN_NAME), self::TABLE_NAME);
     $categories = array();
     foreach ($categoryIds as $categoryId) {
         $category = new Category($dbConn, $categoryId[self::ID_COLUMN_NAME]);
         $categories[$category->getId()] = $category->getName();
     }
     return $categories;
 }
 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;
 }
 public static function getAllEpisodesFromDatabase($dbConn)
 {
     $episodeIds = readFromDatabase::readEntireColumnFromTable($dbConn, array(self::ID_COLUMN_NAME), self::TABLE_NAME);
     $episodes = array();
     if (count($episodeIds)) {
         foreach ($episodeIds as $episodeRow) {
             $episode = new Episode($dbConn, $episodeRow[self::ID_COLUMN_NAME]);
             $episodes[$episode->getId()] = $episode;
         }
     }
     return $episodes;
 }
 public static function getPlaylistSegmentsFromDatabase($dbConn, $playlistId)
 {
     $segmentIds = readFromDatabase::readFilteredColumnFromTable($dbConn, array(self::SEGMENT_COLUMN_NAME), self::PLAYLIST_SEGMENTS_TABLE_NAME, array(self::PLAYLIST_COLUMN_NAME), array($playlistId));
     $segments = array();
     $count = 0;
     //make Segments for each segment id and store in an array (segments)
     if (count($segmentIds)) {
         foreach ($segmentIds as $segmentId) {
             $segments[$count++] = new Segment($dbConn, $segmentId[self::SEGMENT_COLUMN_NAME]);
         }
     }
     usort($segments, function ($a, $b) {
         return $a->getStartTime() > $b->getStartTime();
     });
     return $segments;
 }
 /**
  * @param PDO $dbConn
  *
  * @param int $segmentId
  *
  * @param Segment $segmentObject
  *
  */
 public static function getSegmentAttributesFromDatabase($dbConn, $segmentId, $segmentObject)
 {
     $databaseResult = readFromDatabase::readFilteredColumnFromTable($dbConn, null, self::TABLE_NAME, array(self::ID_COLUMN_NAME), array($segmentId));
     $segmentName = $databaseResult[0][self::SEGMENT_NAME_COLUMN_NAME];
     $segmentObject->setName($segmentName);
     $segmentAlbum = $databaseResult[0][self::ALBUM_COLUMN_NAME];
     $segmentObject->setAlbum($segmentAlbum);
     $segmentAuthor = $databaseResult[0][self::AUTHOR_COLUMN_NAME];
     $segmentObject->setAuthor($segmentAuthor);
     $segmentCategory = $databaseResult[0][self::CATEGORY_COLUMN_NAME];
     $segmentObject->setCategory($segmentCategory);
     $segmentDuration = $databaseResult[0][self::DURATION_COLUMN_NAME];
     $segmentObject->setDuration($segmentDuration);
     $segmentCanCon = $databaseResult[0][self::CAN_CON_COLUMN_NAME];
     $segmentObject->setIsCanCon($segmentCanCon);
     $segmentNewRelease = $databaseResult[0][self::NEW_RELEASE_COLUMN_NAME];
     $segmentObject->setIsNewRelease($segmentNewRelease);
     $segmentFrenchVocalMusic = $databaseResult[0][self::FRENCH_VOCAL_MUSIC_COLUMN_NAME];
     $segmentObject->setIsFrenchVocalMusic($segmentFrenchVocalMusic);
     $dbStartTimeString = $databaseResult[0][self::START_TIME_COLUMN_NAME];
     $startDateTime = formatDateStringFromDatabase($dbStartTimeString);
     $segmentObject->setStartTime($startDateTime);
 }