CC-4090: Make code style PSR compliant

-run psr-cs-fixer
This commit is contained in:
Martin Konecny 2012-07-15 21:17:13 -04:00
parent 5661872034
commit 794cf2c845
40 changed files with 2017 additions and 1874 deletions

View File

@ -79,13 +79,15 @@ class ApiController extends Zend_Controller_Action
* Sets up and send init values used in the Calendar. * Sets up and send init values used in the Calendar.
* This is only being used by schedule.js at the moment. * This is only being used by schedule.js at the moment.
*/ */
public function calendarInitAction(){ public function calendarInitAction()
{
$this->view->layout()->disableLayout(); $this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true); $this->_helper->viewRenderer->setNoRender(true);
if (is_null(Zend_Auth::getInstance()->getStorage()->read())) { if (is_null(Zend_Auth::getInstance()->getStorage()->read())) {
header('HTTP/1.0 401 Unauthorized'); header('HTTP/1.0 401 Unauthorized');
print 'You are not allowed to access this resource.'; print 'You are not allowed to access this resource.';
return; return;
} }
@ -113,11 +115,9 @@ class ApiController extends Zend_Controller_Action
$fileID = $this->_getParam("file"); $fileID = $this->_getParam("file");
$file_id = substr($fileID, 0, strpos($fileID, ".")); $file_id = substr($fileID, 0, strpos($fileID, "."));
if (ctype_alnum($file_id) && strlen($file_id) == 32) if (ctype_alnum($file_id) && strlen($file_id) == 32) {
{
$media = Application_Model_StoredFile::RecallByGunid($file_id); $media = Application_Model_StoredFile::RecallByGunid($file_id);
if ( $media != null ) if ($media != null) {
{
$filepath = $media->getFilePath(); $filepath = $media->getFilePath();
if (is_file($filepath)) { if (is_file($filepath)) {
@ -162,6 +162,7 @@ class ApiController extends Zend_Controller_Action
} }
} }
} }
return; return;
} }
@ -177,39 +178,33 @@ class ApiController extends Zend_Controller_Action
* @link https://groups.google.com/d/msg/jplayer/nSM2UmnSKKA/Hu76jDZS4xcJ * @link https://groups.google.com/d/msg/jplayer/nSM2UmnSKKA/Hu76jDZS4xcJ
* @link http://php.net/manual/en/function.readfile.php#86244 * @link http://php.net/manual/en/function.readfile.php#86244
*/ */
function smartReadFile($location, $mimeType = 'audio/mp3') public function smartReadFile($location, $mimeType = 'audio/mp3')
{ {
$size= filesize($location); $size= filesize($location);
$time= date('r', filemtime($location)); $time= date('r', filemtime($location));
$fm = @fopen($location, 'rb'); $fm = @fopen($location, 'rb');
if (!$fm) if (!$fm) {
{
header ("HTTP/1.1 505 Internal server error"); header ("HTTP/1.1 505 Internal server error");
return; return;
} }
$begin= 0; $begin= 0;
$end= $size - 1; $end= $size - 1;
if (isset($_SERVER['HTTP_RANGE'])) if (isset($_SERVER['HTTP_RANGE'])) {
{ if (preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches)) {
if (preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches))
{
$begin = intval($matches[1]); $begin = intval($matches[1]);
if (!empty($matches[2])) if (!empty($matches[2])) {
{
$end = intval($matches[2]); $end = intval($matches[2]);
} }
} }
} }
if (isset($_SERVER['HTTP_RANGE'])) if (isset($_SERVER['HTTP_RANGE'])) {
{
header('HTTP/1.1 206 Partial Content'); header('HTTP/1.1 206 Partial Content');
} } else {
else
{
header('HTTP/1.1 200 OK'); header('HTTP/1.1 200 OK');
} }
header("Content-Type: $mimeType"); header("Content-Type: $mimeType");
@ -217,8 +212,7 @@ class ApiController extends Zend_Controller_Action
header('Pragma: no-cache'); header('Pragma: no-cache');
header('Accept-Ranges: bytes'); header('Accept-Ranges: bytes');
header('Content-Length:' . (($end - $begin) + 1)); header('Content-Length:' . (($end - $begin) + 1));
if (isset($_SERVER['HTTP_RANGE'])) if (isset($_SERVER['HTTP_RANGE'])) {
{
header("Content-Range: bytes $begin-$end/$size"); header("Content-Range: bytes $begin-$end/$size");
} }
header("Content-Transfer-Encoding: binary"); header("Content-Transfer-Encoding: binary");
@ -232,8 +226,7 @@ class ApiController extends Zend_Controller_Action
$cur = $begin; $cur = $begin;
fseek($fm, $begin, 0); fseek($fm, $begin, 0);
while(!feof($fm) && $cur <= $end && (connection_status() == 0)) while (!feof($fm) && $cur <= $end && (connection_status() == 0)) {
{
echo fread($fm, min(1024 * 16, ($end - $cur) + 1)); echo fread($fm, min(1024 * 16, ($end - $cur) + 1));
$cur += 1024 * 16; $cur += 1024 * 16;
} }
@ -440,8 +433,7 @@ class ApiController extends Zend_Controller_Action
$new_name[] = $filename_parts[count($filename_parts)-1]; $new_name[] = $filename_parts[count($filename_parts)-1];
$tmpTitle = implode("-", $new_name); $tmpTitle = implode("-", $new_name);
} } else {
else {
$tmpTitle = $file->getName(); $tmpTitle = $file->getName();
} }
@ -449,14 +441,14 @@ class ApiController extends Zend_Controller_Action
$file->setMetadataValue('MDATA_KEY_CREATOR', "Airtime Show Recorder"); $file->setMetadataValue('MDATA_KEY_CREATOR', "Airtime Show Recorder");
$file->setMetadataValue('MDATA_KEY_TRACKNUMBER', $show_instance_id); $file->setMetadataValue('MDATA_KEY_TRACKNUMBER', $show_instance_id);
if (!$showCanceled && Application_Model_Preference::GetAutoUploadRecordedShowToSoundcloud()) if (!$showCanceled && Application_Model_Preference::GetAutoUploadRecordedShowToSoundcloud()) {
{
$id = $file->getId(); $id = $file->getId();
$res = exec("/usr/lib/airtime/utils/soundcloud-uploader $id > /dev/null &"); $res = exec("/usr/lib/airtime/utils/soundcloud-uploader $id > /dev/null &");
} }
} }
public function mediaMonitorSetupAction() { public function mediaMonitorSetupAction()
{
// disable the view and the layout // disable the view and the layout
$this->view->layout()->disableLayout(); $this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true); $this->_helper->viewRenderer->setNoRender(true);
@ -471,7 +463,8 @@ class ApiController extends Zend_Controller_Action
$this->view->watched_dirs = $watchedDirsPath; $this->view->watched_dirs = $watchedDirsPath;
} }
public function reloadMetadataAction() { public function reloadMetadataAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$mode = $request->getParam('mode'); $mode = $request->getParam('mode');
@ -496,12 +489,12 @@ class ApiController extends Zend_Controller_Action
$file = Application_Model_StoredFile::RecallByFilepath($filepath); $file = Application_Model_StoredFile::RecallByFilepath($filepath);
if (is_null($file)) { if (is_null($file)) {
$file = Application_Model_StoredFile::Insert($md); $file = Application_Model_StoredFile::Insert($md);
} } else {
else {
// path already exist // path already exist
if ($file->getFileExistsFlag()) { if ($file->getFileExistsFlag()) {
// file marked as exists // file marked as exists
$this->view->error = "File already exists in Airtime."; $this->view->error = "File already exists in Airtime.";
return; return;
} else { } else {
// file marked as not exists // file marked as not exists
@ -509,8 +502,7 @@ class ApiController extends Zend_Controller_Action
$file->setMetadata($md); $file->setMetadata($md);
} }
} }
} } elseif ($mode == "modify") {
else if ($mode == "modify") {
$filepath = $md['MDATA_KEY_FILEPATH']; $filepath = $md['MDATA_KEY_FILEPATH'];
//$filepath = str_replace("\\", "", $filepath); //$filepath = str_replace("\\", "", $filepath);
$file = Application_Model_StoredFile::RecallByFilepath($filepath); $file = Application_Model_StoredFile::RecallByFilepath($filepath);
@ -518,41 +510,39 @@ class ApiController extends Zend_Controller_Action
//File is not in database anymore. //File is not in database anymore.
if (is_null($file)) { if (is_null($file)) {
$this->view->error = "File does not exist in Airtime."; $this->view->error = "File does not exist in Airtime.";
return; return;
} }
//Updating a metadata change. //Updating a metadata change.
else { else {
$file->setMetadata($md); $file->setMetadata($md);
} }
} } elseif ($mode == "moved") {
else if ($mode == "moved") {
$md5 = $md['MDATA_KEY_MD5']; $md5 = $md['MDATA_KEY_MD5'];
$file = Application_Model_StoredFile::RecallByMd5($md5); $file = Application_Model_StoredFile::RecallByMd5($md5);
if (is_null($file)) { if (is_null($file)) {
$this->view->error = "File doesn't exist in Airtime."; $this->view->error = "File doesn't exist in Airtime.";
return; return;
} } else {
else {
$filepath = $md['MDATA_KEY_FILEPATH']; $filepath = $md['MDATA_KEY_FILEPATH'];
//$filepath = str_replace("\\", "", $filepath); //$filepath = str_replace("\\", "", $filepath);
$file->setFilePath($filepath); $file->setFilePath($filepath);
} }
} } elseif ($mode == "delete") {
else if ($mode == "delete") {
$filepath = $md['MDATA_KEY_FILEPATH']; $filepath = $md['MDATA_KEY_FILEPATH'];
//$filepath = str_replace("\\", "", $filepath); //$filepath = str_replace("\\", "", $filepath);
$file = Application_Model_StoredFile::RecallByFilepath($filepath); $file = Application_Model_StoredFile::RecallByFilepath($filepath);
if (is_null($file)) { if (is_null($file)) {
$this->view->error = "File doesn't exist in Airtime."; $this->view->error = "File doesn't exist in Airtime.";
return; return;
} } else {
else {
$file->deleteByMediaMonitor(); $file->deleteByMediaMonitor();
} }
} } elseif ($mode == "delete_dir") {
else if ($mode == "delete_dir") {
$filepath = $md['MDATA_KEY_FILEPATH']; $filepath = $md['MDATA_KEY_FILEPATH'];
//$filepath = str_replace("\\", "", $filepath); //$filepath = str_replace("\\", "", $filepath);
$files = Application_Model_StoredFile::RecallByPartialFilepath($filepath); $files = Application_Model_StoredFile::RecallByPartialFilepath($filepath);
@ -560,19 +550,22 @@ class ApiController extends Zend_Controller_Action
foreach ($files as $file) { foreach ($files as $file) {
$file->deleteByMediaMonitor(); $file->deleteByMediaMonitor();
} }
return; return;
} }
$this->view->id = $file->getId(); $this->view->id = $file->getId();
} }
public function listAllFilesAction() { public function listAllFilesAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$dir_id = $request->getParam('dir_id'); $dir_id = $request->getParam('dir_id');
$this->view->files = Application_Model_StoredFile::listAllFiles($dir_id); $this->view->files = Application_Model_StoredFile::listAllFiles($dir_id);
} }
public function listAllWatchedDirsAction() { public function listAllWatchedDirsAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$result = array(); $result = array();
@ -589,35 +582,40 @@ class ApiController extends Zend_Controller_Action
$this->view->dirs = $result; $this->view->dirs = $result;
} }
public function addWatchedDirAction() { public function addWatchedDirAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$path = base64_decode($request->getParam('path')); $path = base64_decode($request->getParam('path'));
$this->view->msg = Application_Model_MusicDir::addWatchedDir($path); $this->view->msg = Application_Model_MusicDir::addWatchedDir($path);
} }
public function removeWatchedDirAction() { public function removeWatchedDirAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$path = base64_decode($request->getParam('path')); $path = base64_decode($request->getParam('path'));
$this->view->msg = Application_Model_MusicDir::removeWatchedDir($path); $this->view->msg = Application_Model_MusicDir::removeWatchedDir($path);
} }
public function setStorageDirAction() { public function setStorageDirAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$path = base64_decode($request->getParam('path')); $path = base64_decode($request->getParam('path'));
$this->view->msg = Application_Model_MusicDir::setStorDir($path); $this->view->msg = Application_Model_MusicDir::setStorDir($path);
} }
public function getStreamSettingAction() { public function getStreamSettingAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$info = Application_Model_StreamSetting::getStreamSetting(); $info = Application_Model_StreamSetting::getStreamSetting();
$this->view->msg = $info; $this->view->msg = $info;
} }
public function statusAction() { public function statusAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$getDiskInfo = $request->getParam('diskinfo') == "true"; $getDiskInfo = $request->getParam('diskinfo') == "true";
@ -639,7 +637,8 @@ class ApiController extends Zend_Controller_Action
$this->view->status = $status; $this->view->status = $status;
} }
public function registerComponentAction(){ public function registerComponentAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$component = $request->getParam('component'); $component = $request->getParam('component');
@ -649,7 +648,8 @@ class ApiController extends Zend_Controller_Action
Application_Model_ServiceRegister::Register($component, $remoteAddr); Application_Model_ServiceRegister::Register($component, $remoteAddr);
} }
public function updateLiquidsoapStatusAction(){ public function updateLiquidsoapStatusAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$msg = $request->getParam('msg'); $msg = $request->getParam('msg');
@ -659,7 +659,8 @@ class ApiController extends Zend_Controller_Action
Application_Model_StreamSetting::setLiquidsoapError($stream_id, $msg, $boot_time); Application_Model_StreamSetting::setLiquidsoapError($stream_id, $msg, $boot_time);
} }
public function updateSourceStatusAction(){ public function updateSourceStatusAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$msg = $request->getParam('msg'); $msg = $request->getParam('msg');
@ -685,7 +686,8 @@ class ApiController extends Zend_Controller_Action
} }
// handles addition/deletion of mount point which watched dirs reside // handles addition/deletion of mount point which watched dirs reside
public function updateFileSystemMountAction(){ public function updateFileSystemMountAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$params = $request->getParams(); $params = $request->getParams();
@ -820,6 +822,7 @@ class ApiController extends Zend_Controller_Action
$h = new Application_Model_User($host['subjs_id']); $h = new Application_Model_User($host['subjs_id']);
if ($username == $h->getLogin() && md5($password) == $h->getPassword()) { if ($username == $h->getLogin() && md5($password) == $h->getPassword()) {
$this->view->msg = true; $this->view->msg = true;
return; return;
} }
} }
@ -855,4 +858,3 @@ class ApiController extends Zend_Controller_Action
} }
} }

View File

@ -84,7 +84,8 @@ class AudiopreviewController extends Zend_Controller_Action
/** /**
*Function will load and return the contents of the requested playlist. *Function will load and return the contents of the requested playlist.
*/ */
public function getPlaylistAction(){ public function getPlaylistAction()
{
// disable the view and the layout // disable the view and the layout
$this->view->layout()->disableLayout(); $this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true); $this->_helper->viewRenderer->setNoRender(true);

View File

@ -16,7 +16,8 @@ class DashboardController extends Zend_Controller_Action
// action body // action body
} }
public function disconnectSourceAction(){ public function disconnectSourceAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$sourcename = $request->getParam('sourcename'); $sourcename = $request->getParam('sourcename');
@ -41,7 +42,8 @@ class DashboardController extends Zend_Controller_Action
} }
} }
public function switchSourceAction(){ public function switchSourceAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$sourcename = $this->_getParam('sourcename'); $sourcename = $this->_getParam('sourcename');
$current_status = $this->_getParam('status'); $current_status = $this->_getParam('status');
@ -78,8 +80,7 @@ class DashboardController extends Zend_Controller_Action
Application_Model_LiveLog::SetNewLogTime($sourcename == 'scheduled_play'?'S':'L', Application_Model_LiveLog::SetNewLogTime($sourcename == 'scheduled_play'?'S':'L',
new DateTime("now", new DateTimeZone('UTC'))); new DateTime("now", new DateTimeZone('UTC')));
} }
} } else {
else{
if ($source_connected) { if ($source_connected) {
$this->view->error = "You don't have permission to switch source."; $this->view->error = "You don't have permission to switch source.";
} else { } else {
@ -92,8 +93,8 @@ class DashboardController extends Zend_Controller_Action
} }
} }
public function switchOffSource(){ public function switchOffSource()
{
} }
public function streamPlayerAction() public function streamPlayerAction()
@ -125,4 +126,3 @@ class DashboardController extends Zend_Controller_Action
} }
} }

View File

@ -43,6 +43,7 @@ class ErrorController extends Zend_Controller_Action
return false; return false;
} }
$log = $bootstrap->getResource('Log'); $log = $bootstrap->getResource('Log');
return $log; return $log;
} }
@ -51,8 +52,4 @@ class ErrorController extends Zend_Controller_Action
// action body // action body
} }
} }

View File

@ -19,10 +19,3 @@ class IndexController extends Zend_Controller_Action
} }
} }

View File

@ -63,8 +63,7 @@ class LibraryController extends Zend_Controller_Action
$url = $file->getRelativeFileUrl($baseUrl).'/download/true'; $url = $file->getRelativeFileUrl($baseUrl).'/download/true';
$menu["download"] = array("name" => "Download", "icon" => "download", "url" => $url); $menu["download"] = array("name" => "Download", "icon" => "download", "url" => $url);
} } elseif ($type === "playlist") {
else if ($type === "playlist") {
$playlist = new Application_Model_Playlist($id); $playlist = new Application_Model_Playlist($id);
if ($this->pl_sess->id !== $id && $screen == "playlist") { if ($this->pl_sess->id !== $id && $screen == "playlist") {
if ($isAdminOrPM || $playlist->getCreatorId() == $user->getId()) { if ($isAdminOrPM || $playlist->getCreatorId() == $user->getId()) {
@ -76,7 +75,6 @@ class LibraryController extends Zend_Controller_Action
} }
} }
//SOUNDCLOUD MENU OPTIONS //SOUNDCLOUD MENU OPTIONS
if ($type === "audioclip" && Application_Model_Preference::GetUploadToSoundcloudOption()) { if ($type === "audioclip" && Application_Model_Preference::GetUploadToSoundcloudOption()) {
@ -95,8 +93,7 @@ class LibraryController extends Zend_Controller_Action
if (!is_null($scid)) { if (!is_null($scid)) {
$text = "Re-upload to SoundCloud"; $text = "Re-upload to SoundCloud";
} } else {
else {
$text = "Upload to SoundCloud"; $text = "Upload to SoundCloud";
} }
@ -123,8 +120,7 @@ class LibraryController extends Zend_Controller_Action
if ($media["type"] === "audioclip") { if ($media["type"] === "audioclip") {
$files[] = intval($media["id"]); $files[] = intval($media["id"]);
} } elseif ($media["type"] === "playlist") {
else if ($media["type"] === "playlist") {
$playlists[] = intval($media["id"]); $playlists[] = intval($media["id"]);
} }
} }
@ -147,6 +143,7 @@ class LibraryController extends Zend_Controller_Action
} }
if (!$hasPermission) { if (!$hasPermission) {
$this->view->message = "You don't have a permission to delete all playlists/files that are selected."; $this->view->message = "You don't have a permission to delete all playlists/files that are selected.";
return; return;
} else { } else {
Application_Model_Playlist::DeletePlaylists($playlists); Application_Model_Playlist::DeletePlaylists($playlists);
@ -186,11 +183,9 @@ class LibraryController extends Zend_Controller_Action
if ($scid == "-2") { if ($scid == "-2") {
$data['track_title'] .= '<span class="small-icon progress"/>'; $data['track_title'] .= '<span class="small-icon progress"/>';
} } elseif ($scid == "-3") {
else if ($scid == "-3"){
$data['track_title'] .= '<span class="small-icon sc-error"/>'; $data['track_title'] .= '<span class="small-icon sc-error"/>';
} } elseif (!is_null($scid)) {
else if (!is_null($scid)){
$data['track_title'] .= '<span class="small-icon soundcloud"/>'; $data['track_title'] .= '<span class="small-icon soundcloud"/>';
} }
} }
@ -266,8 +261,7 @@ class LibraryController extends Zend_Controller_Action
$this->view->md = $md; $this->view->md = $md;
} } elseif ($type == "playlist") {
else if ($type == "playlist") {
$file = new Application_Model_Playlist($id); $file = new Application_Model_Playlist($id);
$this->view->type = $type; $this->view->type = $type;
@ -279,20 +273,21 @@ class LibraryController extends Zend_Controller_Action
$this->view->md = $md; $this->view->md = $md;
$this->view->contents = $file->getContents(); $this->view->contents = $file->getContents();
} }
} } catch (Exception $e) {
catch (Exception $e) {
Logging::log($e->getMessage()); Logging::log($e->getMessage());
} }
} }
public function uploadFileSoundcloudAction(){ public function uploadFileSoundcloudAction()
{
$id = $this->_getParam('id'); $id = $this->_getParam('id');
$res = exec("/usr/lib/airtime/utils/soundcloud-uploader $id > /dev/null &"); $res = exec("/usr/lib/airtime/utils/soundcloud-uploader $id > /dev/null &");
// we should die with ui info // we should die with ui info
die(); die();
} }
public function getUploadToSoundcloudStatusAction(){ public function getUploadToSoundcloudStatusAction()
{
$id = $this->_getParam('id'); $id = $this->_getParam('id');
$type = $this->_getParam('type'); $type = $this->_getParam('type');
@ -302,8 +297,7 @@ class LibraryController extends Zend_Controller_Action
$file = $show_instance->getRecordedFile(); $file = $show_instance->getRecordedFile();
$this->view->error_code = $file->getSoundCloudErrorCode(); $this->view->error_code = $file->getSoundCloudErrorCode();
$this->view->error_msg = $file->getSoundCloudErrorMsg(); $this->view->error_msg = $file->getSoundCloudErrorMsg();
} } elseif ($type == "file") {
else if ($type == "file") {
$file = Application_Model_StoredFile::Recall($id); $file = Application_Model_StoredFile::Recall($id);
$this->view->sc_id = $file->getSoundCloudId(); $this->view->sc_id = $file->getSoundCloudId();
$this->view->error_code = $file->getSoundCloudErrorCode(); $this->view->error_code = $file->getSoundCloudErrorCode();

View File

@ -12,8 +12,7 @@ class LoginController extends Zend_Controller_Action
{ {
global $CC_CONFIG; global $CC_CONFIG;
if (Zend_Auth::getInstance()->hasIdentity()) if (Zend_Auth::getInstance()->hasIdentity()) {
{
$this->_redirect('Showbuilder'); $this->_redirect('Showbuilder');
} }
@ -30,15 +29,13 @@ class LoginController extends Zend_Controller_Action
$message = "Please enter your user name and password"; $message = "Please enter your user name and password";
if($request->isPost()) if ($request->isPost()) {
{
// if the post contains recaptcha field, which means form had recaptcha field. // if the post contains recaptcha field, which means form had recaptcha field.
// Hence add the element for validation. // Hence add the element for validation.
if (array_key_exists('recaptcha_response_field', $request->getPost())) { if (array_key_exists('recaptcha_response_field', $request->getPost())) {
$form->addRecaptcha(); $form->addRecaptcha();
} }
if($form->isValid($request->getPost())) if ($form->isValid($request->getPost())) {
{
//get the username and password from the form //get the username and password from the form
$username = $form->getValue('username'); $username = $form->getValue('username');
$password = $form->getValue('password'); $password = $form->getValue('password');
@ -53,8 +50,7 @@ class LoginController extends Zend_Controller_Action
$auth = Zend_Auth::getInstance(); $auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter); $result = $auth->authenticate($authAdapter);
if($result->isValid()) if ($result->isValid()) {
{
//all info about this user from the login table omit only the password //all info about this user from the login table omit only the password
$userInfo = $authAdapter->getResultRowObject(null, 'password'); $userInfo = $authAdapter->getResultRowObject(null, 'password');
@ -69,9 +65,7 @@ class LoginController extends Zend_Controller_Action
$tempSess->referrer = 'login'; $tempSess->referrer = 'login';
$this->_redirect('Showbuilder'); $this->_redirect('Showbuilder');
} } else {
else
{
$message = "Wrong username or password provided. Please try again."; $message = "Wrong username or password provided. Please try again.";
Application_Model_Subjects::increaseLoginAttempts($username); Application_Model_Subjects::increaseLoginAttempts($username);
Application_Model_LoginAttempts::increaseAttempts($_SERVER['REMOTE_ADDR']); Application_Model_LoginAttempts::increaseAttempts($_SERVER['REMOTE_ADDR']);
@ -108,8 +102,7 @@ class LoginController extends Zend_Controller_Action
if (!Application_Model_Preference::GetEnableSystemEmail()) { if (!Application_Model_Preference::GetEnableSystemEmail()) {
$this->_redirect('login'); $this->_redirect('login');
} } else {
else {
//uses separate layout without a navigation. //uses separate layout without a navigation.
$this->_helper->layout->setLayout('login'); $this->_helper->layout->setLayout('login');
@ -130,8 +123,7 @@ class LoginController extends Zend_Controller_Action
} else { } else {
$form->email->addError($this->view->translate("Email could not be sent. Check your mail server settings and ensure it has been configured properly.")); $form->email->addError($this->view->translate("Email could not be sent. Check your mail server settings and ensure it has been configured properly."));
} }
} } else {
else {
$form->email->addError($this->view->translate("Given email not found.")); $form->email->addError($this->view->translate("Given email not found."));
} }
} }
@ -194,6 +186,3 @@ class LoginController extends Zend_Controller_Action
$this->view->form = $form; $this->view->form = $form;
} }
} }

View File

@ -40,6 +40,7 @@ class PlaylistController extends Zend_Controller_Action
throw new PlaylistOutDatedException("You are viewing an older version of {$pl->getName()}"); throw new PlaylistOutDatedException("You are viewing an older version of {$pl->getName()}");
} }
} }
return $pl; return $pl;
} }
@ -47,8 +48,7 @@ class PlaylistController extends Zend_Controller_Action
{ {
if (is_null($pl_id)) { if (is_null($pl_id)) {
unset($this->pl_sess->id); unset($this->pl_sess->id);
} } else {
else {
$this->pl_sess->id = intval($pl_id); $this->pl_sess->id = intval($pl_id);
} }
} }
@ -77,8 +77,7 @@ class PlaylistController extends Zend_Controller_Action
$this->view->id = $pl->getId(); $this->view->id = $pl->getId();
$this->view->html = $this->view->render('playlist/playlist.phtml'); $this->view->html = $this->view->render('playlist/playlist.phtml');
unset($this->view->pl); unset($this->view->pl);
} } else {
else {
$this->view->html = $this->view->render('playlist/playlist.phtml'); $this->view->html = $this->view->render('playlist/playlist.phtml');
} }
} }
@ -143,11 +142,9 @@ class PlaylistController extends Zend_Controller_Action
$formatter = new LengthFormatter($pl->getLength()); $formatter = new LengthFormatter($pl->getLength());
$this->view->length = $formatter->format(); $this->view->length = $formatter->format();
} }
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -177,11 +174,9 @@ class PlaylistController extends Zend_Controller_Action
try { try {
$pl = new Application_Model_Playlist($id); $pl = new Application_Model_Playlist($id);
$this->createFullResponse($pl); $this->createFullResponse($pl);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -198,19 +193,16 @@ class PlaylistController extends Zend_Controller_Action
if (in_array($this->pl_sess->id, $ids)) { if (in_array($this->pl_sess->id, $ids)) {
Logging::log("Deleting currently active playlist"); Logging::log("Deleting currently active playlist");
$this->changePlaylist(null); $this->changePlaylist(null);
} } else {
else {
Logging::log("Not deleting currently active playlist"); Logging::log("Not deleting currently active playlist");
$pl = new Application_Model_Playlist($this->pl_sess->id); $pl = new Application_Model_Playlist($this->pl_sess->id);
} }
Application_Model_Playlist::DeletePlaylists($ids); Application_Model_Playlist::DeletePlaylists($ids);
$this->createFullResponse($pl); $this->createFullResponse($pl);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -226,14 +218,11 @@ class PlaylistController extends Zend_Controller_Action
$pl = $this->getPlaylist(); $pl = $this->getPlaylist();
$pl->addAudioClips($ids, $afterItem, $addType); $pl->addAudioClips($ids, $afterItem, $addType);
$this->createUpdateResponse($pl); $this->createUpdateResponse($pl);
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -249,14 +238,11 @@ class PlaylistController extends Zend_Controller_Action
$pl = $this->getPlaylist(); $pl = $this->getPlaylist();
$pl->moveAudioClips($ids, $afterItem); $pl->moveAudioClips($ids, $afterItem);
$this->createUpdateResponse($pl); $this->createUpdateResponse($pl);
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -271,14 +257,11 @@ class PlaylistController extends Zend_Controller_Action
$pl = $this->getPlaylist(); $pl = $this->getPlaylist();
$pl->delAudioClips($ids); $pl->delAudioClips($ids);
$this->createUpdateResponse($pl); $this->createUpdateResponse($pl);
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -296,18 +279,14 @@ class PlaylistController extends Zend_Controller_Action
if (!isset($response["error"])) { if (!isset($response["error"])) {
$this->view->response = $response; $this->view->response = $response;
$this->createUpdateResponse($pl); $this->createUpdateResponse($pl);
} } else {
else {
$this->view->cue_error = $response["error"]; $this->view->cue_error = $response["error"];
} }
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -325,18 +304,14 @@ class PlaylistController extends Zend_Controller_Action
if (!isset($response["error"])) { if (!isset($response["error"])) {
$this->createUpdateResponse($pl); $this->createUpdateResponse($pl);
$this->view->response = $response; $this->view->response = $response;
} } else {
else {
$this->view->fade_error = $response["error"]; $this->view->fade_error = $response["error"];
} }
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -350,14 +325,11 @@ class PlaylistController extends Zend_Controller_Action
$fades = $pl->getFadeInfo($pl->getSize()-1); $fades = $pl->getFadeInfo($pl->getSize()-1);
$this->view->fadeOut = $fades[1]; $this->view->fadeOut = $fades[1];
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -376,14 +348,11 @@ class PlaylistController extends Zend_Controller_Action
$pl = $this->getPlaylist(); $pl = $this->getPlaylist();
$pl->setPlaylistfades($fadeIn, $fadeOut); $pl->setPlaylistfades($fadeIn, $fadeOut);
$this->view->modified = $pl->getLastModified("U"); $this->view->modified = $pl->getLastModified("U");
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -397,14 +366,11 @@ class PlaylistController extends Zend_Controller_Action
$pl->setName($name); $pl->setName($name);
$this->view->playlistName = $name; $this->view->playlistName = $name;
$this->view->modified = $pl->getLastModified("U"); $this->view->modified = $pl->getLastModified("U");
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
@ -418,16 +384,12 @@ class PlaylistController extends Zend_Controller_Action
$pl->setDescription($description); $pl->setDescription($description);
$this->view->description = $pl->getDescription(); $this->view->description = $pl->getDescription();
$this->view->modified = $pl->getLastModified("U"); $this->view->modified = $pl->getLastModified("U");
} } catch (PlaylistOutDatedException $e) {
catch (PlaylistOutDatedException $e) {
$this->playlistOutdated($pl, $e); $this->playlistOutdated($pl, $e);
} } catch (PlaylistNotFoundException $e) {
catch (PlaylistNotFoundException $e) {
$this->playlistNotFound(); $this->playlistNotFound();
} } catch (Exception $e) {
catch (Exception $e) {
$this->playlistUnknownError($e); $this->playlistUnknownError($e);
} }
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
class PlayoutHistoryController extends Zend_Controller_Action class PlayouthistoryController extends Zend_Controller_Action
{ {
public function init() public function init()
{ {

View File

@ -34,7 +34,8 @@ class PluploadController extends Zend_Controller_Action
die('{"jsonrpc" : "2.0", "tempfilepath" : "'.$tempFileName.'" }'); die('{"jsonrpc" : "2.0", "tempfilepath" : "'.$tempFileName.'" }');
} }
public function copyfileAction(){ public function copyfileAction()
{
$upload_dir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload"; $upload_dir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
$filename = $this->_getParam('name'); $filename = $this->_getParam('name');
$tempname = $this->_getParam('tempname'); $tempname = $this->_getParam('tempname');
@ -45,6 +46,3 @@ class PluploadController extends Zend_Controller_Action
die('{"jsonrpc" : "2.0"}'); die('{"jsonrpc" : "2.0"}');
} }
} }

