loadConfig($dbConfig['global_params']); $connection = $artDb->getConnection(); } $this->connection = $connection; } /* * set resultSet * @param integer $releaseId * @param integer $trackLimit * @param integer $offset * @return boolean (resultSet is empty or not) */ public function setTracks($releaseId, $trackLimit, $offset, $isPhysicalProduct = false) { $trackPhysicalQuery = ''; $trackPhysicalJoin = ''; if ($isPhysicalProduct) { $trackPhysicalQuery = ', tp.side'; $trackPhysicalJoin = ' LEFT JOIN track_physical tp ON tp.track_id = t.id '; } $sqlTrack = 'SELECT t.*, tv.color, tv.aspect_ratio, tv.fps, tv.master_quality, tv.resolution, tv.mastered, tv.keywords, tv.channel, tv.subtitles_burned, tv.subtitles_burned_preview ' . $trackPhysicalQuery . ' FROM track t LEFT JOIN track_video tv ON tv.id = t.id ' . $trackPhysicalJoin . ' WHERE t.release_id = :releaseId GROUP BY t.id ORDER BY t.cd, t.track_id, t.track_name LIMIT :trackLimit OFFSET :offset '; $trackResult = $this->connection->prepare($sqlTrack); $releaseId = intval($releaseId); $trackLimit = intval($trackLimit); $offset = intval($offset); $trackResult->bindParam(':releaseId', $releaseId, PDO::PARAM_INT); $trackResult->bindParam(':trackLimit', $trackLimit, PDO::PARAM_INT); $trackResult->bindParam(':offset', $offset, PDO::PARAM_INT); $trackResult->execute(); $this->setresultSet($trackResult->fetchAll()); if (!empty($this->resultSet)) { return true; } return false; } /* * Get the meta language from model * @return array $languageData */ public function getLanguage() { $objLanguage = Model_Language::getLanguageByParams('', true, true); foreach ($objLanguage as $language) { $this->languageData[$language->language_code] = $language->language; } return $this->languageData; } /* * Get the closedCaptionReason from model * @return array $closedReason */ public function getClosedCaptionReason() { $closeCaptionReasons = Model_ClosedCaptionReasons::getAllClosedCaptionReasons(); foreach ($closeCaptionReasons as $fetchReason) { $this->closedReason[$fetchReason->id] = $fetchReason->reason_description; } return $this->closedReason; } /* /* * Get the trackData result from resultSet * @return array $track */ public function getTrackData($isOaTrackSpecialCharactersEnabled = false) { foreach ($this->resultSet as $rowData) { if ($isOaTrackSpecialCharactersEnabled) { $rowData['track_name'] = trim(htmlspecialchars($rowData['track_name'])); } else { $rowData['track_name'] = stripslashes(htmlspecialchars($rowData['track_name'])); } $rowData['isrc'] = htmlspecialchars($rowData['isrc']); $rowData['vendor_track_identifier'] = stripslashes(htmlspecialchars($rowData['vendor_track_identifier'])); $rowData['version'] = stripslashes(htmlspecialchars($rowData['version'])); $rowData['p_line'] = htmlspecialchars($rowData['p_line']); $rowData['hours'] = $rowData['length_minute'] ? (floor($rowData['length_minute']/60) == 0 ? '00' : sprintf('%02d', floor($rowData['length_minute']/60))) : '00'; $rowData['min'] = $rowData['length_minute'] ? sprintf('%02d', $rowData['length_minute'] % 60) : '00'; $rowData['sec'] = $rowData['length_seconds'] ? sprintf('%02d', $rowData['length_seconds']) : '00'; $rowData['preview_start_time'] = conv_msec_to_time($rowData['preview_start_time'], true, 0); $this->track[] = $rowData; } return $this->track; } /* * Set the value of $resultSet * @param array $resultSet */ public function setResultSet($resultSet) { $this->resultSet = $resultSet; } }