View File

@ -232,8 +232,7 @@ class PreferenceController extends Zend_Controller_Action
$master_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["master_harbor_input_port"]."/".$values["master_harbor_input_mount_point"]; $master_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["master_harbor_input_port"]."/".$values["master_harbor_input_mount_point"];
if (empty($values["master_harbor_input_port"]) || empty($values["master_harbor_input_mount_point"])) { if (empty($values["master_harbor_input_port"]) || empty($values["master_harbor_input_mount_point"])) {
Application_Model_Preference::SetMasterDJSourceConnectionURL('N/A'); Application_Model_Preference::SetMasterDJSourceConnectionURL('N/A');
} } else {
else {
Application_Model_Preference::SetMasterDJSourceConnectionURL($master_connection_url); Application_Model_Preference::SetMasterDJSourceConnectionURL($master_connection_url);
} }
} else { } else {
@ -244,12 +243,10 @@ class PreferenceController extends Zend_Controller_Action
$live_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["dj_harbor_input_port"]."/".$values["dj_harbor_input_mount_point"]; $live_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["dj_harbor_input_port"]."/".$values["dj_harbor_input_mount_point"];
if (empty($values["dj_harbor_input_port"]) || empty($values["dj_harbor_input_mount_point"])) { if (empty($values["dj_harbor_input_port"]) || empty($values["dj_harbor_input_mount_point"])) {
Application_Model_Preference::SetLiveDJSourceConnectionURL('N/A'); Application_Model_Preference::SetLiveDJSourceConnectionURL('N/A');
} } else {
else {
Application_Model_Preference::SetLiveDJSourceConnectionURL($live_connection_url); Application_Model_Preference::SetLiveDJSourceConnectionURL($live_connection_url);
} }
} } else {
else {
Application_Model_Preference::SetLiveDJSourceConnectionURL($values["live_dj_connection_url"]); Application_Model_Preference::SetLiveDJSourceConnectionURL($values["live_dj_connection_url"]);
} }
@ -290,16 +287,13 @@ class PreferenceController extends Zend_Controller_Action
$result = array(); $result = array();
if(is_null($path)) if (is_null($path)) {
{
$element = array(); $element = array();
$element["name"] = "path should be specified"; $element["name"] = "path should be specified";
$element["isFolder"] = false; $element["isFolder"] = false;
$element["isError"] = true; $element["isError"] = true;
$result[$path] = $element; $result[$path] = $element;
} } else {
else
{
$path = $path.'/'; $path = $path.'/';
$handle = opendir($path); $handle = opendir($path);
if ($handle !== false) { if ($handle !== false) {
@ -373,7 +367,8 @@ class PreferenceController extends Zend_Controller_Action
$this->view->subform = $watched_dirs_form->render(); $this->view->subform = $watched_dirs_form->render();
} }
public function isImportInProgressAction(){ public function isImportInProgressAction()
{
$now = time(); $now = time();
$res = false; $res = false;
if (Application_Model_Preference::GetImportTimestamp()+10 > $now) { if (Application_Model_Preference::GetImportTimestamp()+10 > $now) {
@ -382,7 +377,8 @@ class PreferenceController extends Zend_Controller_Action
die(json_encode($res)); die(json_encode($res));
} }
public function getLiquidsoapStatusAction(){ public function getLiquidsoapStatusAction()
{
$out = array(); $out = array();
$num_of_stream = intval(Application_Model_Preference::GetNumOfStreams()); $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams());
for ($i=1; $i<=$num_of_stream; $i++) { for ($i=1; $i<=$num_of_stream; $i++) {
@ -396,7 +392,8 @@ class PreferenceController extends Zend_Controller_Action
die(json_encode($out)); die(json_encode($out));
} }
public function setSourceConnectionUrlAction(){ public function setSourceConnectionUrlAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$type = $request->getParam("type", null); $type = $request->getParam("type", null);
$url = urldecode($request->getParam("url", null)); $url = urldecode($request->getParam("url", null));
@ -413,6 +410,3 @@ class PreferenceController extends Zend_Controller_Action
die(); die();
} }
} }

View File

@ -110,15 +110,15 @@ class ScheduleController extends Zend_Controller_Action
$user = new Application_Model_User($userInfo->id); $user = new Application_Model_User($userInfo->id);
if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) {
$editable = true; $editable = true;
} } else {
else {
$editable = false; $editable = false;
} }
$this->view->events = Application_Model_Show::getFullCalendarEvents($start, $end, $editable); $this->view->events = Application_Model_Show::getFullCalendarEvents($start, $end, $editable);
} }
public function getCurrentShowAction() { public function getCurrentShowAction()
{
$currentShow = Application_Model_Show::GetCurrentShow(); $currentShow = Application_Model_Show::GetCurrentShow();
if (!empty($currentShow)) { if (!empty($currentShow)) {
$this->view->si_id = $currentShow[0]["instance_id"]; $this->view->si_id = $currentShow[0]["instance_id"];
@ -142,6 +142,7 @@ class ScheduleController extends Zend_Controller_Action
$showInstance = new Application_Model_ShowInstance($showInstanceId); $showInstance = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
$error = $showInstance->moveShow($deltaDay, $deltaMin); $error = $showInstance->moveShow($deltaDay, $deltaMin);
@ -166,6 +167,7 @@ class ScheduleController extends Zend_Controller_Action
$show = new Application_Model_Show($showId); $show = new Application_Model_Show($showId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
$error = $show->resizeShow($deltaDay, $deltaMin); $error = $show->resizeShow($deltaDay, $deltaMin);
@ -187,9 +189,9 @@ class ScheduleController extends Zend_Controller_Action
try { try {
$showInstance = new Application_Model_ShowInstance($showInstanceId); $showInstance = new Application_Model_ShowInstance($showInstanceId);
} } catch (Exception $e) {
catch(Exception $e){
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -207,6 +209,7 @@ class ScheduleController extends Zend_Controller_Action
$show_inst = new Application_Model_ShowInstance($show_instance); $show_inst = new Application_Model_ShowInstance($show_instance);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -229,6 +232,7 @@ class ScheduleController extends Zend_Controller_Action
$instance = new Application_Model_ShowInstance($id); $instance = new Application_Model_ShowInstance($id);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -287,8 +291,7 @@ class ScheduleController extends Zend_Controller_Action
if ($instance->isRecorded()) { if ($instance->isRecorded()) {
$menu["cancel_recorded"] = array("name"=> "Cancel Current Show", "icon" => "delete"); $menu["cancel_recorded"] = array("name"=> "Cancel Current Show", "icon" => "delete");
} } else {
else {
if (!$instance->isRebroadcast()) { if (!$instance->isRebroadcast()) {
$menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form"); $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => "/Schedule/populate-show-form");
@ -312,8 +315,7 @@ class ScheduleController extends Zend_Controller_Action
$menu["del"]["items"]["single"] = array("name"=> "Delete This Instance", "icon" => "delete", "url" => "/schedule/delete-show"); $menu["del"]["items"]["single"] = array("name"=> "Delete This Instance", "icon" => "delete", "url" => "/schedule/delete-show");
$menu["del"]["items"]["following"] = array("name"=> "Delete This Instance and All Following", "icon" => "delete", "url" => "/schedule/cancel-show"); $menu["del"]["items"]["following"] = array("name"=> "Delete This Instance and All Following", "icon" => "delete", "url" => "/schedule/cancel-show");
} } elseif ($isAdminOrPM) {
else if ($isAdminOrPM){
$menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => "/schedule/delete-show"); $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => "/schedule/delete-show");
} }
@ -331,6 +333,7 @@ class ScheduleController extends Zend_Controller_Action
$show = new Application_Model_ShowInstance($showInstanceId); $show = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -395,6 +398,7 @@ class ScheduleController extends Zend_Controller_Action
$show = new Application_Model_ShowInstance($showInstanceId); $show = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -416,6 +420,7 @@ class ScheduleController extends Zend_Controller_Action
$show = new Application_Model_ShowInstance($showInstanceId); $show = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -425,6 +430,7 @@ class ScheduleController extends Zend_Controller_Action
$originalShow = new Application_Model_ShowInstance($originalShowId); $originalShow = new Application_Model_ShowInstance($originalShowId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
$originalShowName = $originalShow->getName(); $originalShowName = $originalShow->getName();
@ -506,12 +512,10 @@ class ScheduleController extends Zend_Controller_Action
$formRepeats->disable(); $formRepeats->disable();
$formStyle->disable(); $formStyle->disable();
//$formRecord->disable(); //$formRecord->disable();
//$formAbsoluteRebroadcast->disable(); //$formAbsoluteRebroadcast->disable();
//$formRebroadcast->disable(); //$formRebroadcast->disable();
$this->view->action = "edit-show-instance"; $this->view->action = "edit-show-instance";
$this->view->newForm = $this->view->render('schedule/add-show-form.phtml'); $this->view->newForm = $this->view->render('schedule/add-show-form.phtml');
}*/ }*/
@ -533,6 +537,7 @@ class ScheduleController extends Zend_Controller_Action
$showInstance = new Application_Model_ShowInstance($showInstanceId); $showInstance = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
@ -687,8 +692,8 @@ class ScheduleController extends Zend_Controller_Action
$this->view->entries = 5; $this->view->entries = 5;
} }
public function getFormAction() { public function getFormAction()
{
$user = Application_Model_User::getCurrentUser(); $user = Application_Model_User::getCurrentUser();
if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) { if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) {
@ -697,7 +702,8 @@ class ScheduleController extends Zend_Controller_Action
} }
} }
public function djEditShowAction(){ public function djEditShowAction()
{
$js = $this->_getParam('data'); $js = $this->_getParam('data');
$data = array(); $data = array();
@ -735,8 +741,8 @@ class ScheduleController extends Zend_Controller_Action
} }
}*/ }*/
public function editShowAction(){ public function editShowAction()
{
//1) Get add_show_start_date since it might not have been sent //1) Get add_show_start_date since it might not have been sent
$js = $this->_getParam('data'); $js = $this->_getParam('data');
$data = array(); $data = array();
@ -792,7 +798,8 @@ class ScheduleController extends Zend_Controller_Action
} }
} }
public function addShowAction(){ public function addShowAction()
{
$js = $this->_getParam('data'); $js = $this->_getParam('data');
$data = array(); $data = array();
@ -831,6 +838,7 @@ class ScheduleController extends Zend_Controller_Action
$showInstance = new Application_Model_ShowInstance($showInstanceId); $showInstance = new Application_Model_ShowInstance($showInstanceId);
} catch (Exception $e) { } catch (Exception $e) {
$this->view->show_error = true; $this->view->show_error = true;
return false; return false;
} }
$show = new Application_Model_Show($showInstance->getShowId()); $show = new Application_Model_Show($showInstance->getShowId());
@ -853,8 +861,7 @@ class ScheduleController extends Zend_Controller_Action
// send kick out source stream signal to pypo // send kick out source stream signal to pypo
$data = array("sourcename"=>"live_dj"); $data = array("sourcename"=>"live_dj");
Application_Model_RabbitMq::SendMessageToPypo("disconnect_source", $data); Application_Model_RabbitMq::SendMessageToPypo("disconnect_source", $data);
} } catch (Exception $e) {
catch (Exception $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
@ -863,7 +870,8 @@ class ScheduleController extends Zend_Controller_Action
} }
} }
public function contentContextMenuAction(){ public function contentContextMenuAction()
{
global $CC_CONFIG; global $CC_CONFIG;
$id = $this->_getParam('id'); $id = $this->_getParam('id');
@ -891,7 +899,8 @@ class ScheduleController extends Zend_Controller_Action
* Sets the user specific preference for which time scale to use in Calendar. * Sets the user specific preference for which time scale to use in Calendar.
* This is only being used by schedule.js at the moment. * This is only being used by schedule.js at the moment.
*/ */
public function setTimeScaleAction() { public function setTimeScaleAction()
{
Application_Model_Preference::SetCalendarTimeScale($this->_getParam('timeScale')); Application_Model_Preference::SetCalendarTimeScale($this->_getParam('timeScale'));
} }
@ -899,11 +908,13 @@ class ScheduleController extends Zend_Controller_Action
* Sets the user specific preference for which time interval to use in Calendar. * Sets the user specific preference for which time interval to use in Calendar.
* This is only being used by schedule.js at the moment. * This is only being used by schedule.js at the moment.
*/ */
public function setTimeIntervalAction() { public function setTimeIntervalAction()
{
Application_Model_Preference::SetCalendarTimeInterval($this->_getParam('timeInterval')); Application_Model_Preference::SetCalendarTimeInterval($this->_getParam('timeInterval'));
} }
public function calculateDurationAction() { public function calculateDurationAction()
{
global $CC_CONFIG; global $CC_CONFIG;
$startParam = $this->_getParam('startTime'); $startParam = $this->_getParam('startTime');
@ -937,4 +948,3 @@ class ScheduleController extends Zend_Controller_Action
exit(); exit();
} }
} }

View File

@ -16,8 +16,8 @@ class ShowbuilderController extends Zend_Controller_Action
->initContext(); ->initContext();
} }
public function indexAction() { public function indexAction()
{
global $CC_CONFIG; global $CC_CONFIG;
$request = $this->getRequest(); $request = $this->getRequest();
@ -31,8 +31,7 @@ class ShowbuilderController extends Zend_Controller_Action
if ($data != "") { if ($data != "") {
$libraryTable = json_encode(unserialize($data)); $libraryTable = json_encode(unserialize($data));
$this->view->headScript()->appendScript("localStorage.setItem( 'datatables-library', JSON.stringify($libraryTable) );"); $this->view->headScript()->appendScript("localStorage.setItem( 'datatables-library', JSON.stringify($libraryTable) );");
} } else {
else {
$this->view->headScript()->appendScript("localStorage.setItem( 'datatables-library', '' );"); $this->view->headScript()->appendScript("localStorage.setItem( 'datatables-library', '' );");
} }
@ -40,8 +39,7 @@ class ShowbuilderController extends Zend_Controller_Action
if ($data != "") { if ($data != "") {
$timelineTable = json_encode(unserialize($data)); $timelineTable = json_encode(unserialize($data));
$this->view->headScript()->appendScript("localStorage.setItem( 'datatables-timeline', JSON.stringify($timelineTable) );"); $this->view->headScript()->appendScript("localStorage.setItem( 'datatables-timeline', JSON.stringify($timelineTable) );");
} } else {
else {
$this->view->headScript()->appendScript("localStorage.setItem( 'datatables-timeline', '' );"); $this->view->headScript()->appendScript("localStorage.setItem( 'datatables-timeline', '' );");
} }
@ -79,8 +77,7 @@ class ShowbuilderController extends Zend_Controller_Action
} }
// unset session // unset session
Zend_Session::namespaceUnset('referrer'); Zend_Session::namespaceUnset('referrer');
} } elseif ($values["Publicise"] == '1' && $form->isValid($values)) {
else if ($values["Publicise"] == '1' && $form->isValid($values)) {
Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view); Application_Model_Preference::SetHeadTitle($values["stnName"], $this->view);
Application_Model_Preference::SetPhone($values["Phone"]); Application_Model_Preference::SetPhone($values["Phone"]);
Application_Model_Preference::SetEmail($values["Email"]); Application_Model_Preference::SetEmail($values["Email"]);
@ -101,8 +98,7 @@ class ShowbuilderController extends Zend_Controller_Action
} }
// unset session // unset session
Zend_Session::namespaceUnset('referrer'); Zend_Session::namespaceUnset('referrer');
} } else {
else {
$logo = Application_Model_Preference::GetStationLogo(); $logo = Application_Model_Preference::GetStationLogo();
if ($logo) { if ($logo) {
$this->view->logoImg = $logo; $this->view->logoImg = $logo;
@ -138,8 +134,7 @@ class ShowbuilderController extends Zend_Controller_Action
$showLib = true; $showLib = true;
} }
} }
} } else {
else {
$disableLib = true; $disableLib = true;
} }
$this->view->disableLib = $disableLib; $this->view->disableLib = $disableLib;
@ -203,8 +198,8 @@ class ShowbuilderController extends Zend_Controller_Action
$this->view->items = $menu; $this->view->items = $menu;
} }
public function builderDialogAction() { public function builderDialogAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$id = $request->getParam("id"); $id = $request->getParam("id");
@ -212,6 +207,7 @@ class ShowbuilderController extends Zend_Controller_Action
if (is_null($instance)) { if (is_null($instance)) {
$this->view->error = "show does not exist"; $this->view->error = "show does not exist";
return; return;
} }
@ -231,8 +227,8 @@ class ShowbuilderController extends Zend_Controller_Action
$this->view->dialog = $this->view->render('showbuilder/builderDialog.phtml'); $this->view->dialog = $this->view->render('showbuilder/builderDialog.phtml');
} }
public function checkBuilderFeedAction() { public function checkBuilderFeedAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$current_time = time(); $current_time = time();
@ -254,14 +250,13 @@ class ShowbuilderController extends Zend_Controller_Action
// -1 default will always call the schedule to be sent back if no timestamp is defined. // -1 default will always call the schedule to be sent back if no timestamp is defined.
if ($showBuilder->hasBeenUpdatedSince($timestamp, $instances)) { if ($showBuilder->hasBeenUpdatedSince($timestamp, $instances)) {
$this->view->update = true; $this->view->update = true;
} } else {
else {
$this->view->update = false; $this->view->update = false;
} }
} }
public function builderFeedAction() { public function builderFeedAction()
{
$start = microtime(true); $start = microtime(true);
$request = $this->getRequest(); $request = $this->getRequest();
@ -291,8 +286,8 @@ class ShowbuilderController extends Zend_Controller_Action
Logging::debug(floatval($end) - floatval($start)); Logging::debug(floatval($end) - floatval($start));
} }
public function scheduleAddAction() { public function scheduleAddAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$mediaItems = $request->getParam("mediaIds", array()); $mediaItems = $request->getParam("mediaIds", array());
$scheduledItems = $request->getParam("schedIds", array()); $scheduledItems = $request->getParam("schedIds", array());
@ -300,14 +295,12 @@ class ShowbuilderController extends Zend_Controller_Action
try { try {
$scheduler = new Application_Model_Scheduler(); $scheduler = new Application_Model_Scheduler();
$scheduler->scheduleAfter($scheduledItems, $mediaItems); $scheduler->scheduleAfter($scheduledItems, $mediaItems);
} } catch (OutDatedScheduleException $e) {
catch (OutDatedScheduleException $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
Logging::log("{$e->getLine()}"); Logging::log("{$e->getLine()}");
} } catch (Exception $e) {
catch (Exception $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
@ -323,14 +316,12 @@ class ShowbuilderController extends Zend_Controller_Action
try { try {
$scheduler = new Application_Model_Scheduler(); $scheduler = new Application_Model_Scheduler();
$scheduler->removeItems($items); $scheduler->removeItems($items);
} } catch (OutDatedScheduleException $e) {
catch (OutDatedScheduleException $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
Logging::log("{$e->getLine()}"); Logging::log("{$e->getLine()}");
} } catch (Exception $e) {
catch (Exception $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
@ -338,8 +329,8 @@ class ShowbuilderController extends Zend_Controller_Action
} }
} }
public function scheduleMoveAction() { public function scheduleMoveAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$selectedItems = $request->getParam("selectedItem"); $selectedItems = $request->getParam("selectedItem");
$afterItem = $request->getParam("afterItem"); $afterItem = $request->getParam("afterItem");
@ -347,14 +338,12 @@ class ShowbuilderController extends Zend_Controller_Action
try { try {
$scheduler = new Application_Model_Scheduler(); $scheduler = new Application_Model_Scheduler();
$scheduler->moveItem($selectedItems, $afterItem); $scheduler->moveItem($selectedItems, $afterItem);
} } catch (OutDatedScheduleException $e) {
catch (OutDatedScheduleException $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
Logging::log("{$e->getLine()}"); Logging::log("{$e->getLine()}");
} } catch (Exception $e) {
catch (Exception $e) {
$this->view->error = $e->getMessage(); $this->view->error = $e->getMessage();
Logging::log($e->getMessage()); Logging::log($e->getMessage());
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
@ -362,8 +351,8 @@ class ShowbuilderController extends Zend_Controller_Action
} }
} }
public function scheduleReorderAction() { public function scheduleReorderAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$showInstance = $request->getParam("instanceId"); $showInstance = $request->getParam("instanceId");

View File

@ -40,8 +40,7 @@ class UserController extends Zend_Controller_Action
$formdata = $form->getValues(); $formdata = $form->getValues();
if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 && $formdata['login'] == 'admin' && $formdata['user_id'] != 0) { if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 && $formdata['login'] == 'admin' && $formdata['user_id'] != 0) {
$this->view->successMessage = "<div class='errors'>Specific action is not allowed in demo version!</div>"; $this->view->successMessage = "<div class='errors'>Specific action is not allowed in demo version!</div>";
} } elseif ($form->validateLogin($formdata)) {
else if ($form->validateLogin($formdata)){
$user = new Application_Model_User($formdata['user_id']); $user = new Application_Model_User($formdata['user_id']);
$user->setFirstName($formdata['first_name']); $user->setFirstName($formdata['first_name']);
$user->setLastName($formdata['last_name']); $user->setLastName($formdata['last_name']);
@ -105,16 +104,4 @@ class UserController extends Zend_Controller_Action
} }
} }

View File

@ -17,8 +17,8 @@ class UsersettingsController extends Zend_Controller_Action
->initContext(); ->initContext();
} }
public function setNowPlayingScreenSettingsAction() { public function setNowPlayingScreenSettingsAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$settings = $request->getParam("settings"); $settings = $request->getParam("settings");
@ -26,16 +26,16 @@ class UsersettingsController extends Zend_Controller_Action
Application_Model_Preference::setValue("nowplaying_screen", $data, true); Application_Model_Preference::setValue("nowplaying_screen", $data, true);
} }
public function getNowPlayingScreenSettingsAction() { public function getNowPlayingScreenSettingsAction()
{
$data = Application_Model_Preference::getValue("nowplaying_screen", true); $data = Application_Model_Preference::getValue("nowplaying_screen", true);
if ($data != "") { if ($data != "") {
$this->view->settings = unserialize($data); $this->view->settings = unserialize($data);
} }
} }
public function setLibraryDatatableAction() { public function setLibraryDatatableAction()
{
$request = $this->getRequest(); $request = $this->getRequest();
$settings = $request->getParam("settings"); $settings = $request->getParam("settings");
@ -43,16 +43,16 @@ class UsersettingsController extends Zend_Controller_Action
Application_Model_Preference::setValue("library_datatable", $data, true); Application_Model_Preference::setValue("library_datatable", $data, true);
} }
public function getLibraryDatatableAction() { public function getLibraryDatatableAction()
{
$data = Application_Model_Preference::getValue("library_datatable", true); $data = Application_Model_Preference::getValue("library_datatable", true);
if ($data != "") { if ($data != "") {
$this->view->settings = unserialize($data); $this->view->settings = unserialize($data);
} }
} }
public function setTimelineDatatableAction() { public function setTimelineDatatableAction()
{
$start = microtime(true); $start = microtime(true);
$request = $this->getRequest(); $request = $this->getRequest();
@ -67,8 +67,8 @@ class UsersettingsController extends Zend_Controller_Action
Logging::debug(floatval($end) - floatval($start)); Logging::debug(floatval($end) - floatval($start));
} }
public function getTimelineDatatableAction() { public function getTimelineDatatableAction()
{
$start = microtime(true); $start = microtime(true);
$data = Application_Model_Preference::getValue("timeline_datatable", true); $data = Application_Model_Preference::getValue("timeline_datatable", true);

View File

@ -113,8 +113,7 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract
if (in_array($controller, array("api", "auth"))) { if (in_array($controller, array("api", "auth"))) {
$this->setRoleName("G"); $this->setRoleName("G");
} } elseif (!Zend_Auth::getInstance()->hasIdentity()) {
else if (!Zend_Auth::getInstance()->hasIdentity()){
if ($controller !== 'login') { if ($controller !== 'login') {
@ -131,14 +130,12 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract
//redirectAndExit() cleans up, sends the headers and stops the script //redirectAndExit() cleans up, sends the headers and stops the script
Zend_Controller_Action_HelperBroker::getStaticHelper('redirector')->redirectAndExit(); Zend_Controller_Action_HelperBroker::getStaticHelper('redirector')->redirectAndExit();
} } else {
else {
$r = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); $r = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
$r->gotoSimpleAndExit('index', 'login', $request->getModuleName()); $r->gotoSimpleAndExit('index', 'login', $request->getModuleName());
} }
} }
} } else {
else {
$userInfo = Zend_Auth::getInstance()->getStorage()->read(); $userInfo = Zend_Auth::getInstance()->getStorage()->read();
$this->setRoleName($userInfo->type); $this->setRoleName($userInfo->type);

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Auth { class Application_Model_Auth
{
const TOKEN_LIFETIME = 'P2D'; // DateInterval syntax const TOKEN_LIFETIME = 'P2D'; // DateInterval syntax
private function generateToken($action, $user_id) private function generateToken($action, $user_id)

View File

@ -3,7 +3,8 @@
class Application_Model_Dashboard class Application_Model_Dashboard
{ {
public static function GetPreviousItem($p_timeNow){ public static function GetPreviousItem($p_timeNow)
{
//get previous show and previous item in the schedule table. //get previous show and previous item in the schedule table.
//Compare the two and if the last show was recorded and started //Compare the two and if the last show was recorded and started
//after the last item in the schedule table, then return the show's //after the last item in the schedule table, then return the show's
@ -46,7 +47,8 @@ class Application_Model_Dashboard
} }
} }
public static function GetCurrentItem($p_timeNow){ public static function GetCurrentItem($p_timeNow)
{
//get previous show and previous item in the schedule table. //get previous show and previous item in the schedule table.
//Compare the two and if the last show was recorded and started //Compare the two and if the last show was recorded and started
//after the last item in the schedule table, then return the show's //after the last item in the schedule table, then return the show's
@ -66,6 +68,7 @@ class Application_Model_Dashboard
* just in case we allow tracks to be scheduled without a show * just in case we allow tracks to be scheduled without a show
* in the future. * in the future.
*/ */
return array("name"=>$row[0]["artist_name"]." - ".$row[0]["track_title"], return array("name"=>$row[0]["artist_name"]." - ".$row[0]["track_title"],
"starts"=>$row[0]["starts"], "starts"=>$row[0]["starts"],
"ends"=>$row[0]["ends"]); "ends"=>$row[0]["ends"]);
@ -92,7 +95,8 @@ class Application_Model_Dashboard
} }
} }
public static function GetNextItem($p_timeNow){ public static function GetNextItem($p_timeNow)
{
//get previous show and previous item in the schedule table. //get previous show and previous item in the schedule table.
//Compare the two and if the last show was recorded and started //Compare the two and if the last show was recorded and started
//after the last item in the schedule table, then return the show's //after the last item in the schedule table, then return the show's

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Datatables { class Application_Model_Datatables
{
/* /*
* query used to return data for a paginated/searchable datatable. * query used to return data for a paginated/searchable datatable.
*/ */
@ -64,8 +64,7 @@ class Application_Model_Datatables {
if ($displayLength !== -1) { if ($displayLength !== -1) {
$sql .= " OFFSET ".$data["iDisplayStart"]." LIMIT ".$displayLength; $sql .= " OFFSET ".$data["iDisplayStart"]." LIMIT ".$displayLength;
} }
} } else {
else {
$sql = $selectorRows." FROM ".$fromTable." ORDER BY ".$orderby; $sql = $selectorRows." FROM ".$fromTable." ORDER BY ".$orderby;
//limit the results returned. //limit the results returned.
@ -81,16 +80,14 @@ class Application_Model_Datatables {
if (isset($sqlTotalDisplayRows)) { if (isset($sqlTotalDisplayRows)) {
$r = $con->query($sqlTotalDisplayRows); $r = $con->query($sqlTotalDisplayRows);
$totalDisplayRows = $r->fetchColumn(0); $totalDisplayRows = $r->fetchColumn(0);
} } else {
else {
$totalDisplayRows = $totalRows; $totalDisplayRows = $totalRows;
} }
$r = $con->query($sql); $r = $con->query($sql);
$r->setFetchMode(PDO::FETCH_ASSOC); $r->setFetchMode(PDO::FETCH_ASSOC);
$results = $r->fetchAll(); $results = $r->fetchAll();
} } catch (Exception $e) {
catch (Exception $e) {
Logging::debug($e->getMessage()); Logging::debug($e->getMessage());
} }

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Email { class Application_Model_Email
{
/** /**
* Send email * Send email
* *

View File

@ -3,7 +3,8 @@
class Application_Model_LiveLog class Application_Model_LiveLog
{ {
public static function GetLiveShowDuration($p_keepData=false) { public static function GetLiveShowDuration($p_keepData=false)
{
try { try {
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -87,11 +88,11 @@ class Application_Model_LiveLog
$seconds = explode(".", $seconds); $seconds = explode(".", $seconds);
if (isset($seconds[0])) { if (isset($seconds[0])) {
$minutes = (double) (($hours*60)+$minutes . "." . $seconds[0]); $minutes = (double) (($hours*60)+$minutes . "." . $seconds[0]);
} } else {
else {
$minutes = (double) (($hours*60)+$minutes); $minutes = (double) (($hours*60)+$minutes);
} }
} }
return $minutes; return $minutes;
} catch (Exception $e) { } catch (Exception $e) {
header('HTTP/1.0 503 Service Unavailable'); header('HTTP/1.0 503 Service Unavailable');
@ -119,8 +120,7 @@ class Application_Model_LiveLog
$last_row = self::UpdateLastLogEndTime(array_pop($rows)); $last_row = self::UpdateLastLogEndTime(array_pop($rows));
array_push($rows, $last_row); array_push($rows, $last_row);
$skip = false; $skip = false;
} } else {
else {
$sql = "SELECT * FROM CC_LIVE_LOG" $sql = "SELECT * FROM CC_LIVE_LOG"
." WHERE state = 'S'" ." WHERE state = 'S'"
." ORDER BY id"; ." ORDER BY id";
@ -191,22 +191,19 @@ class Application_Model_LiveLog
if ($clip_length_seconds / 3600 >= 1) { if ($clip_length_seconds / 3600 >= 1) {
array_push($clip_length_arr, str_pad(floor($clip_length_seconds / 3600), 2, "0", STR_PAD_LEFT)); array_push($clip_length_arr, str_pad(floor($clip_length_seconds / 3600), 2, "0", STR_PAD_LEFT));
$clip_length_seconds -= floor($clip_length_seconds / 3600); $clip_length_seconds -= floor($clip_length_seconds / 3600);
} } else {
else {
array_push($clip_length_arr, "00"); array_push($clip_length_arr, "00");
} }
if ($clip_length_seconds / 60 >= 1) { if ($clip_length_seconds / 60 >= 1) {
array_push($clip_length_arr, str_pad(floor($clip_length_seconds / 60), 2, "0", STR_PAD_LEFT)); array_push($clip_length_arr, str_pad(floor($clip_length_seconds / 60), 2, "0", STR_PAD_LEFT));
$clip_length_seconds -= floor($clip_length_seconds / 60); $clip_length_seconds -= floor($clip_length_seconds / 60);
} } else {
else {
array_push($clip_length_arr, "00"); array_push($clip_length_arr, "00");
} }
array_push($clip_length_arr, str_pad($clip_length_seconds, 2, "0", STR_PAD_LEFT)); array_push($clip_length_arr, str_pad($clip_length_seconds, 2, "0", STR_PAD_LEFT));
$clip_length = implode(":", $clip_length_arr); $clip_length = implode(":", $clip_length_arr);
} } else {
else {
$clip_length = $track['clip_length']; $clip_length = $track['clip_length'];
} }
@ -249,11 +246,11 @@ class Application_Model_LiveLog
$seconds = explode(".", $seconds); $seconds = explode(".", $seconds);
if (isset($seconds[0])) { if (isset($seconds[0])) {
$minutes = (double) (($hours*60)+$minutes . "." . $seconds[0]); $minutes = (double) (($hours*60)+$minutes . "." . $seconds[0]);
} } else {
else {
$minutes = (double) (($hours*60)+$minutes); $minutes = (double) (($hours*60)+$minutes);
} }
} }
return $minutes; return $minutes;
} catch (Exception $e) { } catch (Exception $e) {
header('HTTP/1.0 503 Service Unavailable'); header('HTTP/1.0 503 Service Unavailable');
@ -262,7 +259,8 @@ class Application_Model_LiveLog
} }
} }
public static function UpdateLastLogEndTime($log) { public static function UpdateLastLogEndTime($log)
{
if ($log['end_time'] == null) { if ($log['end_time'] == null) {
$current_time = new DateTime("now", new DateTimeZone('UTC')); $current_time = new DateTime("now", new DateTimeZone('UTC'));
$log['end_time'] = $current_time; $log['end_time'] = $current_time;
@ -270,10 +268,12 @@ class Application_Model_LiveLog
self::SetEndTime($log['state'], $current_time, true); self::SetEndTime($log['state'], $current_time, true);
self::SetNewLogTime($log['state'], $current_time); self::SetNewLogTime($log['state'], $current_time);
} }
return $log; return $log;
} }
public static function SetNewLogTime($state, $dateTime){ public static function SetNewLogTime($state, $dateTime)
{
try { try {
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -306,7 +306,8 @@ class Application_Model_LiveLog
} }
} }
public static function SetEndTime($state, $dateTime, $override=false){ public static function SetEndTime($state, $dateTime, $override=false)
{
try { try {
$con = Propel::getConnection(); $con = Propel::getConnection();

View File

@ -1,10 +1,12 @@
<?php <?php
class Application_Model_LoginAttempts { class Application_Model_LoginAttempts
public function __construct(){ {
public function __construct()
{
} }
public static function increaseAttempts($ip){ public static function increaseAttempts($ip)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "select count(*) from cc_login_attempts WHERE ip='$ip'"; $sql = "select count(*) from cc_login_attempts WHERE ip='$ip'";
$res = $con->query($sql)->fetchColumn(0); $res = $con->query($sql)->fetchColumn(0);
@ -17,14 +19,17 @@ class Application_Model_LoginAttempts {
} }
} }
public static function getAttempts($ip){ public static function getAttempts($ip)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "select attempts from cc_login_attempts WHERE ip='$ip'"; $sql = "select attempts from cc_login_attempts WHERE ip='$ip'";
$res = $con->query($sql)->fetchColumn(0); $res = $con->query($sql)->fetchColumn(0);
return $res ? $res : 0; return $res ? $res : 0;
} }
public static function resetAttempts($ip){ public static function resetAttempts($ip)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "select count(*) from cc_login_attempts WHERE ip='$ip'"; $sql = "select count(*) from cc_login_attempts WHERE ip='$ip'";
$res = $con->query($sql)->fetchColumn(0); $res = $con->query($sql)->fetchColumn(0);

View File

@ -2,8 +2,8 @@
class NestedDirectoryException extends Exception { } class NestedDirectoryException extends Exception { }
class Application_Model_MusicDir { class Application_Model_MusicDir
{
/** /**
* @holds propel database object * @holds propel database object
*/ */
@ -40,21 +40,25 @@ class Application_Model_MusicDir {
$this->_dir->save(); $this->_dir->save();
} }
public function setExistsFlag($flag){ public function setExistsFlag($flag)
{
$this->_dir->setExists($flag); $this->_dir->setExists($flag);
$this->_dir->save(); $this->_dir->save();
} }
public function setWatchedFlag($flag){ public function setWatchedFlag($flag)
{
$this->_dir->setWatched($flag); $this->_dir->setWatched($flag);
$this->_dir->save(); $this->_dir->save();
} }
public function getWatchedFlag(){ public function getWatchedFlag()
{
return $this->_dir->getWatched(); return $this->_dir->getWatched();
} }
public function getExistsFlag(){ public function getExistsFlag()
{
return $this->_dir->getExists(); return $this->_dir->getExists();
} }
@ -113,7 +117,8 @@ class Application_Model_MusicDir {
* @return boolean * @return boolean
* Returns true if it is the ancestor, false otherwise. * Returns true if it is the ancestor, false otherwise.
*/ */
private static function isAncestorDir($p_dir1, $p_dir2){ private static function isAncestorDir($p_dir1, $p_dir2)
{
if (strlen($p_dir1) > strlen($p_dir2)) { if (strlen($p_dir1) > strlen($p_dir2)) {
return false; return false;
} }
@ -130,7 +135,8 @@ class Application_Model_MusicDir {
* The path we want to validate * The path we want to validate
* @return void * @return void
*/ */
public static function isPathValid($p_path){ public static function isPathValid($p_path)
{
$dirs = self::getWatchedDirs(); $dirs = self::getWatchedDirs();
$dirs[] = self::getStorDir(); $dirs[] = self::getStorDir();
@ -187,7 +193,6 @@ class Application_Model_MusicDir {
$dir->setType($p_type); $dir->setType($p_type);
$p_path = Application_Common_OsPath::normpath($p_path)."/"; $p_path = Application_Common_OsPath::normpath($p_path)."/";
try { try {
/* isPathValid() checks if path is a substring or a superstring of an /* isPathValid() checks if path is a substring or a superstring of an
* existing dir and if not, throws NestedDirectoryException */ * existing dir and if not, throws NestedDirectoryException */
@ -207,6 +212,7 @@ class Application_Model_MusicDir {
return array("code"=>0); return array("code"=>0);
} catch (NestedDirectoryException $nde) { } catch (NestedDirectoryException $nde) {
$msg = $nde->getMessage(); $msg = $nde->getMessage();
return array("code"=>1, "error"=>"$msg"); return array("code"=>1, "error"=>"$msg");
} catch (Exception $e) { } catch (Exception $e) {
return array("code"=>1, "error"=>"'$p_path' is already set as the current storage dir or in the watched folders list"); return array("code"=>1, "error"=>"'$p_path' is already set as the current storage dir or in the watched folders list");
@ -271,6 +277,7 @@ class Application_Model_MusicDir {
$data["directory"] = $p_path; $data["directory"] = $p_path;
Application_Model_RabbitMq::SendMessageToMediaMonitor("new_watch", $data); Application_Model_RabbitMq::SendMessageToMediaMonitor("new_watch", $data);
} }
return $res; return $res;
} }
@ -290,9 +297,9 @@ class Application_Model_MusicDir {
->findOne(); ->findOne();
if ($dir == NULL) { if ($dir == NULL) {
return null; return null;
} } else {
else{
$mus_dir = new Application_Model_MusicDir($dir); $mus_dir = new Application_Model_MusicDir($dir);
return $mus_dir; return $mus_dir;
} }
} }
@ -355,6 +362,7 @@ class Application_Model_MusicDir {
$data["directory"] = $p_dir; $data["directory"] = $p_dir;
$data["dir_id"] = $dirId; $data["dir_id"] = $dirId;
Application_Model_RabbitMq::SendMessageToMediaMonitor("change_stor", $data); Application_Model_RabbitMq::SendMessageToMediaMonitor("change_stor", $data);
return array("code"=>0); return array("code"=>0);
} else { } else {
return array("code"=>1, "error"=>"'$p_dir' is already set as the current storage dir or in the watched folders list."); return array("code"=>1, "error"=>"'$p_dir' is already set as the current storage dir or in the watched folders list.");
@ -373,6 +381,7 @@ class Application_Model_MusicDir {
$directory = $dir->getDirectory(); $directory = $dir->getDirectory();
if (substr($p_filepath, 0, strlen($directory)) === $directory) { if (substr($p_filepath, 0, strlen($directory)) === $directory) {
$mus_dir = new Application_Model_MusicDir($dir); $mus_dir = new Application_Model_MusicDir($dir);
return $mus_dir; return $mus_dir;
} }
} }
@ -390,8 +399,8 @@ class Application_Model_MusicDir {
* When $userAddedWatchedDir is true, it will set "Watched" flag to false * When $userAddedWatchedDir is true, it will set "Watched" flag to false
* otherwise, it will set "Exists" flag to true * otherwise, it will set "Exists" flag to true
**/ **/
public static function removeWatchedDir($p_dir, $userAddedWatchedDir=true){ public static function removeWatchedDir($p_dir, $userAddedWatchedDir=true)
{
//make sure that $p_dir has a trailing "/" //make sure that $p_dir has a trailing "/"
$real_path = Application_Common_OsPath::normpath($p_dir)."/"; $real_path = Application_Common_OsPath::normpath($p_dir)."/";
if ($real_path != "/") { if ($real_path != "/") {
@ -405,6 +414,7 @@ class Application_Model_MusicDir {
$data = array(); $data = array();
$data["directory"] = $p_dir; $data["directory"] = $p_dir;
Application_Model_RabbitMq::SendMessageToMediaMonitor("remove_watch", $data); Application_Model_RabbitMq::SendMessageToMediaMonitor("remove_watch", $data);
return array("code"=>0); return array("code"=>0);
} }
} }

View File

@ -8,8 +8,8 @@ require_once 'formatters/LengthFormatter.php';
* @copyright 2010 Sourcefabric O.P.S. * @copyright 2010 Sourcefabric O.P.S.
* @license http://www.gnu.org/licenses/gpl.txt * @license http://www.gnu.org/licenses/gpl.txt
*/ */
class Application_Model_Playlist { class Application_Model_Playlist
{
/** /**
* propel connection object. * propel connection object.
*/ */
@ -55,8 +55,7 @@ class Application_Model_Playlist {
if (is_null($this->pl)) { if (is_null($this->pl)) {
throw new PlaylistNotFoundException(); throw new PlaylistNotFoundException();
} }
} } else {
else {
$this->pl = new CcPlaylist(); $this->pl = new CcPlaylist();
$this->pl->setDbUTime("now", new DateTimeZone("UTC")); $this->pl->setDbUTime("now", new DateTimeZone("UTC"));
$this->pl->save(); $this->pl->save();
@ -79,7 +78,8 @@ class Application_Model_Playlist {
* *
* @return int * @return int
*/ */
public function getId() { public function getId()
{
return $this->id; return $this->id;
} }
@ -117,28 +117,30 @@ class Application_Model_Playlist {
return $this->pl->getDbDescription(); return $this->pl->getDbDescription();
} }
public function getCreator() { public function getCreator()
{
return $this->pl->getCcSubjs()->getDbLogin(); return $this->pl->getCcSubjs()->getDbLogin();
} }
public function getCreatorId() { public function getCreatorId()
{
return $this->pl->getCcSubjs()->getDbId(); return $this->pl->getCcSubjs()->getDbId();
} }
public function setCreator($p_id) { public function setCreator($p_id)
{
$this->pl->setDbCreatorId($p_id); $this->pl->setDbCreatorId($p_id);
$this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC"))); $this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC")));
$this->pl->save($this->con); $this->pl->save($this->con);
} }
public function getLastModified($format = null) { public function getLastModified($format = null)
{
return $this->pl->getDbMtime($format); return $this->pl->getDbMtime($format);
} }
public function getSize() { public function getSize()
{
return $this->pl->countCcPlaylistcontentss(); return $this->pl->countCcPlaylistcontentss();
} }
@ -148,8 +150,8 @@ class Application_Model_Playlist {
* file_exists flag set to true * file_exists flag set to true
* @return array * @return array
*/ */
public function getContents($filterFiles=false) { public function getContents($filterFiles=false)
{
Logging::log("Getting contents for playlist {$this->id}"); Logging::log("Getting contents for playlist {$this->id}");
$files = array(); $files = array();
@ -193,8 +195,8 @@ class Application_Model_Playlist {
* but this isn't practical since fades shouldn't be very long usuall 1 second or less. This function * but this isn't practical since fades shouldn't be very long usuall 1 second or less. This function
* will normalize the fade so that it looks like 00.000000 to the user. * will normalize the fade so that it looks like 00.000000 to the user.
**/ **/
public function normalizeFade($fade) { public function normalizeFade($fade)
{
//First get rid of the first six characters 00:00: which will be added back later for db update //First get rid of the first six characters 00:00: which will be added back later for db update
$fade = substr($fade, 6); $fade = substr($fade, 6);
@ -211,12 +213,11 @@ class Application_Model_Playlist {
} }
//aggregate column on playlistcontents cliplength column. //aggregate column on playlistcontents cliplength column.
public function getLength() { public function getLength()
{
return $this->pl->getDbLength(); return $this->pl->getDbLength();
} }
private function insertPlaylistElement($info) private function insertPlaylistElement($info)
{ {
$row = new CcPlaylistcontents(); $row = new CcPlaylistcontents();
@ -246,8 +247,7 @@ class Application_Model_Playlist {
$entry["cueout"] = $file->getDbLength(); $entry["cueout"] = $file->getDbLength();
return $entry; return $entry;
} } else {
else {
throw new Exception("trying to add a file that does not exist."); throw new Exception("trying to add a file that does not exist.");
} }
} }
@ -275,7 +275,6 @@ class Application_Model_Playlist {
Logging::log("index is {$index}"); Logging::log("index is {$index}");
$pos = ($addType == 'after') ? $index + 1 : $index; $pos = ($addType == 'after') ? $index + 1 : $index;
$contentsToUpdate = CcPlaylistcontentsQuery::create() $contentsToUpdate = CcPlaylistcontentsQuery::create()
->filterByDbPlaylistId($this->id) ->filterByDbPlaylistId($this->id)
->filterByDbPosition($pos, Criteria::GREATER_EQUAL) ->filterByDbPosition($pos, Criteria::GREATER_EQUAL)
@ -284,8 +283,7 @@ class Application_Model_Playlist {
Logging::log("Adding to playlist"); Logging::log("Adding to playlist");
Logging::log("at position {$pos}"); Logging::log("at position {$pos}");
} } else {
else {
//add to the end of the playlist //add to the end of the playlist
if ($addType == 'after') { if ($addType == 'after') {
@ -329,8 +327,7 @@ class Application_Model_Playlist {
$this->pl->save($this->con); $this->pl->save($this->con);
$this->con->commit(); $this->con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
@ -378,8 +375,7 @@ class Application_Model_Playlist {
$item->save($this->con); $item->save($this->con);
$pos = $pos + 1; $pos = $pos + 1;
} }
} } else {
else {
Logging::log("moving items after {$p_afterItem}"); Logging::log("moving items after {$p_afterItem}");
foreach ($otherContent as $item) { foreach ($otherContent as $item) {
@ -400,13 +396,11 @@ class Application_Model_Playlist {
} }
$this->con->commit(); $this->con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
$this->pl = CcPlaylistQuery::create()->findPK($this->id); $this->pl = CcPlaylistQuery::create()->findPK($this->id);
$this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC"))); $this->pl->setDbMtime(new DateTime("now", new DateTimeZone("UTC")));
$this->pl->save($this->con); $this->pl->save($this->con);
@ -444,16 +438,14 @@ class Application_Model_Playlist {
$this->pl->save($this->con); $this->pl->save($this->con);
$this->con->commit(); $this->con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
} }
public function getFadeInfo($pos)
public function getFadeInfo($pos) { {
Logging::log("Getting fade info for pos {$pos}"); Logging::log("Getting fade info for pos {$pos}");
$row = CcPlaylistcontentsQuery::create() $row = CcPlaylistcontentsQuery::create()
@ -465,6 +457,7 @@ class Application_Model_Playlist {
#Propel returns values in form 00.000000 format which is for only seconds. #Propel returns values in form 00.000000 format which is for only seconds.
$fadeIn = $row->getDbFadein(); $fadeIn = $row->getDbFadein();
$fadeOut = $row->getDbFadeout(); $fadeOut = $row->getDbFadeout();
return array($fadeIn, $fadeOut); return array($fadeIn, $fadeOut);
} }
@ -526,8 +519,7 @@ class Application_Model_Playlist {
$this->pl->save($this->con); $this->pl->save($this->con);
$this->con->commit(); $this->con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
@ -535,8 +527,8 @@ class Application_Model_Playlist {
return array("fadeIn" => $fadeIn, "fadeOut" => $fadeOut); return array("fadeIn" => $fadeIn, "fadeOut" => $fadeOut);
} }
public function setPlaylistfades($fadein, $fadeout) { public function setPlaylistfades($fadein, $fadeout)
{
if (isset($fadein)) { if (isset($fadein)) {
Logging::log("Setting playlist fade in {$fadein}"); Logging::log("Setting playlist fade in {$fadein}");
$row = CcPlaylistcontentsQuery::create() $row = CcPlaylistcontentsQuery::create()
@ -578,6 +570,7 @@ class Application_Model_Playlist {
try { try {
if (is_null($cueIn) && is_null($cueOut)) { if (is_null($cueIn) && is_null($cueOut)) {
$errArray["error"] = "Cue in and cue out are null."; $errArray["error"] = "Cue in and cue out are null.";
return $errArray; return $errArray;
} }
@ -608,6 +601,7 @@ class Application_Model_Playlist {
$r = $this->con->query($sql); $r = $this->con->query($sql);
if ($r->fetchColumn(0)) { if ($r->fetchColumn(0)) {
$errArray["error"] = "Can't set cue in to be larger than cue out."; $errArray["error"] = "Can't set cue in to be larger than cue out.";
return $errArray; return $errArray;
} }
@ -615,6 +609,7 @@ class Application_Model_Playlist {
$r = $this->con->query($sql); $r = $this->con->query($sql);
if ($r->fetchColumn(0)) { if ($r->fetchColumn(0)) {
$errArray["error"] = "Can't set cue out to be greater than file length."; $errArray["error"] = "Can't set cue out to be greater than file length.";
return $errArray; return $errArray;
} }
@ -626,13 +621,13 @@ class Application_Model_Playlist {
$row->setDbCueout($cueOut); $row->setDbCueout($cueOut);
$row->setDBCliplength($cliplength); $row->setDBCliplength($cliplength);
} } elseif (!is_null($cueIn)) {
else if (!is_null($cueIn)) {
$sql = "SELECT INTERVAL '{$cueIn}' > INTERVAL '{$oldCueOut}'"; $sql = "SELECT INTERVAL '{$cueIn}' > INTERVAL '{$oldCueOut}'";
$r = $this->con->query($sql); $r = $this->con->query($sql);
if ($r->fetchColumn(0)) { if ($r->fetchColumn(0)) {
$errArray["error"] = "Can't set cue in to be larger than cue out."; $errArray["error"] = "Can't set cue in to be larger than cue out.";
return $errArray; return $errArray;
} }
@ -642,8 +637,7 @@ class Application_Model_Playlist {
$row->setDbCuein($cueIn); $row->setDbCuein($cueIn);
$row->setDBCliplength($cliplength); $row->setDBCliplength($cliplength);
} } elseif (!is_null($cueOut)) {
else if (!is_null($cueOut)) {
if ($cueOut === "") { if ($cueOut === "") {
$cueOut = $origLength; $cueOut = $origLength;
@ -653,6 +647,7 @@ class Application_Model_Playlist {
$r = $this->con->query($sql); $r = $this->con->query($sql);
if ($r->fetchColumn(0)) { if ($r->fetchColumn(0)) {
$errArray["error"] = "Can't set cue out to be smaller than cue in."; $errArray["error"] = "Can't set cue out to be smaller than cue in.";
return $errArray; return $errArray;
} }
@ -660,6 +655,7 @@ class Application_Model_Playlist {
$r = $this->con->query($sql); $r = $this->con->query($sql);
if ($r->fetchColumn(0)) { if ($r->fetchColumn(0)) {
$errArray["error"] = "Can't set cue out to be greater than file length."; $errArray["error"] = "Can't set cue out to be greater than file length.";
return $errArray; return $errArray;
} }
@ -692,8 +688,7 @@ class Application_Model_Playlist {
$this->pl->save($this->con); $this->pl->save($this->con);
$this->con->commit(); $this->con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
@ -719,6 +714,7 @@ class Application_Model_Playlist {
{ {
$cat = $this->categories[$category]; $cat = $this->categories[$category];
$method = 'get' . $cat; $method = 'get' . $cat;
return $this->$method(); return $this->$method();
} }
@ -749,6 +745,7 @@ class Application_Model_Playlist {
if (isset($arr[1])) { if (isset($arr[1])) {
return intval($arr[0])*60 + floatval($arr[1]); return intval($arr[0])*60 + floatval($arr[1]);
} }
return floatval($arr[0]); return floatval($arr[0]);
} }
@ -786,6 +783,7 @@ class Application_Model_Playlist {
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = 'SELECT count(*) as cnt FROM '.$CC_CONFIG["playListTable"]; $sql = 'SELECT count(*) as cnt FROM '.$CC_CONFIG["playListTable"];
return $con->query($sql)->fetchColumn(0); return $con->query($sql)->fetchColumn(0);
} }

View File

@ -2,8 +2,8 @@
require_once 'formatters/LengthFormatter.php'; require_once 'formatters/LengthFormatter.php';
class Application_Model_PlayoutHistory { class Application_Model_PlayoutHistory
{
private $con; private $con;
private $timezone; private $timezone;
@ -24,8 +24,8 @@ class Application_Model_PlayoutHistory {
"copyright" => "file.copyright", "copyright" => "file.copyright",
); );
public function __construct($p_startDT, $p_endDT, $p_opts) { public function __construct($p_startDT, $p_endDT, $p_opts)
{
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
$this->startDT = $p_startDT; $this->startDT = $p_startDT;
$this->endDT = $p_endDT; $this->endDT = $p_endDT;
@ -37,16 +37,16 @@ class Application_Model_PlayoutHistory {
/* /*
* map front end mDataProp labels to proper column names for searching etc. * map front end mDataProp labels to proper column names for searching etc.
*/ */
private function translateColumns() { private function translateColumns()
{
for ($i = 0; $i < $this->opts["iColumns"]; $i++) { for ($i = 0; $i < $this->opts["iColumns"]; $i++) {
$this->opts["mDataProp_{$i}"] = $this->mDataPropMap[$this->opts["mDataProp_{$i}"]]; $this->opts["mDataProp_{$i}"] = $this->mDataPropMap[$this->opts["mDataProp_{$i}"]];
} }
} }
public function getItems() { public function getItems()
{
$this->translateColumns(); $this->translateColumns();
$select = array( $select = array(

View File

@ -3,15 +3,15 @@
class Application_Model_Preference class Application_Model_Preference
{ {
public static function setValue($key, $value, $isUserValue = false){ public static function setValue($key, $value, $isUserValue = false)
{
try { try {
$con = Propel::getConnection(); $con = Propel::getConnection();
//called from a daemon process //called from a daemon process
if (!class_exists("Zend_Auth", false) || !Zend_Auth::getInstance()->hasIdentity()) { if (!class_exists("Zend_Auth", false) || !Zend_Auth::getInstance()->hasIdentity()) {
$id = NULL; $id = NULL;
} } else {
else {
$auth = Zend_Auth::getInstance(); $auth = Zend_Auth::getInstance();
$id = $auth->getIdentity()->id; $id = $auth->getIdentity()->id;
} }
@ -72,7 +72,8 @@ class Application_Model_Preference
} }
public static function getValue($key, $isUserValue = false){ public static function getValue($key, $isUserValue = false)
{
try { try {
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -89,6 +90,7 @@ class Application_Model_Preference
} }
$result = $con->query($sql)->fetchColumn(0); $result = $con->query($sql)->fetchColumn(0);
if ($result == 0) if ($result == 0)
return ""; return "";
else { else {
$sql = "SELECT valstr FROM cc_pref" $sql = "SELECT valstr FROM cc_pref"
@ -100,6 +102,7 @@ class Application_Model_Preference
} }
$result = $con->query($sql)->fetchColumn(0); $result = $con->query($sql)->fetchColumn(0);
return ($result !== false) ? $result : ""; return ($result !== false) ? $result : "";
} }
} catch (Exception $e) { } catch (Exception $e) {
@ -109,7 +112,8 @@ class Application_Model_Preference
} }
} }
public static function GetHeadTitle(){ public static function GetHeadTitle()
{
$title = self::getValue("station_name"); $title = self::getValue("station_name");
$defaultNamespace->title = $title; $defaultNamespace->title = $title;
if (strlen($title) > 0) if (strlen($title) > 0)
@ -118,7 +122,8 @@ class Application_Model_Preference
return $title."Airtime"; return $title."Airtime";
} }
public static function SetHeadTitle($title, $view=null){ public static function SetHeadTitle($title, $view=null)
{
self::setValue("station_name", $title); self::setValue("station_name", $title);
// in case this is called from airtime-saas script // in case this is called from airtime-saas script
@ -142,7 +147,8 @@ class Application_Model_Preference
* @param DateTime $dateTime * @param DateTime $dateTime
* A row from cc_show_days table * A row from cc_show_days table
*/ */
public static function SetShowsPopulatedUntil($dateTime) { public static function SetShowsPopulatedUntil($dateTime)
{
self::setValue("shows_populated_until", $dateTime->format("Y-m-d H:i:s")); self::setValue("shows_populated_until", $dateTime->format("Y-m-d H:i:s"));
} }
@ -155,7 +161,8 @@ class Application_Model_Preference
* *
* @return DateTime (in UTC Timezone) * @return DateTime (in UTC Timezone)
*/ */
public static function GetShowsPopulatedUntil() { public static function GetShowsPopulatedUntil()
{
$date = self::getValue("shows_populated_until"); $date = self::getValue("shows_populated_until");
if ($date == "") { if ($date == "") {
@ -165,11 +172,13 @@ class Application_Model_Preference
} }
} }
public static function SetDefaultFade($fade) { public static function SetDefaultFade($fade)
{
self::setValue("default_fade", $fade); self::setValue("default_fade", $fade);
} }
public static function GetDefaultFade() { public static function GetDefaultFade()
{
$fade = self::getValue("default_fade"); $fade = self::getValue("default_fade");
if ($fade === "") { if ($fade === "") {
@ -191,10 +200,12 @@ class Application_Model_Preference
$fade = number_format($fade, 6); $fade = number_format($fade, 6);
//fades need 2 leading zeros for DateTime conversion //fades need 2 leading zeros for DateTime conversion
$fade = str_pad($fade, 9, "0", STR_PAD_LEFT); $fade = str_pad($fade, 9, "0", STR_PAD_LEFT);
return $fade; return $fade;
} }
public static function SetDefaultTransitionFade($fade) { public static function SetDefaultTransitionFade($fade)
{
self::setValue("default_transition_fade", $fade); self::setValue("default_transition_fade", $fade);
$eventType = "update_transition_fade"; $eventType = "update_transition_fade";
@ -202,15 +213,18 @@ class Application_Model_Preference
Application_Model_RabbitMq::SendMessageToPypo($eventType, $md); Application_Model_RabbitMq::SendMessageToPypo($eventType, $md);
} }
public static function GetDefaultTransitionFade() { public static function GetDefaultTransitionFade()
{
$transition_fade = self::getValue("default_transition_fade"); $transition_fade = self::getValue("default_transition_fade");
if ($transition_fade == "") { if ($transition_fade == "") {
$transition_fade = "00.000000"; $transition_fade = "00.000000";
} }
return $transition_fade; return $transition_fade;
} }
public static function SetStreamLabelFormat($type){ public static function SetStreamLabelFormat($type)
{
self::setValue("stream_label_format", $type); self::setValue("stream_label_format", $type);
$eventType = "update_stream_format"; $eventType = "update_stream_format";
@ -219,76 +233,94 @@ class Application_Model_Preference
Application_Model_RabbitMq::SendMessageToPypo($eventType, $md); Application_Model_RabbitMq::SendMessageToPypo($eventType, $md);
} }
public static function GetStreamLabelFormat(){ public static function GetStreamLabelFormat()
{
return self::getValue("stream_label_format"); return self::getValue("stream_label_format");
} }
public static function GetStationName(){ public static function GetStationName()
{
return self::getValue("station_name"); return self::getValue("station_name");
} }
public static function SetAutoUploadRecordedShowToSoundcloud($upload) { public static function SetAutoUploadRecordedShowToSoundcloud($upload)
{
self::setValue("soundcloud_auto_upload_recorded_show", $upload); self::setValue("soundcloud_auto_upload_recorded_show", $upload);
} }
public static function GetAutoUploadRecordedShowToSoundcloud() { public static function GetAutoUploadRecordedShowToSoundcloud()
{
return self::getValue("soundcloud_auto_upload_recorded_show"); return self::getValue("soundcloud_auto_upload_recorded_show");
} }
public static function SetSoundCloudUser($user) { public static function SetSoundCloudUser($user)
{
self::setValue("soundcloud_user", $user); self::setValue("soundcloud_user", $user);
} }
public static function GetSoundCloudUser() { public static function GetSoundCloudUser()
{
return self::getValue("soundcloud_user"); return self::getValue("soundcloud_user");
} }
public static function SetSoundCloudPassword($password) { public static function SetSoundCloudPassword($password)
{
if (strlen($password) > 0) if (strlen($password) > 0)
self::setValue("soundcloud_password", $password); self::setValue("soundcloud_password", $password);
} }
public static function GetSoundCloudPassword() { public static function GetSoundCloudPassword()
{
return self::getValue("soundcloud_password"); return self::getValue("soundcloud_password");
} }
public static function SetSoundCloudTags($tags) { public static function SetSoundCloudTags($tags)
{
self::setValue("soundcloud_tags", $tags); self::setValue("soundcloud_tags", $tags);
} }
public static function GetSoundCloudTags() { public static function GetSoundCloudTags()
{
return self::getValue("soundcloud_tags"); return self::getValue("soundcloud_tags");
} }
public static function SetSoundCloudGenre($genre) { public static function SetSoundCloudGenre($genre)
{
self::setValue("soundcloud_genre", $genre); self::setValue("soundcloud_genre", $genre);
} }
public static function GetSoundCloudGenre() { public static function GetSoundCloudGenre()
{
return self::getValue("soundcloud_genre"); return self::getValue("soundcloud_genre");
} }
public static function SetSoundCloudTrackType($track_type) { public static function SetSoundCloudTrackType($track_type)
{
self::setValue("soundcloud_tracktype", $track_type); self::setValue("soundcloud_tracktype", $track_type);
} }
public static function GetSoundCloudTrackType() { public static function GetSoundCloudTrackType()
{
return self::getValue("soundcloud_tracktype"); return self::getValue("soundcloud_tracktype");
} }
public static function SetSoundCloudLicense($license) { public static function SetSoundCloudLicense($license)
{
self::setValue("soundcloud_license", $license); self::setValue("soundcloud_license", $license);
} }
public static function GetSoundCloudLicense() { public static function GetSoundCloudLicense()
{
return self::getValue("soundcloud_license"); return self::getValue("soundcloud_license");
} }
public static function SetAllow3rdPartyApi($bool) { public static function SetAllow3rdPartyApi($bool)
{
self::setValue("third_party_api", $bool); self::setValue("third_party_api", $bool);
} }
public static function GetAllow3rdPartyApi() { public static function GetAllow3rdPartyApi()
{
$val = self::getValue("third_party_api"); $val = self::getValue("third_party_api");
if (strlen($val) == 0) { if (strlen($val) == 0) {
return "0"; return "0";
@ -297,89 +329,110 @@ class Application_Model_Preference
} }
} }
public static function SetPhone($phone){ public static function SetPhone($phone)
{
self::setValue("phone", $phone); self::setValue("phone", $phone);
} }
public static function GetPhone(){ public static function GetPhone()
{
return self::getValue("phone"); return self::getValue("phone");
} }
public static function SetEmail($email){ public static function SetEmail($email)
{
self::setValue("email", $email); self::setValue("email", $email);
} }
public static function GetEmail(){ public static function GetEmail()
{
return self::getValue("email"); return self::getValue("email");
} }
public static function SetStationWebSite($site){ public static function SetStationWebSite($site)
{
self::setValue("station_website", $site); self::setValue("station_website", $site);
} }
public static function GetStationWebSite(){ public static function GetStationWebSite()
{
return self::getValue("station_website"); return self::getValue("station_website");
} }
public static function SetSupportFeedback($feedback){ public static function SetSupportFeedback($feedback)
{
self::setValue("support_feedback", $feedback); self::setValue("support_feedback", $feedback);
} }
public static function GetSupportFeedback(){ public static function GetSupportFeedback()
{
return self::getValue("support_feedback"); return self::getValue("support_feedback");
} }
public static function SetPublicise($publicise){ public static function SetPublicise($publicise)
{
self::setValue("publicise", $publicise); self::setValue("publicise", $publicise);
} }
public static function GetPublicise(){ public static function GetPublicise()
{
return self::getValue("publicise"); return self::getValue("publicise");
} }
public static function SetRegistered($registered){ public static function SetRegistered($registered)
{
self::setValue("registered", $registered); self::setValue("registered", $registered);
} }
public static function GetRegistered(){ public static function GetRegistered()
{
return self::getValue("registered"); return self::getValue("registered");
} }
public static function SetStationCountry($country){ public static function SetStationCountry($country)
{
self::setValue("country", $country); self::setValue("country", $country);
} }
public static function GetStationCountry(){ public static function GetStationCountry()
{
return self::getValue("country"); return self::getValue("country");
} }
public static function SetStationCity($city){ public static function SetStationCity($city)
{
self::setValue("city", $city); self::setValue("city", $city);
} }
public static function GetStationCity(){ public static function GetStationCity()
{
return self::getValue("city"); return self::getValue("city");
} }
public static function SetStationDescription($description){ public static function SetStationDescription($description)
{
self::setValue("description", $description); self::setValue("description", $description);
} }
public static function GetStationDescription(){ public static function GetStationDescription()
{
return self::getValue("description"); return self::getValue("description");
} }
public static function SetTimezone($timezone){ public static function SetTimezone($timezone)
{
self::setValue("timezone", $timezone); self::setValue("timezone", $timezone);
date_default_timezone_set($timezone); date_default_timezone_set($timezone);
$md = array("timezone" => $timezone); $md = array("timezone" => $timezone);
} }
public static function GetTimezone(){ public static function GetTimezone()
{
return self::getValue("timezone"); return self::getValue("timezone");
} }
public static function SetStationLogo($imagePath){ public static function SetStationLogo($imagePath)
{
if (!empty($imagePath)) { if (!empty($imagePath)) {
$image = @file_get_contents($imagePath); $image = @file_get_contents($imagePath);
$image = base64_encode($image); $image = base64_encode($image);
@ -387,11 +440,13 @@ class Application_Model_Preference
} }
} }
public static function GetStationLogo(){ public static function GetStationLogo()
{
return self::getValue("logoImage"); return self::getValue("logoImage");
} }
public static function GetUniqueId(){ public static function GetUniqueId()
{
return self::getValue("uniqueId"); return self::getValue("uniqueId");
} }
@ -405,6 +460,7 @@ class Application_Model_Preference
foreach ($res as $r) { foreach ($res as $r) {
$out[$r["isocode"]] = $r["name"]; $out[$r["isocode"]] = $r["name"];
} }
return $out; return $out;
} }
@ -509,13 +565,15 @@ class Application_Model_Preference
if ($returnArray) { if ($returnArray) {
$outputArray['PROMOTE'] = self::GetPublicise(); $outputArray['PROMOTE'] = self::GetPublicise();
$outputArray['LOGOIMG'] = self::GetStationLogo(); $outputArray['LOGOIMG'] = self::GetStationLogo();
return $outputArray; return $outputArray;
} else { } else {
return $outputString; return $outputString;
} }
} }
public static function GetInstallMethod(){ public static function GetInstallMethod()
{
$easy_install = file_exists('/usr/bin/airtime-easy-setup'); $easy_install = file_exists('/usr/bin/airtime-easy-setup');
$debian_install = file_exists('/var/lib/dpkg/info/airtime.config'); $debian_install = file_exists('/var/lib/dpkg/info/airtime.config');
if ($debian_install) { if ($debian_install) {
@ -529,102 +587,127 @@ class Application_Model_Preference
} }
} }
public static function SetRemindMeDate(){ public static function SetRemindMeDate()
{
$weekAfter = mktime(0, 0, 0, gmdate("m"), gmdate("d")+7, gmdate("Y")); $weekAfter = mktime(0, 0, 0, gmdate("m"), gmdate("d")+7, gmdate("Y"));
self::setValue("remindme", $weekAfter); self::setValue("remindme", $weekAfter);
} }
public static function GetRemindMeDate(){ public static function GetRemindMeDate()
{
return self::getValue("remindme"); return self::getValue("remindme");
} }
public static function SetImportTimestamp(){ public static function SetImportTimestamp()
{
$now = time(); $now = time();
if (self::GetImportTimestamp()+5 < $now) { if (self::GetImportTimestamp()+5 < $now) {
self::setValue("import_timestamp", $now); self::setValue("import_timestamp", $now);
} }
} }
public static function GetImportTimestamp(){ public static function GetImportTimestamp()
{
return self::getValue("import_timestamp"); return self::getValue("import_timestamp");
} }
public static function GetStreamType(){ public static function GetStreamType()
{
$st = self::getValue("stream_type"); $st = self::getValue("stream_type");
return explode(',', $st); return explode(',', $st);
} }
public static function GetStreamBitrate(){ public static function GetStreamBitrate()
{
$sb = self::getValue("stream_bitrate"); $sb = self::getValue("stream_bitrate");
return explode(',', $sb); return explode(',', $sb);
} }
public static function SetPrivacyPolicyCheck($flag){ public static function SetPrivacyPolicyCheck($flag)
{
self::setValue("privacy_policy", $flag); self::setValue("privacy_policy", $flag);
} }
public static function GetPrivacyPolicyCheck(){ public static function GetPrivacyPolicyCheck()
{
return self::getValue("privacy_policy"); return self::getValue("privacy_policy");
} }
public static function SetNumOfStreams($num){ public static function SetNumOfStreams($num)
{
self::setValue("num_of_streams", intval($num)); self::setValue("num_of_streams", intval($num));
} }
public static function GetNumOfStreams(){ public static function GetNumOfStreams()
{
return self::getValue("num_of_streams"); return self::getValue("num_of_streams");
} }
public static function SetMaxBitrate($bitrate){ public static function SetMaxBitrate($bitrate)
{
self::setValue("max_bitrate", intval($bitrate)); self::setValue("max_bitrate", intval($bitrate));
} }
public static function GetMaxBitrate(){ public static function GetMaxBitrate()
{
return self::getValue("max_bitrate"); return self::getValue("max_bitrate");
} }
public static function SetPlanLevel($plan){ public static function SetPlanLevel($plan)
{
self::setValue("plan_level", $plan); self::setValue("plan_level", $plan);
} }
public static function GetPlanLevel(){ public static function GetPlanLevel()
{
$plan = self::getValue("plan_level"); $plan = self::getValue("plan_level");
if (trim($plan) == '') { if (trim($plan) == '') {
$plan = 'disabled'; $plan = 'disabled';
} }
return $plan; return $plan;
} }
public static function SetTrialEndingDate($date){ public static function SetTrialEndingDate($date)
{
self::setValue("trial_end_date", $date); self::setValue("trial_end_date", $date);
} }
public static function GetTrialEndingDate(){ public static function GetTrialEndingDate()
{
return self::getValue("trial_end_date"); return self::getValue("trial_end_date");
} }
public static function SetEnableStreamConf($bool){ public static function SetEnableStreamConf($bool)
{
self::setValue("enable_stream_conf", $bool); self::setValue("enable_stream_conf", $bool);
} }
public static function GetEnableStreamConf(){ public static function GetEnableStreamConf()
{
if (self::getValue("enable_stream_conf") == Null) { if (self::getValue("enable_stream_conf") == Null) {
return "true"; return "true";
} }
return self::getValue("enable_stream_conf"); return self::getValue("enable_stream_conf");
} }
public static function GetAirtimeVersion(){ public static function GetAirtimeVersion()
{
if (defined('APPLICATION_ENV') && APPLICATION_ENV == "development" && function_exists('exec')) { if (defined('APPLICATION_ENV') && APPLICATION_ENV == "development" && function_exists('exec')) {
$version = exec("git rev-parse --short HEAD 2>/dev/null", $out, $return_code); $version = exec("git rev-parse --short HEAD 2>/dev/null", $out, $return_code);
if ($return_code == 0) { if ($return_code == 0) {
return self::getValue("system_version")."+".$version.":".time(); return self::getValue("system_version")."+".$version.":".time();
} }
} }
return self::getValue("system_version"); return self::getValue("system_version");
} }
public static function GetLatestVersion(){ public static function GetLatestVersion()
{
$latest = self::getValue("latest_version"); $latest = self::getValue("latest_version");
if ($latest == null || strlen($latest) == 0) { if ($latest == null || strlen($latest) == 0) {
return self::GetAirtimeVersion(); return self::GetAirtimeVersion();
@ -633,14 +716,16 @@ class Application_Model_Preference
} }
} }
public static function SetLatestVersion($version){ public static function SetLatestVersion($version)
{
$pattern = "/^[0-9]+\.[0-9]+\.[0-9]+/"; $pattern = "/^[0-9]+\.[0-9]+\.[0-9]+/";
if (preg_match($pattern, $version)) { if (preg_match($pattern, $version)) {
self::setValue("latest_version", $version); self::setValue("latest_version", $version);
} }
} }
public static function GetLatestLink(){ public static function GetLatestLink()
{
$link = self::getValue("latest_link"); $link = self::getValue("latest_link");
if ($link == null || strlen($link) == 0) { if ($link == null || strlen($link) == 0) {
return 'http://airtime.sourcefabric.org'; return 'http://airtime.sourcefabric.org';
@ -649,7 +734,8 @@ class Application_Model_Preference
} }
} }
public static function SetLatestLink($link){ public static function SetLatestLink($link)
{
$pattern = "#^(http|https|ftp)://" . $pattern = "#^(http|https|ftp)://" .
"([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+" . "([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+" .
"(/[a-zA-Z0-9\-\.\_\~\:\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=]+)*/?$#"; "(/[a-zA-Z0-9\-\.\_\~\:\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=]+)*/?$#";
@ -658,27 +744,33 @@ class Application_Model_Preference
} }
} }
public static function SetUploadToSoundcloudOption($upload) { public static function SetUploadToSoundcloudOption($upload)
{
self::setValue("soundcloud_upload_option", $upload); self::setValue("soundcloud_upload_option", $upload);
} }
public static function GetUploadToSoundcloudOption() { public static function GetUploadToSoundcloudOption()
{
return self::getValue("soundcloud_upload_option"); return self::getValue("soundcloud_upload_option");
} }
public static function SetSoundCloudDownloadbleOption($upload) { public static function SetSoundCloudDownloadbleOption($upload)
{
self::setValue("soundcloud_downloadable", $upload); self::setValue("soundcloud_downloadable", $upload);
} }
public static function GetSoundCloudDownloadbleOption() { public static function GetSoundCloudDownloadbleOption()
{
return self::getValue("soundcloud_downloadable"); return self::getValue("soundcloud_downloadable");
} }
public static function SetWeekStartDay($day) { public static function SetWeekStartDay($day)
{
self::setValue("week_start_day", $day); self::setValue("week_start_day", $day);
} }
public static function GetWeekStartDay() { public static function GetWeekStartDay()
{
$val = self::getValue("week_start_day"); $val = self::getValue("week_start_day");
if (strlen($val) == 0) { if (strlen($val) == 0) {
return "0"; return "0";
@ -690,7 +782,8 @@ class Application_Model_Preference
/** /**
* Stores the last timestamp of user updating stream setting * Stores the last timestamp of user updating stream setting
*/ */
public static function SetStreamUpdateTimestamp() { public static function SetStreamUpdateTimestamp()
{
$now = time(); $now = time();
self::setValue("stream_update_timestamp", $now); self::setValue("stream_update_timestamp", $now);
} }
@ -698,19 +791,23 @@ class Application_Model_Preference
/** /**
* Gets the last timestamp of user updating stream setting * Gets the last timestamp of user updating stream setting
*/ */
public static function GetStreamUpdateTimestemp() { public static function GetStreamUpdateTimestemp()
{
$update_time = self::getValue("stream_update_timestamp"); $update_time = self::getValue("stream_update_timestamp");
if ($update_time == null) { if ($update_time == null) {
$update_time = 0; $update_time = 0;
} }
return $update_time; return $update_time;
} }
public static function GetClientId() { public static function GetClientId()
{
return self::getValue("client_id"); return self::getValue("client_id");
} }
public static function SetClientId($id) { public static function SetClientId($id)
{
if (is_numeric($id)) { if (is_numeric($id)) {
self::setValue("client_id", $id); self::setValue("client_id", $id);
} }
@ -723,7 +820,8 @@ class Application_Model_Preference
* *
* @param $timeScale new time scale * @param $timeScale new time scale
*/ */
public static function SetCalendarTimeScale($timeScale) { public static function SetCalendarTimeScale($timeScale)
{
self::setValue("calendar_time_scale", $timeScale, true /* user specific */); self::setValue("calendar_time_scale", $timeScale, true /* user specific */);
} }
@ -731,11 +829,13 @@ class Application_Model_Preference
* Retrieves the time scale preference for the current user. * Retrieves the time scale preference for the current user.
* Defaults to month if no entry exists * Defaults to month if no entry exists
*/ */
public static function GetCalendarTimeScale() { public static function GetCalendarTimeScale()
{
$val = self::getValue("calendar_time_scale", true /* user specific */); $val = self::getValue("calendar_time_scale", true /* user specific */);
if (strlen($val) == 0) { if (strlen($val) == 0) {
$val = "month"; $val = "month";
} }
return $val; return $val;
} }
@ -744,7 +844,8 @@ class Application_Model_Preference
* *
* @param $numEntries new number of entries to show * @param $numEntries new number of entries to show
*/ */
public static function SetLibraryNumEntries($numEntries) { public static function SetLibraryNumEntries($numEntries)
{
self::setValue("library_num_entries", $numEntries, true /* user specific */); self::setValue("library_num_entries", $numEntries, true /* user specific */);
} }
@ -752,11 +853,13 @@ class Application_Model_Preference
* Retrieves the number of entries to show preference in library under Playlist Builder. * Retrieves the number of entries to show preference in library under Playlist Builder.
* Defaults to 10 if no entry exists * Defaults to 10 if no entry exists
*/ */
public static function GetLibraryNumEntries() { public static function GetLibraryNumEntries()
{
$val = self::getValue("library_num_entries", true /* user specific */); $val = self::getValue("library_num_entries", true /* user specific */);
if (strlen($val) == 0) { if (strlen($val) == 0) {
$val = "10"; $val = "10";
} }
return $val; return $val;
} }
@ -765,7 +868,8 @@ class Application_Model_Preference
* *
* @param $timeInterval new time interval * @param $timeInterval new time interval
*/ */
public static function SetCalendarTimeInterval($timeInterval) { public static function SetCalendarTimeInterval($timeInterval)
{
self::setValue("calendar_time_interval", $timeInterval, true /* user specific */); self::setValue("calendar_time_interval", $timeInterval, true /* user specific */);
} }
@ -773,47 +877,58 @@ class Application_Model_Preference
* Retrieves the time interval preference for the current user. * Retrieves the time interval preference for the current user.
* Defaults to 30 min if no entry exists * Defaults to 30 min if no entry exists
*/ */
public static function GetCalendarTimeInterval() { public static function GetCalendarTimeInterval()
{
$val = self::getValue("calendar_time_interval", true /* user specific */); $val = self::getValue("calendar_time_interval", true /* user specific */);
if (strlen($val) == 0) { if (strlen($val) == 0) {
$val = "30"; $val = "30";
} }
return $val; return $val;
} }
public static function SetDiskQuota($value){ public static function SetDiskQuota($value)
{
self::setValue("disk_quota", $value, false); self::setValue("disk_quota", $value, false);
} }
public static function GetDiskQuota(){ public static function GetDiskQuota()
{
$val = self::getValue("disk_quota"); $val = self::getValue("disk_quota");
if (strlen($val) == 0) { if (strlen($val) == 0) {
$val = "0"; $val = "0";
} }
return $val; return $val;
} }
public static function SetLiveSteamMasterUsername($value){ public static function SetLiveSteamMasterUsername($value)
{
self::setValue("live_stream_master_username", $value, false); self::setValue("live_stream_master_username", $value, false);
} }
public static function GetLiveSteamMasterUsername(){ public static function GetLiveSteamMasterUsername()
{
return self::getValue("live_stream_master_username"); return self::getValue("live_stream_master_username");
} }
public static function SetLiveSteamMasterPassword($value){ public static function SetLiveSteamMasterPassword($value)
{
self::setValue("live_stream_master_password", $value, false); self::setValue("live_stream_master_password", $value, false);
} }
public static function GetLiveSteamMasterPassword(){ public static function GetLiveSteamMasterPassword()
{
return self::getValue("live_stream_master_password"); return self::getValue("live_stream_master_password");
} }
public static function SetSourceStatus($sourcename, $status){ public static function SetSourceStatus($sourcename, $status)
{
self::setValue($sourcename, $status, false); self::setValue($sourcename, $status, false);
} }
public static function GetSourceStatus($sourcename){ public static function GetSourceStatus($sourcename)
{
$value = self::getValue($sourcename); $value = self::getValue($sourcename);
if ($value == null || $value == "false") { if ($value == null || $value == "false") {
return false; return false;
@ -822,11 +937,13 @@ class Application_Model_Preference
} }
} }
public static function SetSourceSwitchStatus($sourcename, $status){ public static function SetSourceSwitchStatus($sourcename, $status)
{
self::setValue($sourcename."_switch", $status, false); self::setValue($sourcename."_switch", $status, false);
} }
public static function GetSourceSwitchStatus($sourcename){ public static function GetSourceSwitchStatus($sourcename)
{
$value = self::getValue($sourcename."_switch"); $value = self::getValue($sourcename."_switch");
if ($value == null || $value == "off") { if ($value == null || $value == "off") {
return "off"; return "off";
@ -835,61 +952,75 @@ class Application_Model_Preference
} }
} }
public static function SetMasterDJSourceConnectionURL($value){ public static function SetMasterDJSourceConnectionURL($value)
{
self::setValue("master_dj_source_connection_url", $value, false); self::setValue("master_dj_source_connection_url", $value, false);
} }
public static function GetMasterDJSourceConnectionURL(){ public static function GetMasterDJSourceConnectionURL()
{
return self::getValue("master_dj_source_connection_url"); return self::getValue("master_dj_source_connection_url");
} }
public static function SetLiveDJSourceConnectionURL($value){ public static function SetLiveDJSourceConnectionURL($value)
{
self::setValue("live_dj_source_connection_url", $value, false); self::setValue("live_dj_source_connection_url", $value, false);
} }
public static function GetLiveDJSourceConnectionURL(){ public static function GetLiveDJSourceConnectionURL()
{
return self::getValue("live_dj_source_connection_url"); return self::getValue("live_dj_source_connection_url");
} }
/* Source Connection URL override status starts */ /* Source Connection URL override status starts */
public static function GetLiveDjConnectionUrlOverride(){ public static function GetLiveDjConnectionUrlOverride()
{
return self::getValue("live_dj_connection_url_override"); return self::getValue("live_dj_connection_url_override");
} }
public static function SetLiveDjConnectionUrlOverride($value){ public static function SetLiveDjConnectionUrlOverride($value)
{
self::setValue("live_dj_connection_url_override", $value, false); self::setValue("live_dj_connection_url_override", $value, false);
} }
public static function GetMasterDjConnectionUrlOverride(){ public static function GetMasterDjConnectionUrlOverride()
{
return self::getValue("master_dj_connection_url_override"); return self::getValue("master_dj_connection_url_override");
} }
public static function SetMasterDjConnectionUrlOverride($value){ public static function SetMasterDjConnectionUrlOverride($value)
{
self::setValue("master_dj_connection_url_override", $value, false); self::setValue("master_dj_connection_url_override", $value, false);
} }
/* Source Connection URL override status ends */ /* Source Connection URL override status ends */
public static function SetAutoTransition($value){ public static function SetAutoTransition($value)
{
self::setValue("auto_transition", $value, false); self::setValue("auto_transition", $value, false);
} }
public static function GetAutoTransition(){ public static function GetAutoTransition()
{
return self::getValue("auto_transition"); return self::getValue("auto_transition");
} }
public static function SetAutoSwitch($value){ public static function SetAutoSwitch($value)
{
self::setValue("auto_switch", $value, false); self::setValue("auto_switch", $value, false);
} }
public static function GetAutoSwitch(){ public static function GetAutoSwitch()
{
return self::getValue("auto_switch"); return self::getValue("auto_switch");
} }
public static function SetEnableSystemEmail($upload) { public static function SetEnableSystemEmail($upload)
{
self::setValue("enable_system_email", $upload); self::setValue("enable_system_email", $upload);
} }
public static function GetEnableSystemEmail() { public static function GetEnableSystemEmail()
{
$v = self::getValue("enable_system_email"); $v = self::getValue("enable_system_email");
if ($v === "") { if ($v === "") {
@ -899,56 +1030,69 @@ class Application_Model_Preference
return $v; return $v;
} }
public static function SetSystemEmail($value) { public static function SetSystemEmail($value)
{
self::setValue("system_email", $value, false); self::setValue("system_email", $value, false);
} }
public static function GetSystemEmail() { public static function GetSystemEmail()
{
return self::getValue("system_email"); return self::getValue("system_email");
} }
public static function SetMailServerConfigured($value) { public static function SetMailServerConfigured($value)
{
self::setValue("mail_server_configured", $value, false); self::setValue("mail_server_configured", $value, false);
} }
public static function GetMailServerConfigured() { public static function GetMailServerConfigured()
{
return self::getValue("mail_server_configured"); return self::getValue("mail_server_configured");
} }
public static function SetMailServer($value) { public static function SetMailServer($value)
{
self::setValue("mail_server", $value, false); self::setValue("mail_server", $value, false);
} }
public static function GetMailServer() { public static function GetMailServer()
{
return self::getValue("mail_server"); return self::getValue("mail_server");
} }
public static function SetMailServerEmailAddress($value) { public static function SetMailServerEmailAddress($value)
{
self::setValue("mail_server_email_address", $value, false); self::setValue("mail_server_email_address", $value, false);
} }
public static function GetMailServerEmailAddress() { public static function GetMailServerEmailAddress()
{
return self::getValue("mail_server_email_address"); return self::getValue("mail_server_email_address");
} }
public static function SetMailServerPassword($value) { public static function SetMailServerPassword($value)
{
self::setValue("mail_server_password", $value, false); self::setValue("mail_server_password", $value, false);
} }
public static function GetMailServerPassword() { public static function GetMailServerPassword()
{
return self::getValue("mail_server_password"); return self::getValue("mail_server_password");
} }
public static function SetMailServerPort($value) { public static function SetMailServerPort($value)
{
self::setValue("mail_server_port", $value, false); self::setValue("mail_server_port", $value, false);
} }
public static function GetMailServerPort() { public static function GetMailServerPort()
{
return self::getValue("mail_server_port"); return self::getValue("mail_server_port");
} }
/* User specific preferences end */ /* User specific preferences end */
public static function ShouldShowPopUp(){ public static function ShouldShowPopUp()
{
$today = mktime(0, 0, 0, gmdate("m"), gmdate("d"), gmdate("Y")); $today = mktime(0, 0, 0, gmdate("m"), gmdate("d"), gmdate("Y"));
$remindDate = Application_Model_Preference::GetRemindMeDate(); $remindDate = Application_Model_Preference::GetRemindMeDate();
if ($remindDate == NULL || $today >= $remindDate) { if ($remindDate == NULL || $today >= $remindDate) {
@ -956,4 +1100,3 @@ class Application_Model_Preference
} }
} }
} }

View File

@ -3,12 +3,13 @@ require_once 'php-amqplib/amqp.inc';
class Application_Model_RabbitMq class Application_Model_RabbitMq
{ {
static public $doPush = FALSE; public static $doPush = FALSE;
/** /**
* Sets a flag to push the schedule at the end of the request. * Sets a flag to push the schedule at the end of the request.
*/ */
public static function PushSchedule() { public static function PushSchedule()
{
Application_Model_RabbitMq::$doPush = TRUE; Application_Model_RabbitMq::$doPush = TRUE;
} }
@ -93,4 +94,3 @@ class Application_Model_RabbitMq
$conn->close(); $conn->close();
} }
} }

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Schedule { class Application_Model_Schedule
{
/** /**
* Return TRUE if file is going to be played in the future. * Return TRUE if file is going to be played in the future.
* *
@ -70,8 +70,8 @@ class Application_Model_Schedule {
public static function GetPrevCurrentNext($p_previousShowID, $p_currentShowID, $p_nextShowID, $p_timeNow) public static function GetPrevCurrentNext($p_previousShowID, $p_currentShowID, $p_nextShowID, $p_timeNow)
{ {
if ($p_previousShowID == null && $p_currentShowID == null && $p_nextShowID == null) if ($p_previousShowID == null && $p_currentShowID == null && $p_nextShowID == null)
return;
return;
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -161,10 +161,12 @@ class Application_Model_Schedule {
"starts"=>$rows[$previousIndex]["starts"], "starts"=>$rows[$previousIndex]["starts"],
"ends"=>$rows[$previousIndex]["ends"]);; "ends"=>$rows[$previousIndex]["ends"]);;
} }
return $results; return $results;
} }
public static function GetLastScheduleItem($p_timeNow){ public static function GetLastScheduleItem($p_timeNow)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT" $sql = "SELECT"
@ -182,11 +184,13 @@ class Application_Model_Schedule {
." LIMIT 1"; ." LIMIT 1";
$row = $con->query($sql)->fetchAll(); $row = $con->query($sql)->fetchAll();
return $row; return $row;
} }
public static function GetCurrentScheduleItem($p_timeNow, $p_instanceId){ public static function GetCurrentScheduleItem($p_timeNow, $p_instanceId)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
/* Note that usually there will be one result returned. In some /* Note that usually there will be one result returned. In some
@ -207,10 +211,12 @@ class Application_Model_Schedule {
." LIMIT 1"; ." LIMIT 1";
$row = $con->query($sql)->fetchAll(); $row = $con->query($sql)->fetchAll();
return $row; return $row;
} }
public static function GetNextScheduleItem($p_timeNow){ public static function GetNextScheduleItem($p_timeNow)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT" $sql = "SELECT"
@ -228,6 +234,7 @@ class Application_Model_Schedule {
." LIMIT 1"; ." LIMIT 1";
$row = $con->query($sql)->fetchAll(); $row = $con->query($sql)->fetchAll();
return $row; return $row;
} }
@ -273,7 +280,6 @@ class Application_Model_Schedule {
OR (si.ends > '{$p_start}' AND si.ends <= '{$p_end}') OR (si.ends > '{$p_start}' AND si.ends <= '{$p_end}')
OR (si.starts <= '{$p_start}' AND si.ends >= '{$p_end}'))"; OR (si.starts <= '{$p_start}' AND si.ends >= '{$p_end}'))";
if (count($p_shows) > 0) { if (count($p_shows) > 0) {
$sql .= " AND show_id IN (".implode(",", $p_shows).")"; $sql .= " AND show_id IN (".implode(",", $p_shows).")";
} }
@ -283,6 +289,7 @@ class Application_Model_Schedule {
Logging::debug($sql); Logging::debug($sql);
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
return $rows; return $rows;
} }
@ -305,10 +312,12 @@ class Application_Model_Schedule {
$sql .= " WHERE id=$p_id"; $sql .= " WHERE id=$p_id";
$retVal = $con->exec($sql); $retVal = $con->exec($sql);
return $retVal; return $retVal;
} }
public static function UpdateBrodcastedStatus($dateTime, $value){ public static function UpdateBrodcastedStatus($dateTime, $value)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$now = $dateTime->format("Y-m-d H:i:s"); $now = $dateTime->format("Y-m-d H:i:s");
@ -316,6 +325,7 @@ class Application_Model_Schedule {
." SET broadcasted=$value" ." SET broadcasted=$value"
." WHERE starts <= '$now' AND ends >= '$now'"; ." WHERE starts <= '$now' AND ends >= '$now'";
$retVal = $con->exec($sql); $retVal = $con->exec($sql);
return $retVal; return $retVal;
} }
@ -324,10 +334,10 @@ class Application_Model_Schedule {
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG['scheduleTable']; $sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG['scheduleTable'];
return $con->query($sql)->fetchColumn(0); return $con->query($sql)->fetchColumn(0);
} }
/** /**
* Convert a time string in the format "YYYY-MM-DD HH:mm:SS" * Convert a time string in the format "YYYY-MM-DD HH:mm:SS"
* to "YYYY-MM-DD-HH-mm-SS". * to "YYYY-MM-DD-HH-mm-SS".
@ -340,6 +350,7 @@ class Application_Model_Schedule {
$p_time = substr($p_time, 0, 19); $p_time = substr($p_time, 0, 19);
$p_time = str_replace(" ", "-", $p_time); $p_time = str_replace(" ", "-", $p_time);
$p_time = str_replace(":", "-", $p_time); $p_time = str_replace(":", "-", $p_time);
return $p_time; return $p_time;
} }
@ -353,6 +364,7 @@ class Application_Model_Schedule {
private static function PypoTimeToAirtimeTime($p_time) private static function PypoTimeToAirtimeTime($p_time)
{ {
$t = explode("-", $p_time); $t = explode("-", $p_time);
return $t[0]."-".$t[1]."-".$t[2]." ".$t[3].":".$t[4].":00"; return $t[0]."-".$t[1]."-".$t[2]." ".$t[3].":".$t[4].":00";
} }
@ -373,6 +385,7 @@ class Application_Model_Schedule {
return false; return false;
} }
} }
return true; return true;
} }
@ -397,10 +410,10 @@ class Application_Model_Schedule {
$seconds = intval($t[2]); $seconds = intval($t[2]);
} }
$ret = $millisecs + ($seconds * 1000) + ($t[1] * 60 * 1000) + ($t[0] * 60 * 60 * 1000); $ret = $millisecs + ($seconds * 1000) + ($t[1] * 60 * 1000) + ($t[0] * 60 * 60 * 1000);
return $ret; return $ret;
} }
/** /**
* Compute the difference between two times in the format "HH:MM:SS.mmmmmm". * Compute the difference between two times in the format "HH:MM:SS.mmmmmm".
* Note: currently only supports calculating millisec differences. * Note: currently only supports calculating millisec differences.
@ -423,6 +436,7 @@ class Application_Model_Schedule {
$millisec2 = intval($millisec2); $millisec2 = intval($millisec2);
$diff = abs($millisec1 - $millisec2)/1000; $diff = abs($millisec1 - $millisec2)/1000;
} }
return $diff; return $diff;
} }
@ -442,7 +456,8 @@ class Application_Model_Schedule {
* Returns null if nothing found, else an array of associative * Returns null if nothing found, else an array of associative
* arrays representing each row. * arrays representing each row.
*/ */
public static function GetItems($p_startTime, $p_endTime) { public static function GetItems($p_startTime, $p_endTime)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -464,7 +479,6 @@ class Application_Model_Schedule {
." LEFT JOIN $CC_CONFIG[filesTable] AS f" ." LEFT JOIN $CC_CONFIG[filesTable] AS f"
." ON st.file_id = f.id"; ." ON st.file_id = f.id";
$predicates = " WHERE st.ends > '$p_startTime'" $predicates = " WHERE st.ends > '$p_startTime'"
." AND st.starts < '$p_endTime'" ." AND st.starts < '$p_endTime'"
." AND st.playout_status > 0" ." AND st.playout_status > 0"
@ -496,8 +510,8 @@ class Application_Model_Schedule {
return $rows; return $rows;
} }
public static function GetScheduledPlaylists($p_fromDateTime = null, $p_toDateTime = null){ public static function GetScheduledPlaylists($p_fromDateTime = null, $p_toDateTime = null)
{
global $CC_CONFIG; global $CC_CONFIG;
/* if $p_fromDateTime and $p_toDateTime function parameters are null, then set range /* if $p_fromDateTime and $p_toDateTime function parameters are null, then set range
@ -615,14 +629,16 @@ class Application_Model_Schedule {
$con->exec("TRUNCATE TABLE ".$CC_CONFIG["scheduleTable"]); $con->exec("TRUNCATE TABLE ".$CC_CONFIG["scheduleTable"]);
} }
public static function deleteWithFileId($fileId){ public static function deleteWithFileId($fileId)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "DELETE FROM ".$CC_CONFIG["scheduleTable"]." WHERE file_id=$fileId"; $sql = "DELETE FROM ".$CC_CONFIG["scheduleTable"]." WHERE file_id=$fileId";
$res = $con->query($sql); $res = $con->query($sql);
} }
public static function createNewFormSections($p_view){ public static function createNewFormSections($p_view)
{
$isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true;
$formWhat = new Application_Form_AddShowWhat(); $formWhat = new Application_Form_AddShowWhat();
@ -677,7 +693,8 @@ class Application_Model_Schedule {
* There is still lots of clean-up to do. For example we shouldn't be passing $controller into * There is still lots of clean-up to do. For example we shouldn't be passing $controller into
* this method to manipulate the view (this should be done inside the controller function). With * this method to manipulate the view (this should be done inside the controller function). With
* 2.1 deadline looming, this is OK for now. -Martin */ * 2.1 deadline looming, this is OK for now. -Martin */
public static function updateShowInstance($data, $controller){ public static function updateShowInstance($data, $controller)
{
$isSaas = (Application_Model_Preference::GetPlanLevel() != 'disabled'); $isSaas = (Application_Model_Preference::GetPlanLevel() != 'disabled');
$formWhat = new Application_Form_AddShowWhat(); $formWhat = new Application_Form_AddShowWhat();
@ -743,6 +760,7 @@ class Application_Model_Schedule {
//$formAbsoluteRebroadcast->disable(); //$formAbsoluteRebroadcast->disable();
//$formRebroadcast->disable(); //$formRebroadcast->disable();
} }
return false; return false;
} }
} }
@ -755,8 +773,8 @@ class Application_Model_Schedule {
* Another clean-up is to move all the form manipulation to the proper form class..... * Another clean-up is to move all the form manipulation to the proper form class.....
* -Martin * -Martin
*/ */
public static function addUpdateShow($data, $controller, $validateStartDate, $originalStartDate=null, $update=false, $instanceId=null){ public static function addUpdateShow($data, $controller, $validateStartDate, $originalStartDate=null, $update=false, $instanceId=null)
{
$userInfo = Zend_Auth::getInstance()->getStorage()->read(); $userInfo = Zend_Auth::getInstance()->getStorage()->read();
$user = new Application_Model_User($userInfo->id); $user = new Application_Model_User($userInfo->id);
$isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER)); $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
@ -917,7 +935,8 @@ class Application_Model_Schedule {
} }
} }
public static function checkOverlappingShows($show_start, $show_end, $update=false, $instanceId=null) { public static function checkOverlappingShows($show_start, $show_end, $update=false, $instanceId=null)
{
global $CC_CONFIG; global $CC_CONFIG;
$overlapping = false; $overlapping = false;
@ -944,6 +963,7 @@ class Application_Model_Schedule {
break; break;
} }
} }
return $overlapping; return $overlapping;
} }
} }

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Scheduler { class Application_Model_Scheduler
{
private $con; private $con;
private $fileInfo = array( private $fileInfo = array(
"id" => "", "id" => "",
@ -19,8 +19,8 @@ class Application_Model_Scheduler {
private $checkUserPermissions = true; private $checkUserPermissions = true;
public function __construct() { public function __construct()
{
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
$this->epochNow = microtime(true); $this->epochNow = microtime(true);
@ -35,18 +35,18 @@ class Application_Model_Scheduler {
$this->user = Application_Model_User::getCurrentUser(); $this->user = Application_Model_User::getCurrentUser();
} }
public function setCheckUserPermissions($value) { public function setCheckUserPermissions($value)
{
$this->checkUserPermissions = $value; $this->checkUserPermissions = $value;
} }
/* /*
* make sure any incoming requests for scheduling are ligit. * make sure any incoming requests for scheduling are ligit.
* *
* @param array $items, an array containing pks of cc_schedule items. * @param array $items, an array containing pks of cc_schedule items.
*/ */
private function validateRequest($items) { private function validateRequest($items)
{
$nowEpoch = floatval($this->nowDT->format("U.u")); $nowEpoch = floatval($this->nowDT->format("U.u"));
for ($i = 0; $i < count($items); $i++) { for ($i = 0; $i < count($items); $i++) {
@ -121,8 +121,8 @@ class Application_Model_Scheduler {
* *
* @return $files * @return $files
*/ */
private function retrieveMediaFiles($id, $type) { private function retrieveMediaFiles($id, $type)
{
$files = array(); $files = array();
if ($type === "audioclip") { if ($type === "audioclip") {
@ -130,8 +130,7 @@ class Application_Model_Scheduler {
if (is_null($file) || !$file->getDbFileExists()) { if (is_null($file) || !$file->getDbFileExists()) {
throw new Exception("A selected File does not exist!"); throw new Exception("A selected File does not exist!");
} } else {
else {
$data = $this->fileInfo; $data = $this->fileInfo;
$data["id"] = $id; $data["id"] = $id;
$data["cliplength"] = $file->getDbLength(); $data["cliplength"] = $file->getDbLength();
@ -146,8 +145,7 @@ class Application_Model_Scheduler {
$files[] = $data; $files[] = $data;
} }
} } elseif ($type === "playlist") {
else if ($type === "playlist") {
$contents = CcPlaylistcontentsQuery::create() $contents = CcPlaylistcontentsQuery::create()
->orderByDbPosition() ->orderByDbPosition()
@ -186,8 +184,8 @@ class Application_Model_Scheduler {
* *
* @return DateTime endDT in UTC * @return DateTime endDT in UTC
*/ */
private function findEndTime($p_startDT, $p_duration) { private function findEndTime($p_startDT, $p_duration)
{
$startEpoch = $p_startDT->format("U.u"); $startEpoch = $p_startDT->format("U.u");
$durationSeconds = Application_Model_Playlist::playlistTimeToSeconds($p_duration); $durationSeconds = Application_Model_Playlist::playlistTimeToSeconds($p_duration);
@ -205,8 +203,8 @@ class Application_Model_Scheduler {
return $dt; return $dt;
} }
private function findNextStartTime($DT, $instance) { private function findNextStartTime($DT, $instance)
{
$sEpoch = $DT->format("U.u"); $sEpoch = $DT->format("U.u");
$nEpoch = $this->epochNow; $nEpoch = $this->epochNow;
@ -227,8 +225,7 @@ class Application_Model_Scheduler {
->setDbPlayoutStatus(-1) ->setDbPlayoutStatus(-1)
->setDbInstanceId($instance->getDbId()) ->setDbInstanceId($instance->getDbId())
->save($this->con); ->save($this->con);
} } else {
else {
$nextDT = $DT; $nextDT = $DT;
} }
@ -240,8 +237,8 @@ class Application_Model_Scheduler {
* @param array $exclude * @param array $exclude
* ids of sched items to remove from the calulation. * ids of sched items to remove from the calulation.
*/ */
private function removeGaps($showInstance, $exclude=null) { private function removeGaps($showInstance, $exclude=null)
{
Logging::log("removing gaps from show instance #".$showInstance); Logging::log("removing gaps from show instance #".$showInstance);
$instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con); $instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con);
@ -257,7 +254,6 @@ class Application_Model_Scheduler {
->orderByDbStarts() ->orderByDbStarts()
->find($this->con); ->find($this->con);
foreach ($schedule as $item) { foreach ($schedule as $item) {
$itemEndDT = $this->findEndTime($itemStartDT, $item->getDbClipLength()); $itemEndDT = $this->findEndTime($itemStartDT, $item->getDbClipLength());
@ -276,8 +272,8 @@ class Application_Model_Scheduler {
* @param array $fileIds * @param array $fileIds
* @param array $playlistIds * @param array $playlistIds
*/ */
private function insertAfter($scheduleItems, $schedFiles, $adjustSched = true) { private function insertAfter($scheduleItems, $schedFiles, $adjustSched = true)
{
try { try {
$affectedShowInstances = array(); $affectedShowInstances = array();
@ -339,8 +335,7 @@ class Application_Model_Scheduler {
//need to keep same id for resources if we want REST. //need to keep same id for resources if we want REST.
if (isset($file['sched_id'])) { if (isset($file['sched_id'])) {
$sched = CcScheduleQuery::create()->findPK($file['sched_id'], $this->con); $sched = CcScheduleQuery::create()->findPK($file['sched_id'], $this->con);
} } else {
else {
$sched = new CcSchedule(); $sched = new CcSchedule();
} }
Logging::log(print_r($file,true)); Logging::log(print_r($file,true));
@ -408,8 +403,7 @@ class Application_Model_Scheduler {
$endProfile = microtime(true); $endProfile = microtime(true);
Logging::debug("updating last scheduled timestamp."); Logging::debug("updating last scheduled timestamp.");
Logging::debug(floatval($endProfile) - floatval($startProfile)); Logging::debug(floatval($endProfile) - floatval($startProfile));
} } catch (Exception $e) {
catch (Exception $e) {
Logging::debug($e->getMessage()); Logging::debug($e->getMessage());
throw $e; throw $e;
} }
@ -419,8 +413,8 @@ class Application_Model_Scheduler {
* @param array $scheduleItems * @param array $scheduleItems
* @param array $mediaItems * @param array $mediaItems
*/ */
public function scheduleAfter($scheduleItems, $mediaItems, $adjustSched = true) { public function scheduleAfter($scheduleItems, $mediaItems, $adjustSched = true)
{
$this->con->beginTransaction(); $this->con->beginTransaction();
$schedFiles = array(); $schedFiles = array();
@ -437,8 +431,7 @@ class Application_Model_Scheduler {
$this->con->commit(); $this->con->commit();
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
@ -448,8 +441,8 @@ class Application_Model_Scheduler {
* @param array $selectedItem * @param array $selectedItem
* @param array $afterItem * @param array $afterItem
*/ */
public function moveItem($selectedItems, $afterItems, $adjustSched = true) { public function moveItem($selectedItems, $afterItems, $adjustSched = true)
{
$startProfile = microtime(true); $startProfile = microtime(true);
$this->con->beginTransaction(); $this->con->beginTransaction();
@ -492,8 +485,7 @@ class Application_Model_Scheduler {
$schedId = $selected->getDbId(); $schedId = $selected->getDbId();
if (isset($modifiedMap[$showInstanceId])) { if (isset($modifiedMap[$showInstanceId])) {
array_push($modifiedMap[$showInstanceId], $schedId); array_push($modifiedMap[$showInstanceId], $schedId);
} } else {
else {
$modifiedMap[$showInstanceId] = array($schedId); $modifiedMap[$showInstanceId] = array($schedId);
} }
} }
@ -530,15 +522,14 @@ class Application_Model_Scheduler {
$this->con->commit(); $this->con->commit();
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
} }
public function removeItems($scheduledItems, $adjustSched = true) { public function removeItems($scheduledItems, $adjustSched = true)
{
$showInstances = array(); $showInstances = array();
$this->con->beginTransaction(); $this->con->beginTransaction();
@ -575,8 +566,7 @@ class Application_Model_Scheduler {
->setDbClipLength($cliplength) ->setDbClipLength($cliplength)
->setDbEnds($this->nowDT) ->setDbEnds($this->nowDT)
->save($this->con); ->save($this->con);
} } else {
else {
$removedItem->delete($this->con); $removedItem->delete($this->con);
} }
} }
@ -613,8 +603,7 @@ class Application_Model_Scheduler {
$this->con->commit(); $this->con->commit();
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }
@ -625,8 +614,8 @@ class Application_Model_Scheduler {
* *
* @param $p_id id of the show instance to cancel. * @param $p_id id of the show instance to cancel.
*/ */
public function cancelShow($p_id) { public function cancelShow($p_id)
{
$this->con->beginTransaction(); $this->con->beginTransaction();
try { try {
@ -652,8 +641,7 @@ class Application_Model_Scheduler {
$this->removeItems($remove, false); $this->removeItems($remove, false);
} }
} } else {
else {
$rebroadcasts = $instance->getCcShowInstancessRelatedByDbId(null, $this->con); $rebroadcasts = $instance->getCcShowInstancessRelatedByDbId(null, $this->con);
$rebroadcasts->delete($this->con); $rebroadcasts->delete($this->con);
} }
@ -666,8 +654,7 @@ class Application_Model_Scheduler {
if ($instance->getDbRecord()) { if ($instance->getDbRecord()) {
Application_Model_RabbitMq::SendMessageToShowRecorder("cancel_recording"); Application_Model_RabbitMq::SendMessageToShowRecorder("cancel_recording");
} }
} } catch (Exception $e) {
catch (Exception $e) {
$this->con->rollback(); $this->con->rollback();
throw $e; throw $e;
} }

View File

@ -1,8 +1,8 @@
<?php <?php
class Application_Model_ServiceRegister { class Application_Model_ServiceRegister
{
public static function Register($p_componentName, $p_ipAddress){ public static function Register($p_componentName, $p_ipAddress)
{
$component = CcServiceRegisterQuery::create()->findOneByDbName($p_componentName); $component = CcServiceRegisterQuery::create()->findOneByDbName($p_componentName);
if ($component == NULL) { if ($component == NULL) {

View File

@ -1,7 +1,7 @@
<?php <?php
class Application_Model_Show { class Application_Model_Show
{
private $_showId; private $_showId;
public function __construct($showId=NULL) public function __construct($showId=NULL)
@ -12,6 +12,7 @@ class Application_Model_Show {
public function getName() public function getName()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbName(); return $show->getDbName();
} }
@ -22,25 +23,29 @@ class Application_Model_Show {
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
} }
public function setAirtimeAuthFlag($flag){ public function setAirtimeAuthFlag($flag)
{
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
$show->setDbLiveStreamUsingAirtimeAuth($flag); $show->setDbLiveStreamUsingAirtimeAuth($flag);
$show->save(); $show->save();
} }
public function setCustomAuthFlag($flag){ public function setCustomAuthFlag($flag)
{
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
$show->setDbLiveStreamUsingCustomAuth($flag); $show->setDbLiveStreamUsingCustomAuth($flag);
$show->save(); $show->save();
} }
public function setCustomUsername($username){ public function setCustomUsername($username)
{
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
$show->setDbLiveStreamUser($username); $show->setDbLiveStreamUser($username);
$show->save(); $show->save();
} }
public function setCustomPassword($password){ public function setCustomPassword($password)
{
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
$show->setDbLiveStreamPass($password); $show->setDbLiveStreamPass($password);
$show->save(); $show->save();
@ -49,6 +54,7 @@ class Application_Model_Show {
public function getDescription() public function getDescription()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbDescription(); return $show->getDbDescription();
} }
@ -61,6 +67,7 @@ class Application_Model_Show {
public function getColor() public function getColor()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbColor(); return $show->getDbColor();
} }
@ -73,6 +80,7 @@ class Application_Model_Show {
public function getUrl() public function getUrl()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbUrl(); return $show->getDbUrl();
} }
@ -85,6 +93,7 @@ class Application_Model_Show {
public function getGenre() public function getGenre()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbGenre(); return $show->getDbGenre();
} }
@ -97,6 +106,7 @@ class Application_Model_Show {
public function getBackgroundColor() public function getBackgroundColor()
{ {
$show = CcShowQuery::create()->findPK($this->_showId); $show = CcShowQuery::create()->findPK($this->_showId);
return $show->getDbBackgroundColor(); return $show->getDbBackgroundColor();
} }
@ -166,8 +176,7 @@ class Application_Model_Show {
$hours = $deltaMin/60; $hours = $deltaMin/60;
if ($hours > 0) { if ($hours > 0) {
$hours = floor($hours); $hours = floor($hours);
} } else {
else {
$hours = ceil($hours); $hours = ceil($hours);
} }
@ -205,8 +214,7 @@ class Application_Model_Show {
} }
$con->commit(); $con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$con->rollback(); $con->rollback();
Logging::log("Couldn't update schedule status."); Logging::log("Couldn't update schedule status.");
Logging::log($e->getMessage()); Logging::log($e->getMessage());
@ -313,7 +321,8 @@ class Application_Model_Show {
* @return boolean * @return boolean
* true if originated from recording, otherwise false. * true if originated from recording, otherwise false.
*/ */
public function isRecorded(){ public function isRecorded()
{
$showInstancesRow = CcShowInstancesQuery::create() $showInstancesRow = CcShowInstancesQuery::create()
->filterByDbShowId($this->getId()) ->filterByDbShowId($this->getId())
->filterByDbRecord(1) ->filterByDbRecord(1)
@ -414,8 +423,7 @@ class Application_Model_Show {
if (!is_null($showDaysRow)) { if (!is_null($showDaysRow)) {
return ($showDaysRow->getDbRepeatType() != -1); return ($showDaysRow->getDbRepeatType() != -1);
} } else {
else {
return false; return false;
} }
} }
@ -437,6 +445,7 @@ class Application_Model_Show {
if (!is_null($showDaysRow)) { if (!is_null($showDaysRow)) {
return $showDaysRow->getDbRepeatType(); return $showDaysRow->getDbRepeatType();
} else } else
return -1; return -1;
} }
@ -457,6 +466,7 @@ class Application_Model_Show {
." ORDER BY last_show DESC"; ." ORDER BY last_show DESC";
$query = $con->query($sql)->fetchColumn(0); $query = $con->query($sql)->fetchColumn(0);
return ($query !== false) ? $query : ""; return ($query !== false) ? $query : "";
} }
@ -470,7 +480,8 @@ class Application_Model_Show {
* it cause any scheduled playlists within those show instances to * it cause any scheduled playlists within those show instances to
* be gone for good. * be gone for good.
*/ */
public function deleteAllInstances(){ public function deleteAllInstances()
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = gmdate("Y-m-d H:i:s"); $timestamp = gmdate("Y-m-d H:i:s");
@ -487,7 +498,8 @@ class Application_Model_Show {
* Deletes all future rebroadcast instances of the current * Deletes all future rebroadcast instances of the current
* show object from the show_instances table. * show object from the show_instances table.
*/ */
public function deleteAllRebroadcasts(){ public function deleteAllRebroadcasts()
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = gmdate("Y-m-d H:i:s"); $timestamp = gmdate("Y-m-d H:i:s");
@ -510,7 +522,8 @@ class Application_Model_Show {
* @param string $p_date * @param string $p_date
* The date which to delete after, if null deletes from the current timestamp. * The date which to delete after, if null deletes from the current timestamp.
*/ */
public function removeAllInstancesFromDate($p_date=null){ public function removeAllInstancesFromDate($p_date=null)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = gmdate("Y-m-d H:i:s"); $timestamp = gmdate("Y-m-d H:i:s");
@ -542,7 +555,8 @@ class Application_Model_Show {
* @param string $p_date * @param string $p_date
* The date which to delete before * The date which to delete before
*/ */
public function removeAllInstancesBeforeDate($p_date){ public function removeAllInstancesBeforeDate($p_date)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = gmdate("Y-m-d H:i:s"); $timestamp = gmdate("Y-m-d H:i:s");
@ -562,7 +576,8 @@ class Application_Model_Show {
* @return string * @return string
* The start date in the format YYYY-MM-DD * The start date in the format YYYY-MM-DD
*/ */
public function getStartDateAndTime(){ public function getStartDateAndTime()
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$showId = $this->getId(); $showId = $this->getId();
@ -581,6 +596,7 @@ class Application_Model_Show {
$dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"])); $dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
$dt->setTimezone(new DateTimeZone("UTC")); $dt->setTimezone(new DateTimeZone("UTC"));
return $dt->format("Y-m-d H:i"); return $dt->format("Y-m-d H:i");
} }
} }
@ -591,8 +607,10 @@ class Application_Model_Show {
* @return string * @return string
* The start date in the format YYYY-MM-DD * The start date in the format YYYY-MM-DD
*/ */
public function getStartDate(){ public function getStartDate()
{
list($date,) = explode(" ", $this->getStartDateAndTime()); list($date,) = explode(" ", $this->getStartDateAndTime());
return $date; return $date;
} }
@ -603,8 +621,10 @@ class Application_Model_Show {
* The start time in the format HH:MM * The start time in the format HH:MM
*/ */
public function getStartTime(){ public function getStartTime()
{
list(,$time) = explode(" ", $this->getStartDateAndTime()); list(,$time) = explode(" ", $this->getStartDateAndTime());
return $time; return $time;
} }
@ -615,7 +635,8 @@ class Application_Model_Show {
* @return string * @return string
* The end date in the format YYYY-MM-DD * The end date in the format YYYY-MM-DD
*/ */
public function getEndDate(){ public function getEndDate()
{
$startDate = $this->getStartDate(); $startDate = $this->getStartDate();
$startTime = $this->getStartTime(); $startTime = $this->getStartTime();
$duration = $this->getDuration(); $duration = $this->getDuration();
@ -634,7 +655,8 @@ class Application_Model_Show {
* @return string * @return string
* The start time in the format HH:MM:SS * The start time in the format HH:MM:SS
*/ */
public function getEndTime(){ public function getEndTime()
{
$startDate = $this->getStartDate(); $startDate = $this->getStartDate();
$startTime = $this->getStartTime(); $startTime = $this->getStartTime();
$duration = $this->getDuration(); $duration = $this->getDuration();
@ -654,9 +676,11 @@ class Application_Model_Show {
* @return boolean * @return boolean
* true if the StartDate is in the past, false otherwise * true if the StartDate is in the past, false otherwise
*/ */
public function isStartDateTimeInPast(){ public function isStartDateTimeInPast()
{
$date = new Application_Common_DateHelper; $date = new Application_Common_DateHelper;
$current_timestamp = $date->getUtcTimestamp(); $current_timestamp = $date->getUtcTimestamp();
return ($current_timestamp > ($this->getStartDate()." ".$this->getStartTime())); return ($current_timestamp > ($this->getStartDate()." ".$this->getStartTime()));
} }
@ -667,7 +691,8 @@ class Application_Model_Show {
* A simple array containing all ID's of show instance * A simple array containing all ID's of show instance
* scheduled in the future. * scheduled in the future.
*/ */
public function getAllFutureInstanceIds(){ public function getAllFutureInstanceIds()
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$date = new Application_Common_DateHelper; $date = new Application_Common_DateHelper;
@ -685,6 +710,7 @@ class Application_Model_Show {
foreach ($rows as $row) { foreach ($rows as $row) {
$instance_ids[] = $row["id"]; $instance_ids[] = $row["id"];
} }
return $instance_ids; return $instance_ids;
} }
@ -695,7 +721,8 @@ class Application_Model_Show {
* browser. * browser.
* *
*/ */
private function updateDurationTime($p_data){ private function updateDurationTime($p_data)
{
//need to update cc_show_instances, cc_show_days //need to update cc_show_instances, cc_show_days
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -713,10 +740,10 @@ class Application_Model_Show {
."AND ends > TIMESTAMP '$timestamp'"; ."AND ends > TIMESTAMP '$timestamp'";
$con->exec($sql); $con->exec($sql);
} }
private function updateStartDateTime($p_data, $p_endDate){ private function updateStartDateTime($p_data, $p_endDate)
{
//need to update cc_schedule, cc_show_instances, cc_show_days //need to update cc_schedule, cc_show_instances, cc_show_days
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -757,17 +784,20 @@ class Application_Model_Show {
} }
} }
public function getDuration($format=false){ public function getDuration($format=false)
{
$showDay = CcShowDaysQuery::create()->filterByDbShowId($this->getId())->findOne(); $showDay = CcShowDaysQuery::create()->filterByDbShowId($this->getId())->findOne();
if (!$format) { if (!$format) {
return $showDay->getDbDuration(); return $showDay->getDbDuration();
} else { } else {
$info = explode(':',$showDay->getDbDuration()); $info = explode(':',$showDay->getDbDuration());
return str_pad(intval($info[0]),2,'0',STR_PAD_LEFT).'h '.str_pad(intval($info[1]),2,'0',STR_PAD_LEFT).'m'; return str_pad(intval($info[0]),2,'0',STR_PAD_LEFT).'h '.str_pad(intval($info[1]),2,'0',STR_PAD_LEFT).'m';
} }
} }
public function getShowDays(){ public function getShowDays()
{
$showDays = CcShowDaysQuery::create()->filterByDbShowId($this->getId())->find(); $showDays = CcShowDaysQuery::create()->filterByDbShowId($this->getId())->find();
$days = array(); $days = array();
@ -781,7 +811,8 @@ class Application_Model_Show {
/* Only used for shows that aren't repeating. /* Only used for shows that aren't repeating.
* *
* @return Boolean: true if show has an instance, otherwise false. */ * @return Boolean: true if show has an instance, otherwise false. */
public function hasInstance(){ public function hasInstance()
{
return (!is_null($this->getInstance())); return (!is_null($this->getInstance()));
} }
@ -789,7 +820,8 @@ class Application_Model_Show {
* *
* @return CcShowInstancesQuery: An propel object representing a * @return CcShowInstancesQuery: An propel object representing a
* row in the cc_show_instances table. */ * row in the cc_show_instances table. */
public function getInstance(){ public function getInstance()
{
$showInstance = CcShowInstancesQuery::create() $showInstance = CcShowInstancesQuery::create()
->filterByDbShowId($this->getId()) ->filterByDbShowId($this->getId())
->findOne(); ->findOne();
@ -800,7 +832,8 @@ class Application_Model_Show {
/** /**
* returns info about live stream override info * returns info about live stream override info
*/ */
public function getLiveStreamInfo(){ public function getLiveStreamInfo()
{
$info = array(); $info = array();
if ($this->_showId == null) { if ($this->_showId == null) {
return $info; return $info;
@ -811,6 +844,7 @@ class Application_Model_Show {
$info['cb_custom_auth'] = $ccShow->getDbLiveStreamUsingCustomAuth(); $info['cb_custom_auth'] = $ccShow->getDbLiveStreamUsingCustomAuth();
$info['custom_username'] = $ccShow->getDbLiveStreamUser(); $info['custom_username'] = $ccShow->getDbLiveStreamUser();
$info['custom_password'] = $ccShow->getDbLiveStreamPass(); $info['custom_password'] = $ccShow->getDbLiveStreamPass();
return $info; return $info;
} }
} }
@ -825,11 +859,11 @@ class Application_Model_Show {
* *
* @return Boolean: true if show has an instance on $p_dateTime, * @return Boolean: true if show has an instance on $p_dateTime,
* otherwise false. */ * otherwise false. */
public function hasInstanceOnDate($p_dateTime){ public function hasInstanceOnDate($p_dateTime)
{
return (!is_null($this->getInstanceOnDate($p_dateTime))); return (!is_null($this->getInstanceOnDate($p_dateTime)));
} }
/* Only used for shows that are repeating. Note that this will return /* Only used for shows that are repeating. Note that this will return
* shows that have been "modified" (does not check if the "modified_instance" * shows that have been "modified" (does not check if the "modified_instance"
* column is set to true). This is intended behaviour. * column is set to true). This is intended behaviour.
@ -838,7 +872,8 @@ class Application_Model_Show {
* *
* @return CcShowInstancesQuery: An propel object representing a * @return CcShowInstancesQuery: An propel object representing a
* row in the cc_show_instances table. */ * row in the cc_show_instances table. */
public function getInstanceOnDate($p_dateTime){ public function getInstanceOnDate($p_dateTime)
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = $p_dateTime->format("Y-m-d H:i:s"); $timestamp = $p_dateTime->format("Y-m-d H:i:s");
@ -850,6 +885,7 @@ class Application_Model_Show {
$query = $con->query($sql); $query = $con->query($sql);
$row = ($query !== false) ? $query->fetchColumn(0) : null; $row = ($query !== false) ? $query->fetchColumn(0) : null;
return CcShowInstancesQuery::create() return CcShowInstancesQuery::create()
->findPk($row); ->findPk($row);
} }
@ -890,8 +926,7 @@ class Application_Model_Show {
if (count($intersect) != count($p_data['add_show_day_check'])) { if (count($intersect) != count($p_data['add_show_day_check'])) {
$repeatingDaysChanged = true; $repeatingDaysChanged = true;
} }
} } else {
else {
$repeatingDaysChanged = true; $repeatingDaysChanged = true;
} }
@ -923,8 +958,7 @@ class Application_Model_Show {
if ((strlen($this->getRepeatingEndDate()) == 0) == $p_data['add_show_no_end']) { if ((strlen($this->getRepeatingEndDate()) == 0) == $p_data['add_show_no_end']) {
//show "Never Ends" option was toggled. //show "Never Ends" option was toggled.
if ($p_data['add_show_no_end']) { if ($p_data['add_show_no_end']) {
} } else {
else {
$this->removeAllInstancesFromDate($p_endDate); $this->removeAllInstancesFromDate($p_endDate);
} }
} }
@ -957,14 +991,12 @@ class Application_Model_Show {
if ($data['add_show_no_end']) { if ($data['add_show_no_end']) {
$endDate = NULL; $endDate = NULL;
} } elseif ($data['add_show_repeats']) {
else if ($data['add_show_repeats']) {
$endDateTime = new DateTime($data['add_show_end_date']); $endDateTime = new DateTime($data['add_show_end_date']);
//$endDateTime->setTimezone(new DateTimeZone('UTC')); //$endDateTime->setTimezone(new DateTimeZone('UTC'));
$endDateTime->add(new DateInterval("P1D")); $endDateTime->add(new DateInterval("P1D"));
$endDate = $endDateTime->format("Y-m-d"); $endDate = $endDateTime->format("Y-m-d");
} } else {
else {
$endDateTime = new DateTime($data['add_show_start_date']); $endDateTime = new DateTime($data['add_show_start_date']);
//$endDateTime->setTimezone(new DateTimeZone('UTC')); //$endDateTime->setTimezone(new DateTimeZone('UTC'));
$endDateTime->add(new DateInterval("P1D")); $endDateTime->add(new DateInterval("P1D"));
@ -1075,8 +1107,7 @@ class Application_Model_Show {
$showRebroad->save(); $showRebroad->save();
} }
} }
} } elseif ($isRecorded && $data['add_show_rebroadcast'] && ($repeatType == -1)) {
else if ($isRecorded && $data['add_show_rebroadcast'] && ($repeatType == -1)){
for ($i=1; $i<=10; $i++) { for ($i=1; $i<=10; $i++) {
if ($data['add_show_rebroadcast_date_absolute_'.$i]) { if ($data['add_show_rebroadcast_date_absolute_'.$i]) {
$con = Propel::getConnection(CcShowPeer::DATABASE_NAME); $con = Propel::getConnection(CcShowPeer::DATABASE_NAME);
@ -1127,8 +1158,7 @@ class Application_Model_Show {
} }
$con->commit(); $con->commit();
} } catch (Exception $e) {
catch (Exception $e) {
$con->rollback(); $con->rollback();
Logging::log("Couldn't update schedule status."); Logging::log("Couldn't update schedule status.");
Logging::log($e->getMessage()); Logging::log($e->getMessage());
@ -1137,6 +1167,7 @@ class Application_Model_Show {
Application_Model_Show::populateShowUntil($showId); Application_Model_Show::populateShowUntil($showId);
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
return $showId; return $showId;
} }
@ -1178,17 +1209,15 @@ class Application_Model_Show {
* @param DateTime $p_populateUntilDateTime * @param DateTime $p_populateUntilDateTime
* DateTime object in UTC time. * DateTime object in UTC time.
*/ */
private static function populateShow($p_showDaysRow, $p_populateUntilDateTime) { private static function populateShow($p_showDaysRow, $p_populateUntilDateTime)
{
if ($p_showDaysRow["repeat_type"] == -1) { if ($p_showDaysRow["repeat_type"] == -1) {
Application_Model_Show::populateNonRepeatingShow($p_showDaysRow, $p_populateUntilDateTime); Application_Model_Show::populateNonRepeatingShow($p_showDaysRow, $p_populateUntilDateTime);
} } elseif ($p_showDaysRow["repeat_type"] == 0) {
else if($p_showDaysRow["repeat_type"] == 0) {
Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P7D'); Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P7D');
} } elseif ($p_showDaysRow["repeat_type"] == 1) {
else if($p_showDaysRow["repeat_type"] == 1) {
Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P14D'); Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P14D');
} } elseif ($p_showDaysRow["repeat_type"] == 2) {
else if($p_showDaysRow["repeat_type"] == 2) {
Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P1M'); Application_Model_Show::populateRepeatingShow($p_showDaysRow, $p_populateUntilDateTime, 'P1M');
} }
Application_Model_RabbitMq::PushSchedule(); Application_Model_RabbitMq::PushSchedule();
@ -1348,7 +1377,8 @@ class Application_Model_Show {
Application_Model_Show::setNextPop($start, $show_id, $day); Application_Model_Show::setNextPop($start, $show_id, $day);
} }
private static function advanceRepeatingDate($p_interval, $start, $timezone){ private static function advanceRepeatingDate($p_interval, $start, $timezone)
{
$startDt = new DateTime($start, new DateTimeZone($timezone)); $startDt = new DateTime($start, new DateTimeZone($timezone));
if ($p_interval == 'P1M') { if ($p_interval == 'P1M') {
/* When adding months, there is a problem if we are on January 31st and add one month with PHP. /* When adding months, there is a problem if we are on January 31st and add one month with PHP.
@ -1411,6 +1441,7 @@ class Application_Model_Show {
$duration = explode(":", $p_duration); $duration = explode(":", $p_duration);
list($hours, $mins) = array_slice($duration, 0, 2); list($hours, $mins) = array_slice($duration, 0, 2);
$endDateTime->add(new DateInterval("PT{$hours}H{$mins}M")); $endDateTime->add(new DateInterval("PT{$hours}H{$mins}M"));
return array($startDateTime, $endDateTime); return array($startDateTime, $endDateTime);
} }
@ -1433,8 +1464,8 @@ class Application_Model_Show {
* string of user's timezone "Europe/Prague" * string of user's timezone "Europe/Prague"
* *
*/ */
private static function createRebroadcastInstances($p_rebroadcasts, $p_currentUtcTimestamp, $p_showId, $p_showInstanceId, $p_startTime, $p_duration, $p_timezone=null){ private static function createRebroadcastInstances($p_rebroadcasts, $p_currentUtcTimestamp, $p_showId, $p_showInstanceId, $p_startTime, $p_duration, $p_timezone=null)
{
//Y-m-d //Y-m-d
//use only the date part of the show start time stamp for the offsets to work properly. //use only the date part of the show start time stamp for the offsets to work properly.
$date = explode(" ", $p_startTime); $date = explode(" ", $p_startTime);
@ -1500,8 +1531,7 @@ class Application_Model_Show {
$sql = $sql." AND (si1.starts >= '{$start_string}' AND si1.starts < timestamp '{$end_string}')"; $sql = $sql." AND (si1.starts >= '{$start_string}' AND si1.starts < timestamp '{$end_string}')";
$sql = $sql." AND (si1.record = 1)"; $sql = $sql." AND (si1.record = 1)";
} } else {
else {
$sql = $sql." AND ((si1.starts >= '{$start_string}' AND si1.starts < '{$end_string}') $sql = $sql." AND ((si1.starts >= '{$start_string}' AND si1.starts < '{$end_string}')
OR (si1.ends > '{$start_string}' AND si1.ends <= '{$end_string}') OR (si1.ends > '{$start_string}' AND si1.ends <= '{$end_string}')
@ -1520,6 +1550,7 @@ class Application_Model_Show {
} }
$result = $con->query($sql)->fetchAll(); $result = $con->query($sql)->fetchAll();
return $result; return $result;
} }
@ -1551,8 +1582,7 @@ class Application_Model_Show {
$endTimeString = $p_endTimestamp->format("Y-m-d H:i:s"); $endTimeString = $p_endTimestamp->format("Y-m-d H:i:s");
if (!is_null($p_startTimestamp)) { if (!is_null($p_startTimestamp)) {
$startTimeString = $p_startTimestamp->format("Y-m-d H:i:s"); $startTimeString = $p_startTimestamp->format("Y-m-d H:i:s");
} } else {
else {
$today_timestamp = new DateTime("now", new DateTimeZone("UTC")); $today_timestamp = new DateTime("now", new DateTimeZone("UTC"));
$startTimeString = $today_timestamp->format("Y-m-d H:i:s"); $startTimeString = $today_timestamp->format("Y-m-d H:i:s");
} }
@ -1605,11 +1635,9 @@ class Application_Model_Show {
if ($p_editable && $show["record"] && $nowEpoch > $startsEpoch) { if ($p_editable && $show["record"] && $nowEpoch > $startsEpoch) {
$options["editable"] = false; $options["editable"] = false;
} } elseif ($p_editable && $show["rebroadcast"] && $nowEpoch > $parentStartsEpoch) {
else if ($p_editable && $show["rebroadcast"] && $nowEpoch > $parentStartsEpoch) {
$options["editable"] = false; $options["editable"] = false;
} } elseif ($p_editable && $nowEpoch < $endsEpoch) {
else if ($p_editable && $nowEpoch < $endsEpoch) {
$options["editable"] = true; $options["editable"] = true;
} }
$events[] = Application_Model_Show::makeFullCalendarEvent($show, $options); $events[] = Application_Model_Show::makeFullCalendarEvent($show, $options);
@ -1622,7 +1650,8 @@ class Application_Model_Show {
* Calculates the percentage of a show scheduled given the start and end times in date/time format * Calculates the percentage of a show scheduled given the start and end times in date/time format
* and the time_filled as the total time the schow is scheduled for in time format. * and the time_filled as the total time the schow is scheduled for in time format.
**/ **/
private static function getPercentScheduled($p_starts, $p_ends, $p_time_filled){ private static function getPercentScheduled($p_starts, $p_ends, $p_time_filled)
{
$durationSeconds = (strtotime($p_ends) - strtotime($p_starts)); $durationSeconds = (strtotime($p_ends) - strtotime($p_starts));
$time_filled = Application_Model_Schedule::WallTimeToMillisecs($p_time_filled) / 1000; $time_filled = Application_Model_Schedule::WallTimeToMillisecs($p_time_filled) / 1000;
$percent = ceil(( $time_filled / $durationSeconds) * 100); $percent = ceil(( $time_filled / $durationSeconds) * 100);
@ -1677,8 +1706,8 @@ class Application_Model_Show {
/* Takes in a UTC DateTime object. /* Takes in a UTC DateTime object.
* Converts this to local time, since cc_show days * Converts this to local time, since cc_show days
* requires local time. */ * requires local time. */
public function setShowFirstShow($p_dt){ public function setShowFirstShow($p_dt)
{
//clone object since we are modifying it and it was passed by reference. //clone object since we are modifying it and it was passed by reference.
$dt = clone $p_dt; $dt = clone $p_dt;
@ -1697,8 +1726,8 @@ class Application_Model_Show {
/* Takes in a UTC DateTime object /* Takes in a UTC DateTime object
* Converts this to local time, since cc_show days * Converts this to local time, since cc_show days
* requires local time. */ * requires local time. */
public function setShowLastShow($p_dt){ public function setShowLastShow($p_dt)
{
//clone object since we are modifying it and it was passed by reference. //clone object since we are modifying it and it was passed by reference.
$dt = clone $p_dt; $dt = clone $p_dt;
@ -1741,6 +1770,7 @@ class Application_Model_Show {
// Convert back to local timezone // Convert back to local timezone
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
return $rows; return $rows;
} }
@ -1884,6 +1914,7 @@ class Application_Model_Show {
} }
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
return $rows; return $rows;
} }

View File

@ -3,8 +3,8 @@
require_once 'formatters/LengthFormatter.php'; require_once 'formatters/LengthFormatter.php';
require_once 'formatters/TimeFilledFormatter.php'; require_once 'formatters/TimeFilledFormatter.php';
class Application_Model_ShowBuilder { class Application_Model_ShowBuilder
{
private $timezone; private $timezone;
//in UTC timezone //in UTC timezone
@ -49,8 +49,8 @@ class Application_Model_ShowBuilder {
* @param DateTime $p_startsDT * @param DateTime $p_startsDT
* @param DateTime $p_endsDT * @param DateTime $p_endsDT
*/ */
public function __construct($p_startDT, $p_endDT, $p_opts) { public function __construct($p_startDT, $p_endDT, $p_opts)
{
$this->startDT = $p_startDT; $this->startDT = $p_startDT;
$this->endDT = $p_endDT; $this->endDT = $p_endDT;
$this->timezone = date_default_timezone_get(); $this->timezone = date_default_timezone_get();
@ -60,8 +60,8 @@ class Application_Model_ShowBuilder {
$this->currentShow = false; $this->currentShow = false;
} }
private function getUsersShows() { private function getUsersShows()
{
$shows = array(); $shows = array();
$host_shows = CcShowHostsQuery::create() $host_shows = CcShowHostsQuery::create()
@ -77,8 +77,8 @@ class Application_Model_ShowBuilder {
} }
//check to see if this row should be editable by the user. //check to see if this row should be editable by the user.
private function isAllowed($p_item, &$row) { private function isAllowed($p_item, &$row)
{
//cannot schedule in a recorded show. //cannot schedule in a recorded show.
if (intval($p_item["si_record"]) === 1) { if (intval($p_item["si_record"]) === 1) {
return; return;
@ -89,7 +89,8 @@ class Application_Model_ShowBuilder {
} }
} }
private function getItemColor($p_item, &$row) { private function getItemColor($p_item, &$row)
{
$defaultColor = "ffffff"; $defaultColor = "ffffff";
$defaultBackground = "3366cc"; $defaultBackground = "3366cc";
@ -107,17 +108,16 @@ class Application_Model_ShowBuilder {
} }
//information about whether a track is inside|boundary|outside a show. //information about whether a track is inside|boundary|outside a show.
private function getItemStatus($p_item, &$row) { private function getItemStatus($p_item, &$row)
{
$row["status"] = intval($p_item["playout_status"]); $row["status"] = intval($p_item["playout_status"]);
} }
private function getRowTimestamp($p_item, &$row) { private function getRowTimestamp($p_item, &$row)
{
if (is_null($p_item["si_last_scheduled"])) { if (is_null($p_item["si_last_scheduled"])) {
$ts = 0; $ts = 0;
} } else {
else {
$dt = new DateTime($p_item["si_last_scheduled"], new DateTimeZone("UTC")); $dt = new DateTime($p_item["si_last_scheduled"], new DateTimeZone("UTC"));
$ts = intval($dt->format("U")); $ts = intval($dt->format("U"));
} }
@ -130,18 +130,15 @@ class Application_Model_ShowBuilder {
* 1 = current * 1 = current
* 2 = future * 2 = future
*/ */
private function getScheduledStatus($p_epochItemStart, $p_epochItemEnd, &$row) { private function getScheduledStatus($p_epochItemStart, $p_epochItemEnd, &$row)
{
if ($row["footer"] === true && $this->epoch_now > $p_epochItemStart && $this->epoch_now > $p_epochItemEnd) { if ($row["footer"] === true && $this->epoch_now > $p_epochItemStart && $this->epoch_now > $p_epochItemEnd) {
$row["scheduled"] = 0; $row["scheduled"] = 0;
} } elseif ($row["footer"] === true && $this->epoch_now < $p_epochItemEnd) {
else if ($row["footer"] === true && $this->epoch_now < $p_epochItemEnd) {
$row["scheduled"] = 2; $row["scheduled"] = 2;
} } elseif ($row["header"] === true && $this->epoch_now >= $p_epochItemStart) {
else if ($row["header"] === true && $this->epoch_now >= $p_epochItemStart) {
$row["scheduled"] = 0; $row["scheduled"] = 0;
} } elseif ($row["header"] === true && $this->epoch_now < $p_epochItemEnd) {
else if ($row["header"] === true && $this->epoch_now < $p_epochItemEnd) {
$row["scheduled"] = 2; $row["scheduled"] = 2;
} }
@ -163,8 +160,8 @@ class Application_Model_ShowBuilder {
} }
} }
private function makeHeaderRow($p_item) { private function makeHeaderRow($p_item)
{
$row = $this->defaultRowArray; $row = $this->defaultRowArray;
$this->isAllowed($p_item, $row); $this->isAllowed($p_item, $row);
$this->getRowTimestamp($p_item, $row); $this->getRowTimestamp($p_item, $row);
@ -188,8 +185,7 @@ class Application_Model_ShowBuilder {
$time = $dt->format("Y-m-d H:i"); $time = $dt->format("Y-m-d H:i");
$row["rebroadcast_title"] = "Rebroadcast of {$name} from {$time}"; $row["rebroadcast_title"] = "Rebroadcast of {$name} from {$time}";
} } elseif (intval($p_item["si_record"]) === 1) {
else if (intval($p_item["si_record"]) === 1) {
$row["record"] = true; $row["record"] = true;
if (Application_Model_Preference::GetUploadToSoundcloudOption()) { if (Application_Model_Preference::GetUploadToSoundcloudOption()) {
@ -204,8 +200,7 @@ class Application_Model_ShowBuilder {
if ($startsEpoch < $this->epoch_now && $endsEpoch > $this->epoch_now) { if ($startsEpoch < $this->epoch_now && $endsEpoch > $this->epoch_now) {
$row["currentShow"] = true; $row["currentShow"] = true;
$this->currentShow = true; $this->currentShow = true;
} } else {
else {
$this->currentShow = false; $this->currentShow = false;
} }
@ -229,7 +224,8 @@ class Application_Model_ShowBuilder {
return $row; return $row;
} }
private function makeScheduledItemRow($p_item) { private function makeScheduledItemRow($p_item)
{
$row = $this->defaultRowArray; $row = $this->defaultRowArray;
if (isset($p_item["sched_starts"])) { if (isset($p_item["sched_starts"])) {
@ -283,8 +279,7 @@ class Application_Model_ShowBuilder {
$endsEpoch = floatval($showEndDT->format("U.u")); $endsEpoch = floatval($showEndDT->format("U.u"));
$this->getScheduledStatus($startsEpoch, $endsEpoch, $row); $this->getScheduledStatus($startsEpoch, $endsEpoch, $row);
} } else {
else {
$row["empty"] = true; $row["empty"] = true;
$row["id"] = 0 ; $row["id"] = 0 ;
$row["instance"] = intval($p_item["si_id"]); $row["instance"] = intval($p_item["si_id"]);
@ -305,8 +300,8 @@ class Application_Model_ShowBuilder {
return $row; return $row;
} }
private function makeFooterRow($p_item) { private function makeFooterRow($p_item)
{
$row = $this->defaultRowArray; $row = $this->defaultRowArray;
$row["footer"] = true; $row["footer"] = true;
$row["instance"] = intval($p_item["si_id"]); $row["instance"] = intval($p_item["si_id"]);
@ -346,14 +341,14 @@ class Application_Model_ShowBuilder {
* @return boolean whether the schedule in the show builder's range has been updated. * @return boolean whether the schedule in the show builder's range has been updated.
* *
*/ */
public function hasBeenUpdatedSince($timestamp, $instances) { public function hasBeenUpdatedSince($timestamp, $instances)
{
$outdated = false; $outdated = false;
$shows = Application_Model_Show::getShows($this->startDT, $this->endDT); $shows = Application_Model_Show::getShows($this->startDT, $this->endDT);
if ($this->opts["showFilter"] !== 0) { if ($this->opts["showFilter"] !== 0) {
$include[] = $this->opts["showFilter"]; $include[] = $this->opts["showFilter"];
} } elseif ($this->opts["myShows"] === 1) {
else if ($this->opts["myShows"] === 1) {
$include = $this->getUsersShows(); $include = $this->getUsersShows();
} }
@ -368,8 +363,7 @@ class Application_Model_ShowBuilder {
if (isset($show["last_scheduled"])) { if (isset($show["last_scheduled"])) {
$dt = new DateTime($show["last_scheduled"], new DateTimeZone("UTC")); $dt = new DateTime($show["last_scheduled"], new DateTimeZone("UTC"));
} } else {
else {
$dt = new DateTime($show["created"], new DateTimeZone("UTC")); $dt = new DateTime($show["created"], new DateTimeZone("UTC"));
} }
@ -392,8 +386,8 @@ class Application_Model_ShowBuilder {
return $outdated; return $outdated;
} }
public function GetItems() { public function GetItems()
{
$current_id = -1; $current_id = -1;
$display_items = array(); $display_items = array();
@ -401,8 +395,7 @@ class Application_Model_ShowBuilder {
if ($this->opts["myShows"] === 1) { if ($this->opts["myShows"] === 1) {
$shows = $this->getUsersShows(); $shows = $this->getUsersShows();
} } elseif ($this->opts["showFilter"] !== 0) {
else if ($this->opts["showFilter"] !== 0) {
$shows[] = $this->opts["showFilter"]; $shows[] = $this->opts["showFilter"];
} }

View File

@ -2,8 +2,8 @@
require_once 'formatters/LengthFormatter.php'; require_once 'formatters/LengthFormatter.php';
class Application_Model_ShowInstance { class Application_Model_ShowInstance
{
private $_instanceId; private $_instanceId;
private $_showInstance; private $_showInstance;
@ -27,11 +27,13 @@ class Application_Model_ShowInstance {
return $this->_instanceId; return $this->_instanceId;
} }
public function getShow(){ public function getShow()
{
return new Application_Model_Show($this->getShowId()); return new Application_Model_Show($this->getShowId());
} }
public function deleteRebroadcasts(){ public function deleteRebroadcasts()
{
$con = Propel::getConnection(); $con = Propel::getConnection();
$timestamp = gmdate("Y-m-d H:i:s"); $timestamp = gmdate("Y-m-d H:i:s");
@ -62,12 +64,14 @@ class Application_Model_ShowInstance {
public function getName() public function getName()
{ {
$show = CcShowQuery::create()->findPK($this->getShowId()); $show = CcShowQuery::create()->findPK($this->getShowId());
return $show->getDbName(); return $show->getDbName();
} }
public function getGenre() public function getGenre()
{ {
$show = CcShowQuery::create()->findPK($this->getShowId()); $show = CcShowQuery::create()->findPK($this->getShowId());
return $show->getDbGenre(); return $show->getDbGenre();
} }
@ -93,6 +97,7 @@ class Application_Model_ShowInstance {
{ {
$showStart = $this->getShowInstanceStart(); $showStart = $this->getShowInstanceStart();
$showStartExplode = explode(" ", $showStart); $showStartExplode = explode(" ", $showStart);
return $showStartExplode[0]; return $showStartExplode[0];
} }
@ -113,6 +118,7 @@ class Application_Model_ShowInstance {
public function getSoundCloudFileId() public function getSoundCloudFileId()
{ {
$file = Application_Model_StoredFile::Recall($this->_showInstance->getDbRecordedFile()); $file = Application_Model_StoredFile::Recall($this->_showInstance->getDbRecordedFile());
return $file->getSoundCloudId(); return $file->getSoundCloudId();
} }
@ -199,8 +205,8 @@ class Application_Model_ShowInstance {
* @return $newDateTime * @return $newDateTime
* php DateTime, $dateTime with the added time deltas. * php DateTime, $dateTime with the added time deltas.
*/ */
private static function addDeltas($dateTime, $deltaDay, $deltaMin) { private static function addDeltas($dateTime, $deltaDay, $deltaMin)
{
$newDateTime = clone $dateTime; $newDateTime = clone $dateTime;
$days = abs($deltaDay); $days = abs($deltaDay);
@ -211,15 +217,13 @@ class Application_Model_ShowInstance {
if ($deltaDay > 0) { if ($deltaDay > 0) {
$newDateTime->add($dayInterval); $newDateTime->add($dayInterval);
} } elseif ($deltaDay < 0) {
else if ($deltaDay < 0){
$newDateTime->sub($dayInterval); $newDateTime->sub($dayInterval);
} }
if ($deltaMin > 0) { if ($deltaMin > 0) {
$newDateTime->add($minInterval); $newDateTime->add($minInterval);
} } elseif ($deltaMin < 0) {
else if ($deltaMin < 0) {
$newDateTime->sub($minInterval); $newDateTime->sub($minInterval);
} }
@ -286,6 +290,7 @@ class Application_Model_ShowInstance {
//recorded show doesn't exist. //recorded show doesn't exist.
catch (Exception $e) { catch (Exception $e) {
$this->_showInstance->delete(); $this->_showInstance->delete();
return "Show was deleted because recorded show does not exist!"; return "Show was deleted because recorded show does not exist!";
} }
@ -537,12 +542,10 @@ class Application_Model_ShowInstance {
->filterByDbId($showId) ->filterByDbId($showId)
->delete(); ->delete();
} }
} } else {
else {
if ($this->isRebroadcast()) { if ($this->isRebroadcast()) {
$this->_showInstance->delete(); $this->_showInstance->delete();
} } else {
else {
$show->delete(); $show->delete();
} }
} }
@ -567,8 +570,7 @@ class Application_Model_ShowInstance {
try { try {
$rebroad = new Application_Model_ShowInstance($rebroadcast->getDbId()); $rebroad = new Application_Model_ShowInstance($rebroadcast->getDbId());
$rebroad->addFileToShow($file_id, false); $rebroad->addFileToShow($file_id, false);
} } catch (Exception $e) {
catch (Exception $e) {
Logging::log("{$e->getFile()}"); Logging::log("{$e->getFile()}");
Logging::log("{$e->getLine()}"); Logging::log("{$e->getLine()}");
Logging::log("{$e->getMessage()}"); Logging::log("{$e->getMessage()}");
@ -586,8 +588,7 @@ class Application_Model_ShowInstance {
$time_arr[1] = "." . $time_arr[1]; $time_arr[1] = "." . $time_arr[1];
$milliseconds = number_format(round($time_arr[1], 2), 2); $milliseconds = number_format(round($time_arr[1], 2), 2);
$time = $time_arr[0] . substr($milliseconds, 1); $time = $time_arr[0] . substr($milliseconds, 1);
} } else {
else {
$time = $time_arr[0] . ".00"; $time = $time_arr[0] . ".00";
} }
} else { } else {
@ -601,6 +602,7 @@ class Application_Model_ShowInstance {
public function getTimeScheduledSecs() public function getTimeScheduledSecs()
{ {
$time_filled = $this->getTimeScheduled(); $time_filled = $this->getTimeScheduled();
return Application_Model_Playlist::playlistTimeToSeconds($time_filled); return Application_Model_Playlist::playlistTimeToSeconds($time_filled);
} }
@ -608,6 +610,7 @@ class Application_Model_ShowInstance {
{ {
$ends = $this->getShowInstanceEnd(null); $ends = $this->getShowInstanceEnd(null);
$starts = $this->getShowInstanceStart(null); $starts = $this->getShowInstanceStart(null);
return intval($ends->format('U')) - intval($starts->format('U')); return intval($ends->format('U')) - intval($starts->format('U'));
} }
@ -678,10 +681,12 @@ class Application_Model_ShowInstance {
."LIMIT 1"; ."LIMIT 1";
$query = $con->query($sql)->fetchColumn(0); $query = $con->query($sql)->fetchColumn(0);
return ($query !== false) ? $query : NULL; return ($query !== false) ? $query : NULL;
} }
public function getShowEndGapTime(){ public function getShowEndGapTime()
{
$showEnd = $this->getShowInstanceEnd(); $showEnd = $this->getShowInstanceEnd();
$lastItemEnd = $this->getLastAudioItemEnd(); $lastItemEnd = $this->getLastAudioItemEnd();
@ -695,7 +700,8 @@ class Application_Model_ShowInstance {
return ($diff < 0) ? 0 : $diff; return ($diff < 0) ? 0 : $diff;
} }
public static function GetLastShowInstance($p_timeNow){ public static function GetLastShowInstance($p_timeNow)
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
@ -767,6 +773,7 @@ class Application_Model_ShowInstance {
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT count(*) as cnt FROM $CC_CONFIG[showInstances] WHERE ends < '$day'"; $sql = "SELECT count(*) as cnt FROM $CC_CONFIG[showInstances] WHERE ends < '$day'";
return $con->query($sql)->fetchColumn(0); return $con->query($sql)->fetchColumn(0);
} }
@ -785,7 +792,8 @@ class Application_Model_ShowInstance {
return $con->query($sql)->fetchAll(); return $con->query($sql)->fetchAll();
} }
function isRepeating(){ public function isRepeating()
{
if ($this->getShow()->isRepeating()) { if ($this->getShow()->isRepeating()) {
return true; return true;
} else { } else {

View File

@ -1,8 +1,8 @@
<?php <?php
require_once 'soundcloud-api/Services/Soundcloud.php'; require_once 'soundcloud-api/Services/Soundcloud.php';
class Application_Model_Soundcloud { class Application_Model_Soundcloud
{
private $_soundcloud; private $_soundcloud;
public function __construct() public function __construct()
@ -24,13 +24,11 @@ class Application_Model_Soundcloud {
public function uploadTrack($filepath, $filename, $description, $tags=array(), $release=null, $genre=null) public function uploadTrack($filepath, $filename, $description, $tags=array(), $release=null, $genre=null)
{ {
if($this->getToken()) if ($this->getToken()) {
{
if (count($tags)) { if (count($tags)) {
$tags = join(" ", $tags); $tags = join(" ", $tags);
$tags = $tags." ".Application_Model_Preference::GetSoundCloudTags(); $tags = $tags." ".Application_Model_Preference::GetSoundCloudTags();
} } else {
else {
$tags = Application_Model_Preference::GetSoundCloudTags(); $tags = Application_Model_Preference::GetSoundCloudTags();
} }
@ -60,8 +58,7 @@ class Application_Model_Soundcloud {
if (isset($genre) && $genre != "") { if (isset($genre) && $genre != "") {
$track_data['track[genre]'] = $genre; $track_data['track[genre]'] = $genre;
} } else {
else {
$default_genre = Application_Model_Preference::GetSoundCloudGenre(); $default_genre = Application_Model_Preference::GetSoundCloudGenre();
if ($default_genre != "") { if ($default_genre != "") {
$track_data['track[genre]'] = $default_genre; $track_data['track[genre]'] = $default_genre;

View File

@ -13,8 +13,8 @@ require_once 'formatters/BitrateFormatter.php';
* @license http://www.gnu.org/licenses/gpl.txt * @license http://www.gnu.org/licenses/gpl.txt
* @see MetaData * @see MetaData
*/ */
class Application_Model_StoredFile { class Application_Model_StoredFile
{
/** /**
* @holds propel database object * @holds propel database object
*/ */
@ -60,7 +60,8 @@ class Application_Model_StoredFile {
return $this->_file->getDbId(); return $this->_file->getDbId();
} }
public function getGunId() { public function getGunId()
{
return $this->_file->getDbGunid(); return $this->_file->getDbGunid();
} }
@ -69,7 +70,8 @@ class Application_Model_StoredFile {
return $this->_file->getDbFtype(); return $this->_file->getDbFtype();
} }
public function getPropelOrm(){ public function getPropelOrm()
{
return $this->_file; return $this->_file;
} }
@ -88,8 +90,7 @@ class Application_Model_StoredFile {
{ {
if (is_null($p_md)) { if (is_null($p_md)) {
$this->setDbColMetadata(); $this->setDbColMetadata();
} } else {
else {
$dbMd = array(); $dbMd = array();
if (isset($p_md["MDATA_KEY_YEAR"])) { if (isset($p_md["MDATA_KEY_YEAR"])) {
@ -137,8 +138,7 @@ class Application_Model_StoredFile {
$method = "set$propelColumn"; $method = "set$propelColumn";
$this->_file->$method(null); $this->_file->$method(null);
} }
} } else {
else {
foreach ($p_md as $dbColumn => $mdValue) { foreach ($p_md as $dbColumn => $mdValue) {
//don't blank out name, defaults to original filename on first insertion to database. //don't blank out name, defaults to original filename on first insertion to database.
if ($dbColumn == "track_title" && (is_null($mdValue) || $mdValue == "")) { if ($dbColumn == "track_title" && (is_null($mdValue) || $mdValue == "")) {
@ -217,6 +217,7 @@ class Application_Model_StoredFile {
{ {
$propelColumn = $this->_dbMD[$p_category]; $propelColumn = $this->_dbMD[$p_category];
$method = "get$propelColumn"; $method = "get$propelColumn";
return $this->_file->$method(); return $this->_file->$method();
} }
@ -290,6 +291,7 @@ class Application_Model_StoredFile {
$res = $con->exec($sql); $res = $con->exec($sql);
$this->state = $p_state; $this->state = $p_state;
$this->editedby = $p_editedby; $this->editedby = $p_editedby;
return TRUE; return TRUE;
} }
@ -297,7 +299,8 @@ class Application_Model_StoredFile {
* Returns an array of playlist objects that this file is a part of. * Returns an array of playlist objects that this file is a part of.
* @return array * @return array
*/ */
public function getPlaylists() { public function getPlaylists()
{
global $CC_CONFIG; global $CC_CONFIG;
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT playlist_id " $sql = "SELECT playlist_id "
@ -310,6 +313,7 @@ class Application_Model_StoredFile {
$playlists[] = Application_Model_Playlist::Recall($id); $playlists[] = Application_Model_Playlist::Recall($id);
} }
} }
return $playlists; return $playlists;
} }
@ -375,8 +379,7 @@ class Application_Model_StoredFile {
if ($mime == "audio/vorbis" || $mime == "application/ogg") { if ($mime == "audio/vorbis" || $mime == "application/ogg") {
return "ogg"; return "ogg";
} } elseif ($mime == "audio/mp3" || $mime == "audio/mpeg") {
else if ($mime == "audio/mp3" || $mime == "audio/mpeg") {
return "mp3"; return "mp3";
} }
} }
@ -432,7 +435,8 @@ class Application_Model_StoredFile {
* is specified in the airtime.conf config file. If either of these is * is specified in the airtime.conf config file. If either of these is
* not specified, then use values provided by the $_SERVER global variable. * not specified, then use values provided by the $_SERVER global variable.
*/ */
public function getFileUrlUsingConfigAddress(){ public function getFileUrlUsingConfigAddress()
{
global $CC_CONFIG; global $CC_CONFIG;
if (isset($CC_CONFIG['baseUrl'])) { if (isset($CC_CONFIG['baseUrl'])) {
@ -450,8 +454,10 @@ class Application_Model_StoredFile {
return $this->constructGetFileUrl($serverName, $serverPort); return $this->constructGetFileUrl($serverName, $serverPort);
} }
private function constructGetFileUrl($p_serverName, $p_serverPort){ private function constructGetFileUrl($p_serverName, $p_serverPort)
{
Logging::log("getting media! - 2"); Logging::log("getting media! - 2");
return "http://$p_serverName:$p_serverPort/api/get-media/file/".$this->getGunId().".".$this->getFileExtension(); return "http://$p_serverName:$p_serverPort/api/get-media/file/".$this->getGunId().".".$this->getFileExtension();
} }
@ -462,6 +468,7 @@ Logging::log("getting media! - 2");
public function getRelativeFileUrl($baseUrl) public function getRelativeFileUrl($baseUrl)
{ {
Logging::log("getting media!"); Logging::log("getting media!");
return $baseUrl."/api/get-media/file/".$this->getGunId().".".$this->getFileExtension(); return $baseUrl."/api/get-media/file/".$this->getGunId().".".$this->getFileExtension();
} }
@ -482,8 +489,7 @@ Logging::log("getting media! - 2");
if ($res === -1) { if ($res === -1) {
return null; return null;
} }
} } else {
else {
return null; return null;
} }
@ -514,13 +520,11 @@ Logging::log("getting media! - 2");
{ {
if (isset($p_id)) { if (isset($p_id)) {
$file = CcFilesQuery::create()->findPK(intval($p_id)); $file = CcFilesQuery::create()->findPK(intval($p_id));
} } elseif (isset($p_gunid)) {
else if (isset($p_gunid)) {
$file = CcFilesQuery::create() $file = CcFilesQuery::create()
->filterByDbGunid($p_gunid) ->filterByDbGunid($p_gunid)
->findOne(); ->findOne();
} } elseif (isset($p_md5sum)) {
else if (isset($p_md5sum)) {
if ($exist) { if ($exist) {
$file = CcFilesQuery::create() $file = CcFilesQuery::create()
->filterByDbMd5($p_md5sum) ->filterByDbMd5($p_md5sum)
@ -531,8 +535,7 @@ Logging::log("getting media! - 2");
->filterByDbMd5($p_md5sum) ->filterByDbMd5($p_md5sum)
->findOne(); ->findOne();
} }
} } elseif (isset($p_filepath)) {
else if (isset($p_filepath)) {
$path_info = Application_Model_MusicDir::splitFilePath($p_filepath); $path_info = Application_Model_MusicDir::splitFilePath($p_filepath);
if (is_null($path_info)) { if (is_null($path_info)) {
@ -544,8 +547,7 @@ Logging::log("getting media! - 2");
->filterByDbDirectory($music_dir->getId()) ->filterByDbDirectory($music_dir->getId())
->filterByDbFilepath($path_info[1]) ->filterByDbFilepath($path_info[1])
->findOne(); ->findOne();
} } else {
else {
return null; return null;
} }
@ -554,14 +556,15 @@ Logging::log("getting media! - 2");
$storedFile->_file = $file; $storedFile->_file = $file;
return $storedFile; return $storedFile;
} } else {
else {
return null; return null;
} }
} }
public function getName(){ public function getName()
{
$info = pathinfo($this->getFilePath()); $info = pathinfo($this->getFilePath());
return $info['filename']; return $info['filename'];
} }
@ -601,7 +604,8 @@ Logging::log("getting media! - 2");
return Application_Model_StoredFile::Recall(null, null, null, $p_filepath); return Application_Model_StoredFile::Recall(null, null, null, $p_filepath);
} }
public static function RecallByPartialFilepath($partial_path){ public static function RecallByPartialFilepath($partial_path)
{
$path_info = Application_Model_MusicDir::splitFilePath($partial_path); $path_info = Application_Model_MusicDir::splitFilePath($partial_path);
if (is_null($path_info)) { if (is_null($path_info)) {
@ -619,11 +623,12 @@ Logging::log("getting media! - 2");
$storedFile->_file = $file; $storedFile->_file = $file;
$res[] = $storedFile; $res[] = $storedFile;
} }
return $res; return $res;
} }
public static function searchLibraryFiles($datatables) { public static function searchLibraryFiles($datatables)
{
$con = Propel::getConnection(CcFilesPeer::DATABASE_NAME); $con = Propel::getConnection(CcFilesPeer::DATABASE_NAME);
$displayColumns = array("id", "track_title", "artist_name", "album_title", "genre", "length", $displayColumns = array("id", "track_title", "artist_name", "album_title", "genre", "length",
@ -639,16 +644,13 @@ Logging::log("getting media! - 2");
if ($key === "id") { if ($key === "id") {
$plSelect[] = "PL.id AS ".$key; $plSelect[] = "PL.id AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} } elseif ($key === "track_title") {
else if ($key === "track_title") {
$plSelect[] = "name AS ".$key; $plSelect[] = "name AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} } elseif ($key === "ftype") {
else if ($key === "ftype") {
$plSelect[] = "'playlist'::varchar AS ".$key; $plSelect[] = "'playlist'::varchar AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} } elseif ($key === "artist_name") {
else if ($key === "artist_name") {
$plSelect[] = "login AS ".$key; $plSelect[] = "login AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} }
@ -656,8 +658,7 @@ Logging::log("getting media! - 2");
else if (in_array($key, array("length", "utime", "mtime"))) { else if (in_array($key, array("length", "utime", "mtime"))) {
$plSelect[] = $key; $plSelect[] = $key;
$fileSelect[] = $key; $fileSelect[] = $key;
} } elseif ($key === "year") {
else if ($key === "year") {
$plSelect[] = "EXTRACT(YEAR FROM utime)::varchar AS ".$key; $plSelect[] = "EXTRACT(YEAR FROM utime)::varchar AS ".$key;
$fileSelect[] = "year AS ".$key; $fileSelect[] = "year AS ".$key;
@ -666,8 +667,7 @@ Logging::log("getting media! - 2");
else if (in_array($key, array("track_number", "bit_rate", "sample_rate"))) { else if (in_array($key, array("track_number", "bit_rate", "sample_rate"))) {
$plSelect[] = "NULL::int AS ".$key; $plSelect[] = "NULL::int AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} } else {
else {
$plSelect[] = "NULL::text AS ".$key; $plSelect[] = "NULL::text AS ".$key;
$fileSelect[] = $key; $fileSelect[] = $key;
} }
@ -728,8 +728,7 @@ Logging::log("getting media! - 2");
if ($type == "au") {//&& isset( $audioResults )) { if ($type == "au") {//&& isset( $audioResults )) {
$row['audioFile'] = $row['gunid'].".".pathinfo($row['filepath'], PATHINFO_EXTENSION); $row['audioFile'] = $row['gunid'].".".pathinfo($row['filepath'], PATHINFO_EXTENSION);
$row['image'] = '<img title="Track preview" src="/css/images/icon_audioclip.png">'; $row['image'] = '<img title="Track preview" src="/css/images/icon_audioclip.png">';
} } else {
else {
$row['image'] = '<img title="Playlist preview" src="/css/images/icon_playlist.png">'; $row['image'] = '<img title="Playlist preview" src="/css/images/icon_playlist.png">';
} }
} }
@ -839,7 +838,8 @@ Logging::log("getting media! - 2");
* Check, using disk_free_space, the space available in the $destination_folder folder to see if it has * Check, using disk_free_space, the space available in the $destination_folder folder to see if it has
* enough space to move the $audio_file into and report back to the user if not. * enough space to move the $audio_file into and report back to the user if not.
**/ **/
public static function isEnoughDiskSpaceToCopy($destination_folder, $audio_file){ public static function isEnoughDiskSpaceToCopy($destination_folder, $audio_file)
{
//check to see if we have enough space in the /organize directory to copy the file //check to see if we have enough space in the /organize directory to copy the file
$freeSpace = disk_free_space($destination_folder); $freeSpace = disk_free_space($destination_folder);
$fileSize = filesize($audio_file); $fileSize = filesize($audio_file);
@ -847,7 +847,8 @@ Logging::log("getting media! - 2");
return $freeSpace >= $fileSize; return $freeSpace >= $fileSize;
} }
public static function copyFileToStor($p_targetDir, $fileName, $tempname){ public static function copyFileToStor($p_targetDir, $fileName, $tempname)
{
$audio_file = $p_targetDir . DIRECTORY_SEPARATOR . $tempname; $audio_file = $p_targetDir . DIRECTORY_SEPARATOR . $tempname;
Logging::log('copyFileToStor: moving file '.$audio_file); Logging::log('copyFileToStor: moving file '.$audio_file);
$md5 = md5_file($audio_file); $md5 = md5_file($audio_file);
@ -868,6 +869,7 @@ Logging::log("getting media! - 2");
if (!file_exists($stor."/organize")) { if (!file_exists($stor."/organize")) {
if (!mkdir($stor."/organize", 0777)) { if (!mkdir($stor."/organize", 0777)) {
$result = array("code" => 109, "message" => "Failed to create 'organize' directory."); $result = array("code" => 109, "message" => "Failed to create 'organize' directory.");
return $result; return $result;
} }
} }
@ -899,14 +901,15 @@ Logging::log("getting media! - 2");
$result = array("code" => 107, "message" => "The file was not uploaded, there is ".$freeSpace."MB of disk space left and the file you are uploading has a size of ".$fileSize."MB."); $result = array("code" => 107, "message" => "The file was not uploaded, there is ".$freeSpace."MB of disk space left and the file you are uploading has a size of ".$fileSize."MB.");
} }
} }
return $result; return $result;
} }
/* /*
* Pass the file through Liquidsoap and test if it is readable. Return True if readable, and False otherwise. * Pass the file through Liquidsoap and test if it is readable. Return True if readable, and False otherwise.
*/ */
public static function liquidsoapFilePlayabilityTest($audio_file){ public static function liquidsoapFilePlayabilityTest($audio_file)
{
$LIQUIDSOAP_ERRORS = array('TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream.'); $LIQUIDSOAP_ERRORS = array('TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream.');
// Ask Liquidsoap if file is playable // Ask Liquidsoap if file is playable
@ -915,6 +918,7 @@ Logging::log("getting media! - 2");
exec($command, $output, $rv); exec($command, $output, $rv);
$isError = count($output) > 0 && in_array($output[0], $LIQUIDSOAP_ERRORS); $isError = count($output) > 0 && in_array($output[0], $LIQUIDSOAP_ERRORS);
return ($rv == 0 && !$isError); return ($rv == 0 && !$isError);
} }
@ -924,6 +928,7 @@ Logging::log("getting media! - 2");
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG["filesTable"]." WHERE file_exists"; $sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG["filesTable"]." WHERE file_exists";
return $con->query($sql)->fetchColumn(0); return $con->query($sql)->fetchColumn(0);
} }
@ -976,6 +981,7 @@ Logging::log("getting media! - 2");
} }
$rows = $con->query($sql, PDO::FETCH_ASSOC); $rows = $con->query($sql, PDO::FETCH_ASSOC);
return $rows; return $rows;
} }
@ -993,6 +999,7 @@ Logging::log("getting media! - 2");
." (soundcloud_upload_time >= (now() - (INTERVAL '1 day')))"; ." (soundcloud_upload_time >= (now() - (INTERVAL '1 day')))";
$rows = $con->query($sql)->fetchAll(); $rows = $con->query($sql)->fetchAll();
return count($rows); return count($rows);
} catch (Exception $e) { } catch (Exception $e) {
header('HTTP/1.0 503 Service Unavailable'); header('HTTP/1.0 503 Service Unavailable');
@ -1008,7 +1015,8 @@ Logging::log("getting media! - 2");
->save(); ->save();
} }
public function getSoundCloudLinkToFile(){ public function getSoundCloudLinkToFile()
{
return $this->_file->getDbSoundCloudLinkToFile(); return $this->_file->getDbSoundCloudLinkToFile();
} }
@ -1018,42 +1026,51 @@ Logging::log("getting media! - 2");
->save(); ->save();
} }
public function getSoundCloudId(){ public function getSoundCloudId()
{
return $this->_file->getDbSoundCloudId(); return $this->_file->getDbSoundCloudId();
} }
public function setSoundCloudErrorCode($code){ public function setSoundCloudErrorCode($code)
{
$this->_file->setDbSoundCloudErrorCode($code) $this->_file->setDbSoundCloudErrorCode($code)
->save(); ->save();
} }
public function getSoundCloudErrorCode(){ public function getSoundCloudErrorCode()
{
return $this->_file->getDbSoundCloudErrorCode(); return $this->_file->getDbSoundCloudErrorCode();
} }
public function setSoundCloudErrorMsg($msg){ public function setSoundCloudErrorMsg($msg)
{
$this->_file->setDbSoundCloudErrorMsg($msg) $this->_file->setDbSoundCloudErrorMsg($msg)
->save(); ->save();
} }
public function getSoundCloudErrorMsg(){ public function getSoundCloudErrorMsg()
{
return $this->_file->getDbSoundCloudErrorMsg(); return $this->_file->getDbSoundCloudErrorMsg();
} }
public function getDirectory(){ public function getDirectory()
{
return $this->_file->getDbDirectory(); return $this->_file->getDbDirectory();
} }
public function setFileExistsFlag($flag){ public function setFileExistsFlag($flag)
{
$this->_file->setDbFileExists($flag) $this->_file->setDbFileExists($flag)
->save(); ->save();
} }
public function setSoundCloudUploadTime($time){ public function setSoundCloudUploadTime($time)
{
$this->_file->setDbSoundCloundUploadTime($time) $this->_file->setDbSoundCloundUploadTime($time)
->save(); ->save();
} }
public function getFileExistsFlag(){ public function getFileExistsFlag()
{
return $this->_file->getDbFileExists(); return $this->_file->getDbFileExists();
} }
@ -1065,8 +1082,7 @@ Logging::log("getting media! - 2");
if (is_null($file)) { if (is_null($file)) {
return "File does not exist"; return "File does not exist";
} }
if(Application_Model_Preference::GetUploadToSoundcloudOption()) if (Application_Model_Preference::GetUploadToSoundcloudOption()) {
{
for ($i=0; $i<$CC_CONFIG['soundcloud-connection-retries']; $i++) { for ($i=0; $i<$CC_CONFIG['soundcloud-connection-retries']; $i++) {
$description = $file->getDbTrackTitle(); $description = $file->getDbTrackTitle();
$tag = array(); $tag = array();
@ -1079,8 +1095,7 @@ Logging::log("getting media! - 2");
$this->setSoundCloudLinkToFile($soundcloud_res['permalink_url']); $this->setSoundCloudLinkToFile($soundcloud_res['permalink_url']);
$this->setSoundCloudUploadTime(new DateTime("now"), new DateTimeZone("UTC")); $this->setSoundCloudUploadTime(new DateTime("now"), new DateTimeZone("UTC"));
break; break;
} } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
$code = $e->getHttpCode(); $code = $e->getHttpCode();
$msg = $e->getHttpBody(); $msg = $e->getHttpBody();
$temp = explode('"error":',$msg); $temp = explode('"error":',$msg);

View File

@ -1,6 +1,6 @@
<?php <?php
class Application_Model_StreamSetting { class Application_Model_StreamSetting
{
public static function setValue($key, $value, $type) public static function setValue($key, $value, $type)
{ {
global $CC_CONFIG; global $CC_CONFIG;
@ -44,6 +44,7 @@ class Application_Model_StreamSetting {
." WHERE keyname = '$key'"; ." WHERE keyname = '$key'";
$result = $con->query($sql)->fetchColumn(0); $result = $con->query($sql)->fetchColumn(0);
return ($result !== false) ? $result : null; return ($result !== false) ? $result : null;
} }
} }
@ -149,6 +150,7 @@ class Application_Model_StreamSetting {
"value"=>self::getDjLiveStreamMountPoint(), "value"=>self::getDjLiveStreamMountPoint(),
"type"=>"string"); "type"=>"string");
} }
return $rows; return $rows;
} }
@ -257,6 +259,7 @@ class Application_Model_StreamSetting {
} else { } else {
$result = true; $result = true;
} }
return $result; return $result;
} }
@ -286,6 +289,7 @@ class Application_Model_StreamSetting {
$out[$stream] = $info; $out[$stream] = $info;
} }
} }
return $out; return $out;
} }

View File

@ -14,8 +14,8 @@ define('ALIBERR_BADSMEMB', 21);
* @copyright 2010 Sourcefabric O.P.S. * @copyright 2010 Sourcefabric O.P.S.
* @license http://www.gnu.org/licenses/gpl.txt * @license http://www.gnu.org/licenses/gpl.txt
*/ */
class Application_Model_Subjects { class Application_Model_Subjects
{
/* ======================================================= public methods */ /* ======================================================= public methods */
public static function increaseLoginAttempts($login) public static function increaseLoginAttempts($login)
@ -25,6 +25,7 @@ class Application_Model_Subjects {
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = login_attempts+1" $sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = login_attempts+1"
." WHERE login='$login'"; ." WHERE login='$login'";
$res = $con->exec($sql); $res = $con->exec($sql);
return (intval($res) > 0); return (intval($res) > 0);
} }
@ -35,6 +36,7 @@ class Application_Model_Subjects {
$sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = '0'" $sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = '0'"
." WHERE login='$login'"; ." WHERE login='$login'";
$res = $con->exec($sql); $res = $con->exec($sql);
return true; return true;
} }
@ -44,8 +46,8 @@ class Application_Model_Subjects {
$con = Propel::getConnection(); $con = Propel::getConnection();
$sql = "SELECT login_attempts FROM ".$CC_CONFIG['subjTable']." WHERE login='$login'"; $sql = "SELECT login_attempts FROM ".$CC_CONFIG['subjTable']." WHERE login='$login'";
$res = $con->query($sql)->fetchColumn(0); $res = $con->query($sql)->fetchColumn(0);
return ($res !== false) ? $res : 0; return ($res !== false) ? $res : 0;
} }
} // class Subjects } // class Subjects

View File

@ -3,7 +3,8 @@
class Application_Model_Systemstatus class Application_Model_Systemstatus
{ {
public static function GetMonitStatus($p_ip){ public static function GetMonitStatus($p_ip)
{
global $CC_CONFIG; global $CC_CONFIG;
$monit_user = $CC_CONFIG['monit_user']; $monit_user = $CC_CONFIG['monit_user'];
$monit_password = $CC_CONFIG['monit_password']; $monit_password = $CC_CONFIG['monit_password'];
@ -33,8 +34,8 @@ class Application_Model_Systemstatus
return $docRoot; return $docRoot;
} }
public static function ExtractServiceInformation($p_docRoot, $p_serviceName){ public static function ExtractServiceInformation($p_docRoot, $p_serviceName)
{
$starting = array( $starting = array(
"name"=>"", "name"=>"",
"process_id"=>"STARTING...", "process_id"=>"STARTING...",
@ -65,10 +66,8 @@ class Application_Model_Systemstatus
); );
$data = $notRunning; $data = $notRunning;
if (!is_null($p_docRoot)) { if (!is_null($p_docRoot)) {
foreach ($p_docRoot->getElementsByTagName("service") AS $item) foreach ($p_docRoot->getElementsByTagName("service") AS $item) {
{
if ($item->getElementsByTagName("name")->item(0)->nodeValue == $p_serviceName) { if ($item->getElementsByTagName("name")->item(0)->nodeValue == $p_serviceName) {
$monitor = $item->getElementsByTagName("monitor"); $monitor = $item->getElementsByTagName("monitor");
@ -119,10 +118,12 @@ class Application_Model_Systemstatus
} }
} }
} }
return $data; return $data;
} }
public static function GetPlatformInfo(){ public static function GetPlatformInfo()
{
$keys = array("release", "machine", "memory", "swap"); $keys = array("release", "machine", "memory", "swap");
foreach ($keys as $key) { foreach ($keys as $key) {
$data[$key] = "UNKNOWN"; $data[$key] = "UNKNOWN";
@ -130,8 +131,7 @@ class Application_Model_Systemstatus
$docRoot = self::GetMonitStatus("localhost"); $docRoot = self::GetMonitStatus("localhost");
if (!is_null($docRoot)) { if (!is_null($docRoot)) {
foreach ($docRoot->getElementsByTagName("platform") AS $item) foreach ($docRoot->getElementsByTagName("platform") AS $item) {
{
foreach ($keys as $key) { foreach ($keys as $key) {
$keyElement = $item->getElementsByTagName($key); $keyElement = $item->getElementsByTagName($key);
if ($keyElement->length > 0) { if ($keyElement->length > 0) {
@ -144,8 +144,8 @@ class Application_Model_Systemstatus
return $data; return $data;
} }
public static function GetPypoStatus(){ public static function GetPypoStatus()
{
$component = CcServiceRegisterQuery::create()->findOneByDbName("pypo"); $component = CcServiceRegisterQuery::create()->findOneByDbName("pypo");
if (is_null($component)) { if (is_null($component)) {
return null; return null;
@ -159,8 +159,8 @@ class Application_Model_Systemstatus
} }
} }
public static function GetLiquidsoapStatus(){ public static function GetLiquidsoapStatus()
{
$component = CcServiceRegisterQuery::create()->findOneByDbName("pypo"); $component = CcServiceRegisterQuery::create()->findOneByDbName("pypo");
if (is_null($component)) { if (is_null($component)) {
return null; return null;
@ -174,8 +174,8 @@ class Application_Model_Systemstatus
} }
} }
public static function GetMediaMonitorStatus(){ public static function GetMediaMonitorStatus()
{
$component = CcServiceRegisterQuery::create()->findOneByDbName("media-monitor"); $component = CcServiceRegisterQuery::create()->findOneByDbName("media-monitor");
if (is_null($component)) { if (is_null($component)) {
return null; return null;
@ -189,15 +189,16 @@ class Application_Model_Systemstatus
} }
} }
public static function GetIcecastStatus(){ public static function GetIcecastStatus()
{
$docRoot = self::GetMonitStatus("localhost"); $docRoot = self::GetMonitStatus("localhost");
$data = self::ExtractServiceInformation($docRoot, "icecast2"); $data = self::ExtractServiceInformation($docRoot, "icecast2");
return $data; return $data;
} }
public static function GetRabbitMqStatus(){ public static function GetRabbitMqStatus()
{
if (isset($_SERVER["RABBITMQ_HOST"])) { if (isset($_SERVER["RABBITMQ_HOST"])) {
$rabbitmq_host = $_SERVER["RABBITMQ_HOST"]; $rabbitmq_host = $_SERVER["RABBITMQ_HOST"];
} else { } else {
@ -209,7 +210,8 @@ class Application_Model_Systemstatus
return $data; return $data;
} }
public static function GetDiskInfo(){ public static function GetDiskInfo()
{
$partions = array(); $partions = array();
if (isset($_SERVER['AIRTIME_SRV'])) { if (isset($_SERVER['AIRTIME_SRV'])) {

View File

@ -5,8 +5,8 @@ define('UTYPE_ADMIN', 'A');
define('UTYPE_GUEST', 'G'); define('UTYPE_GUEST', 'G');
define('UTYPE_PROGRAM_MANAGER', 'P'); define('UTYPE_PROGRAM_MANAGER', 'P');
class Application_Model_User { class Application_Model_User
{
private $_userInstance; private $_userInstance;
public function __construct($userId) public function __construct($userId)
@ -90,6 +90,7 @@ class Application_Model_User {
return $this->_userInstance->getDbType() === 'A'; return $this->_userInstance->getDbType() === 'A';
case UTYPE_HOST: case UTYPE_HOST:
$userId = $this->_userInstance->getDbId(); $userId = $this->_userInstance->getDbId();
return CcShowHostsQuery::create()->filterByDbShow($showId)->filterByDbHost($userId)->count() > 0; return CcShowHostsQuery::create()->filterByDbShow($showId)->filterByDbHost($userId)->count() > 0;
case UTYPE_PROGRAM_MANAGER: case UTYPE_PROGRAM_MANAGER:
return $this->_userInstance->getDbType() === 'P'; return $this->_userInstance->getDbType() === 'P';
@ -154,54 +155,63 @@ class Application_Model_User {
public function getLogin() public function getLogin()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbLogin(); return $user->getDbLogin();
} }
public function getPassword() public function getPassword()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbPass(); return $user->getDbPass();
} }
public function getFirstName() public function getFirstName()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbFirstName(); return $user->getDbFirstName();
} }
public function getLastName() public function getLastName()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbLastName(); return $user->getDbLastName();
} }
public function getType() public function getType()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbType(); return $user->getDbType();
} }
public function getEmail() public function getEmail()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbEmail(); return $user->getDbEmail();
} }
public function getCellPhone() public function getCellPhone()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbCellPhone(); return $user->getDbCellPhone();
} }
public function getSkype() public function getSkype()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbSkypeContact(); return $user->getDbSkypeContact();
} }
public function getJabber() public function getJabber()
{ {
$user = $this->_userInstance; $user = $this->_userInstance;
return $user->getDbJabberContact(); return $user->getDbJabberContact();
} }
@ -221,6 +231,7 @@ class Application_Model_User {
private function createUser() private function createUser()
{ {
$user = new CcSubjs(); $user = new CcSubjs();
return $user; return $user;
} }
@ -275,6 +286,7 @@ class Application_Model_User {
} }
$query = $con->query($sql)->fetchColumn(0); $query = $con->query($sql)->fetchColumn(0);
return ($query !== false) ? $query : null; return ($query !== false) ? $query : null;
} }
@ -337,6 +349,7 @@ class Application_Model_User {
//we get here if $userinfo->id is defined, but doesn't exist //we get here if $userinfo->id is defined, but doesn't exist
//in the database anymore. //in the database anymore.
Zend_Auth::getInstance()->clearIdentity(); Zend_Auth::getInstance()->clearIdentity();
return null; return null;
} }
} }