Example #1
0
 protected function _initHeadScript()
 {
     global $CC_CONFIG;
     $view = $this->getResource('view');
     $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
     $view->headScript()->appendFile($baseUrl . '/js/libs/jquery-1.7.2.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/libs/jquery-ui-1.8.18.custom.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/libs/jquery.stickyPanel.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/qtip/jquery.qtip.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/jplayer/jquery.jplayer.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/sprintf/sprintf-0.7-beta1.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/bootstrap/bootstrap.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendScript("var baseUrl='{$baseUrl}/'");
     //scripts for now playing bar
     $view->headScript()->appendFile($baseUrl . '/js/airtime/airtime_bootstrap.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/airtime/dashboard/helperfunctions.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/airtime/dashboard/dashboard.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/airtime/dashboard/versiontooltip.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/airtime/common/common.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . '/js/airtime/common/audioplaytest.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $user = Application_Model_User::getCurrentUser();
     if (!is_null($user)) {
         $userType = $user->getType();
     } else {
         $userType = "";
     }
     $view->headScript()->appendScript("var userType = '{$userType}';");
     if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1) {
         $view->headScript()->appendFile($baseUrl . '/js/libs/google-analytics.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     }
 }
 public function __construct($p_startDT, $p_endDT, $p_opts)
 {
     $this->startDT = $p_startDT;
     $this->endDT = $p_endDT;
     $this->timezone = Application_Model_Preference::GetUserTimezone();
     $this->user = Application_Model_User::getCurrentUser();
     $this->opts = $p_opts;
     $this->epoch_now = floatval(microtime(true));
     $this->currentShow = false;
 }
Example #3
0
 public function __construct()
 {
     $this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
     //subtracting one because sometimes when we cancel a track, we set its end time
     //to epochNow and then send the new schedule to pypo. Sometimes the currently cancelled
     //track can still be included in the new schedule because it may have a few ms left to play.
     //subtracting 1 second from epochNow resolves this issue.
     $this->epochNow = microtime(true) - 1;
     $this->nowDT = DateTime::createFromFormat("U.u", $this->epochNow, new DateTimeZone("UTC"));
     if ($this->nowDT === false) {
         // DateTime::createFromFormat does not support millisecond string formatting in PHP 5.3.2 (Ubuntu 10.04).
         // In PHP 5.3.3 (Ubuntu 10.10), this has been fixed.
         $this->nowDT = DateTime::createFromFormat("U", time(), new DateTimeZone("UTC"));
     }
     $this->user = Application_Model_User::getCurrentUser();
 }
 public function indexAction()
 {
     $CC_CONFIG = Config::getConfig();
     $request = $this->getRequest();
     $baseUrl = Application_Common_OsPath::getBaseDir();
     //default time is the last 24 hours.
     $now = time();
     $from = $request->getParam("from", $now - 24 * 60 * 60);
     $to = $request->getParam("to", $now);
     $utcTimezone = new DateTimeZone("UTC");
     $displayTimeZone = new DateTimeZone(Application_Model_Preference::GetTimezone());
     $start = DateTime::createFromFormat("U", $from, $utcTimezone);
     $start->setTimezone($displayTimeZone);
     $end = DateTime::createFromFormat("U", $to, $utcTimezone);
     $end->setTimezone($displayTimeZone);
     $form = new Application_Form_DateRange();
     $form->populate(array('his_date_start' => $start->format("Y-m-d"), 'his_time_start' => $start->format("H:i"), 'his_date_end' => $end->format("Y-m-d"), 'his_time_end' => $end->format("H:i")));
     $this->view->date_form = $form;
     $this->view->headScript()->appendFile($baseUrl . 'js/contextmenu/jquery.contextMenu.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/datatables/js/jquery.dataTables.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/datatables/plugin/dataTables.pluginAPI.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/datatables/plugin/dataTables.fnSetFilteringDelay.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/datatables/plugin/TableTools-2.1.5/js/TableTools.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/timepicker/jquery.ui.timepicker.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/bootstrap-datetime/bootstrap-datetimepicker.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/airtime/buttons/buttons.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/airtime/utilities/utilities.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headScript()->appendFile($baseUrl . 'js/airtime/playouthistory/historytable.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $this->view->headLink()->appendStylesheet($baseUrl . 'css/bootstrap-datetimepicker.min.css?' . $CC_CONFIG['airtime_version']);
     $this->view->headLink()->appendStylesheet($baseUrl . 'js/datatables/plugin/TableTools-2.1.5/css/TableTools.css?' . $CC_CONFIG['airtime_version']);
     $this->view->headLink()->appendStylesheet($baseUrl . 'css/jquery.ui.timepicker.css?' . $CC_CONFIG['airtime_version']);
     $this->view->headLink()->appendStylesheet($baseUrl . 'css/playouthistory.css?' . $CC_CONFIG['airtime_version']);
     $this->view->headLink()->appendStylesheet($baseUrl . 'css/history_styles.css?' . $CC_CONFIG['airtime_version']);
     $this->view->headLink()->appendStylesheet($baseUrl . 'css/jquery.contextMenu.css?' . $CC_CONFIG['airtime_version']);
     //set datatables columns for display of data.
     $historyService = new Application_Service_HistoryService();
     $columns = json_encode($historyService->getDatatablesLogSheetColumns());
     $script = "localStorage.setItem( 'datatables-historyitem-aoColumns', JSON.stringify({$columns}) ); ";
     $columns = json_encode($historyService->getDatatablesFileSummaryColumns());
     $script .= "localStorage.setItem( 'datatables-historyfile-aoColumns', JSON.stringify({$columns}) );";
     $this->view->headScript()->appendScript($script);
     $user = Application_Model_User::getCurrentUser();
     $this->view->userType = $user->getType();
 }
Example #5
0
 public function init()
 {
     $user = Application_Model_User::getCurrentUser();
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'form/showbuilder.phtml'))));
     // Add start date element
     $startDate = new Zend_Form_Element_Text('sb_date_start');
     $startDate->class = 'input_text';
     $startDate->setRequired(true)->setLabel('Date Start:')->setValue(date("Y-m-d"))->setFilters(array('StringTrim'))->setValidators(array('NotEmpty', array('date', false, array('YYYY-MM-DD'))))->setDecorators(array('ViewHelper'));
     $startDate->setAttrib('alt', 'date');
     $this->addElement($startDate);
     // Add start time element
     $startTime = new Zend_Form_Element_Text('sb_time_start');
     $startTime->class = 'input_text';
     $startTime->setRequired(true)->setValue('00:00')->setFilters(array('StringTrim'))->setValidators(array('NotEmpty', array('date', false, array('HH:mm')), array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered'))))->setDecorators(array('ViewHelper'));
     $startTime->setAttrib('alt', 'time');
     $this->addElement($startTime);
     // Add end date element
     $endDate = new Zend_Form_Element_Text('sb_date_end');
     $endDate->class = 'input_text';
     $endDate->setRequired(true)->setLabel('Date End:')->setValue(date("Y-m-d"))->setFilters(array('StringTrim'))->setValidators(array('NotEmpty', array('date', false, array('YYYY-MM-DD'))))->setDecorators(array('ViewHelper'));
     $endDate->setAttrib('alt', 'date');
     $this->addElement($endDate);
     // Add end time element
     $endTime = new Zend_Form_Element_Text('sb_time_end');
     $endTime->class = 'input_text';
     $endTime->setRequired(true)->setValue('01:00')->setFilters(array('StringTrim'))->setValidators(array('NotEmpty', array('date', false, array('HH:mm')), array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered'))))->setDecorators(array('ViewHelper'));
     $endTime->setAttrib('alt', 'time');
     $this->addElement($endTime);
     // add a select to choose a show.
     $showSelect = new Zend_Form_Element_Select("sb_show_filter");
     $showSelect->setLabel("Show:");
     $showSelect->setMultiOptions($this->getShowNames());
     $showSelect->setValue(null);
     $showSelect->setDecorators(array('ViewHelper'));
     $this->addElement($showSelect);
     if ($user->getType() === 'H') {
         $myShows = new Zend_Form_Element_Checkbox('sb_my_shows');
         $myShows->setLabel('All My Shows:')->setDecorators(array('ViewHelper'));
         $this->addElement($myShows);
     }
 }
 public function isAuthorized($webstream_id)
 {
     $user = Application_Model_User::getCurrentUser();
     if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) {
         return true;
     }
     if ($user->isHost()) {
         // not creating a webstream
         if ($webstream_id != -1) {
             $webstream = CcWebstreamQuery::create()->findPK($webstream_id);
             /*we are updating a playlist. Ensure that if the user is a
               host/dj, that he has the correct permission.*/
             $user = Application_Model_User::getCurrentUser();
             //only allow when webstream belongs to the DJ
             return $webstream->getDbCreatorId() == $user->getId();
         }
         /*we are creating a new stream. Don't need to check whether the
           DJ/Host owns the stream*/
         return true;
     } else {
         Logging::info($user);
     }
     return false;
 }
Example #7
0
 public static function copyFileToStor($p_targetDir, $fileName, $tempname)
 {
     $audio_file = $p_targetDir . DIRECTORY_SEPARATOR . $tempname;
     Logging::info('copyFileToStor: moving file ' . $audio_file);
     $storDir = Application_Model_MusicDir::getStorDir();
     $stor = $storDir->getDirectory();
     // check if "organize" dir exists and if not create one
     if (!file_exists($stor . "/organize")) {
         if (!mkdir($stor . "/organize", 0777)) {
             return array("code" => 109, "message" => "Failed to create 'organize' directory.");
         }
     }
     if (chmod($audio_file, 0644) === false) {
         Logging::info("Warning: couldn't change permissions of {$audio_file} to 0644");
     }
     // Check if we have enough space before copying
     if (!self::isEnoughDiskSpaceToCopy($stor, $audio_file)) {
         $freeSpace = disk_free_space($stor);
         return array("code" => 107, "message" => "The file was not uploaded, there is\n                " . $freeSpace . "MB of disk space left and the file you are\n                uploading has a size of  " . $fileSize . "MB.");
     }
     // Check if liquidsoap can play this file
     if (!self::liquidsoapFilePlayabilityTest($audio_file)) {
         return array("code" => 110, "message" => "This file appears to be corrupted and will not\n                be added to media library.");
     }
     // Did all the checks for real, now trying to copy
     $audio_stor = Application_Common_OsPath::join($stor, "organize", $fileName);
     $user = Application_Model_User::getCurrentUser();
     if (is_null($user)) {
         $uid = Application_Model_User::getFirstAdminId();
     } else {
         $uid = $user->getId();
     }
     $id_file = "{$audio_stor}.identifier";
     if (file_put_contents($id_file, $uid) === false) {
         Logging::info("Could not write file to identify user: '******'");
         Logging::info("Id file path: '{$id_file}'");
         Logging::info("Defaulting to admin (no identification file was\n                written)");
     } else {
         Logging::info("Successfully written identification file for\n                uploaded '{$audio_stor}'");
     }
     Logging::info("copyFileToStor: moving file {$audio_file} to {$audio_stor}");
     // Martin K.: changed to rename: Much less load + quicker since this is
     // an atomic operation
     if (@rename($audio_file, $audio_stor) === false) {
         //something went wrong likely there wasn't enough space in .
         //the audio_stor to move the file too warn the user that   .
         //the file wasn't uploaded and they should check if there  .
         //is enough disk space                                     .
         unlink($audio_file);
         //remove the file after failed rename
         unlink($id_file);
         // Also remove the identifier file
         return array("code" => 108, "message" => "\n                The file was not uploaded, this error can occur if the computer\n                hard drive does not have enough disk space or the stor\n                directory does not have correct write permissions.");
     }
     // Now that we successfully added this file, we will add another tag
     // file that will identify the user that owns it
     return null;
 }
Example #8
0
 public function cancelCurrentShowAction()
 {
     $user = Application_Model_User::getCurrentUser();
     if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER))) {
         $id = $this->_getParam('id');
         try {
             $scheduler = new Application_Model_Scheduler();
             $scheduler->cancelShow($id);
             // send kick out source stream signal to pypo
             $data = array("sourcename" => "live_dj");
             Application_Model_RabbitMq::SendMessageToPypo("disconnect_source", $data);
         } catch (Exception $e) {
             $this->view->error = $e->getMessage();
             Logging::info($e->getMessage());
         }
     }
 }
Example #9
0
 protected function _initHeadScript()
 {
     $CC_CONFIG = Config::getConfig();
     $view = $this->getResource('view');
     $baseUrl = Application_Common_OsPath::getBaseDir();
     $view->headScript()->appendFile($baseUrl . 'js/libs/jquery-1.8.3.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/libs/jquery-ui-1.8.24.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/bootstrap/bootstrap.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/libs/underscore-min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/libs/jquery.stickyPanel.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/qtip/jquery.qtip.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/jplayer/jquery.jplayer.min.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/sprintf/sprintf-0.7-beta1.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/cookie/jquery.cookie.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/i18n/jquery.i18n.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'locale/general-translation-table?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'locale/datatables-translation-table?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendScript("\$.i18n.setDictionary(general_dict)");
     $view->headScript()->appendScript("var baseUrl='{$baseUrl}'");
     //These timezones are needed to adjust javascript Date objects on the client to make sense to the user's set timezone
     //or the server's set timezone.
     $serverTimeZone = new DateTimeZone(Application_Model_Preference::GetDefaultTimezone());
     $now = new DateTime("now", $serverTimeZone);
     $offset = $now->format("Z") * -1;
     $view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds");
     if (class_exists("Zend_Auth", false) && Zend_Auth::getInstance()->hasIdentity()) {
         $userTimeZone = new DateTimeZone(Application_Model_Preference::GetUserTimezone());
         $now = new DateTime("now", $userTimeZone);
         $offset = $now->format("Z") * -1;
         $view->headScript()->appendScript("var userTimezoneOffset = {$offset}; //in seconds");
     }
     //scripts for now playing bar
     $view->headScript()->appendFile($baseUrl . 'js/airtime/airtime_bootstrap.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/airtime/dashboard/helperfunctions.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/airtime/dashboard/dashboard.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/airtime/dashboard/versiontooltip.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/tipsy/jquery.tipsy.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/airtime/common/common.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $view->headScript()->appendFile($baseUrl . 'js/airtime/common/audioplaytest.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     $user = Application_Model_User::getCurrentUser();
     if (!is_null($user)) {
         $userType = $user->getType();
     } else {
         $userType = "";
     }
     $view->headScript()->appendScript("var userType = '{$userType}';");
     if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1) {
         $view->headScript()->appendFile($baseUrl . 'js/libs/google-analytics.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     }
     if (Application_Model_Preference::GetPlanLevel() != "disabled" && !($_SERVER['REQUEST_URI'] == $baseUrl . 'Dashboard/stream-player' || strncmp($_SERVER['REQUEST_URI'], $baseUrl . 'audiopreview/audio-preview', strlen($baseUrl . 'audiopreview/audio-preview')) == 0)) {
         $client_id = Application_Model_Preference::GetClientId();
         $view->headScript()->appendScript("var livechat_client_id = '{$client_id}';");
         $view->headScript()->appendFile($baseUrl . 'js/airtime/common/livechat.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     }
 }
Example #10
0
 public function contextMenuAction()
 {
     $id = $this->_getParam('id');
     $now = floatval(microtime(true));
     $request = $this->getRequest();
     $menu = array();
     $user = Application_Model_User::getCurrentUser();
     $item = CcScheduleQuery::create()->findPK($id);
     $instance = $item->getCcShowInstances();
     $menu["preview"] = array("name" => "Preview", "icon" => "play");
     //select the cursor
     $menu["selCurs"] = array("name" => "Select cursor", "icon" => "select-cursor");
     $menu["delCurs"] = array("name" => "Remove cursor", "icon" => "select-cursor");
     if ($now < floatval($item->getDbEnds("U.u")) && $user->canSchedule($instance->getDbShowId())) {
         //remove/truncate the item from the schedule
         $menu["del"] = array("name" => "Remove from show", "icon" => "delete", "url" => "/showbuilder/schedule-remove");
     }
     $this->view->items = $menu;
 }
Example #11
0
 public function init()
 {
     /*
             $this->addElementPrefixPath('Application_Validate',
                                         '../application/validate',
                                         'validate');
                                         * */
     $currentUser = Application_Model_User::getCurrentUser();
     $currentUserId = $currentUser->getId();
     $userData = Application_Model_User::GetUserData($currentUserId);
     $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
     $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator();
     $notDemoValidator = new Application_Validate_NotDemoValidate();
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'form/edit-user.phtml', "currentUser" => $currentUser->getLogin()))));
     $this->setAttrib('id', 'current-user-form');
     $hidden = new Zend_Form_Element_Hidden('cu_user_id');
     $hidden->setDecorators(array('ViewHelper'));
     $hidden->setValue($userData["id"]);
     $this->addElement($hidden);
     $login = new Zend_Form_Element_Text('cu_login');
     $login->setLabel(_('Username:'******'class', 'input_text');
     $login->setAttrib('readonly', 'readonly');
     $login->setRequired(true);
     $login->addValidator($notEmptyValidator);
     $login->addFilter('StringTrim');
     $login->setDecorators(array('viewHelper'));
     $this->addElement($login);
     $password = new Zend_Form_Element_Password('cu_password');
     $password->setLabel(_('Password:'******'class', 'input_text');
     $password->setRequired(true);
     $password->addFilter('StringTrim');
     $password->addValidator($notEmptyValidator);
     $password->setDecorators(array('viewHelper'));
     $this->addElement($password);
     $passwordVerify = new Zend_Form_Element_Password('cu_passwordVerify');
     $passwordVerify->setLabel(_('Verify Password:'******'class', 'input_text');
     $passwordVerify->setRequired(true);
     $passwordVerify->addFilter('StringTrim');
     $passwordVerify->addValidator($notEmptyValidator);
     $passwordVerify->addValidator($notDemoValidator);
     $passwordVerify->setDecorators(array('viewHelper'));
     $this->addElement($passwordVerify);
     $firstName = new Zend_Form_Element_Text('cu_first_name');
     $firstName->setLabel(_('Firstname:'));
     $firstName->setValue($userData["first_name"]);
     $firstName->setAttrib('class', 'input_text');
     $firstName->addFilter('StringTrim');
     $firstName->setDecorators(array('viewHelper'));
     $this->addElement($firstName);
     $lastName = new Zend_Form_Element_Text('cu_last_name');
     $lastName->setLabel(_('Lastname:'));
     $lastName->setValue($userData["last_name"]);
     $lastName->setAttrib('class', 'input_text');
     $lastName->addFilter('StringTrim');
     $lastName->setDecorators(array('viewHelper'));
     $this->addElement($lastName);
     $email = new Zend_Form_Element_Text('cu_email');
     $email->setLabel(_('Email:'));
     $email->setValue($userData["email"]);
     $email->setAttrib('class', 'input_text');
     $email->addFilter('StringTrim');
     $email->setRequired(true);
     $email->addValidator($notEmptyValidator);
     $email->addValidator($emailValidator);
     $email->setDecorators(array('viewHelper'));
     $this->addElement($email);
     $cellPhone = new Zend_Form_Element_Text('cu_cell_phone');
     $cellPhone->setLabel(_('Mobile Phone:'));
     $cellPhone->setValue($userData["cell_phone"]);
     $cellPhone->setAttrib('class', 'input_text');
     $cellPhone->addFilter('StringTrim');
     $cellPhone->setDecorators(array('viewHelper'));
     $this->addElement($cellPhone);
     $skype = new Zend_Form_Element_Text('cu_skype');
     $skype->setLabel(_('Skype:'));
     $skype->setValue($userData["skype_contact"]);
     $skype->setAttrib('class', 'input_text');
     $skype->addFilter('StringTrim');
     $skype->setDecorators(array('viewHelper'));
     $this->addElement($skype);
     $jabber = new Zend_Form_Element_Text('cu_jabber');
     $jabber->setLabel(_('Jabber:'));
     $jabber->setValue($userData["jabber_contact"]);
     $jabber->setAttrib('class', 'input_text');
     $jabber->addFilter('StringTrim');
     $jabber->addValidator($emailValidator);
     $jabber->setDecorators(array('viewHelper'));
     $this->addElement($jabber);
     $locale = new Zend_Form_Element_Select("cu_locale");
     $locale->setLabel(_("Language:"));
     $locale->setMultiOptions(Application_Model_Locale::getLocales());
     $locale->setValue(Application_Model_Preference::GetUserLocale($currentUserId));
     $locale->setDecorators(array('ViewHelper'));
     $this->addElement($locale);
     $timezone = new Zend_Form_Element_Select("cu_timezone");
     $timezone->setLabel(_("Interface Timezone:"));
     $timezone->setMultiOptions(Application_Common_Timezone::getTimezones());
     $timezone->setValue(Application_Model_Preference::GetUserTimezone($currentUserId));
     $timezone->setDecorators(array('ViewHelper'));
     $this->addElement($timezone);
 }
 public function getShowList($startDT, $endDT)
 {
     $user = Application_Model_User::getCurrentUser();
     $shows = Application_Model_Show::getShows($startDT, $endDT);
     Logging::info($startDT->format("Y-m-d H:i:s"));
     Logging::info($endDT->format("Y-m-d H:i:s"));
     Logging::info($shows);
     //need to filter the list to only their shows
     if ($user->isHost()) {
         $showIds = array();
         foreach ($shows as $show) {
             $showIds[] = $show["show_id"];
         }
         $showIds = array_unique($showIds);
         Logging::info($showIds);
         $hostRecords = CcShowHostsQuery::create()->filterByDbHost($user->getId())->filterByDbShow($showIds)->find($this->con);
         $filteredShowIds = array();
         foreach ($hostRecords as $record) {
             $filteredShowIds[] = $record->getDbShow();
         }
         Logging::info($filteredShowIds);
         $filteredShows = array();
         foreach ($shows as $show) {
             if (in_array($show["show_id"], $filteredShowIds)) {
                 $filteredShows[] = $show;
             }
         }
     } else {
         $filteredShows = $shows;
     }
     $timezoneUTC = new DateTimeZone("UTC");
     $timezoneLocal = new DateTimeZone($this->timezone);
     foreach ($filteredShows as &$result) {
         //need to display the results in the station's timezone.
         $dateTime = new DateTime($result["starts"], $timezoneUTC);
         $dateTime->setTimezone($timezoneLocal);
         $result["starts"] = $dateTime->format("Y-m-d H:i:s");
         $dateTime = new DateTime($result["ends"], $timezoneUTC);
         $dateTime->setTimezone($timezoneLocal);
         $result["ends"] = $dateTime->format("Y-m-d H:i:s");
     }
     return $filteredShows;
 }
Example #13
0
 public function editFileMdAction()
 {
     $user = Application_Model_User::getCurrentUser();
     $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
     if (!$isAdminOrPM) {
         return;
     }
     $request = $this->getRequest();
     $form = new Application_Form_EditAudioMD();
     $file_id = $this->_getParam('id', null);
     $file = Application_Model_StoredFile::Recall($file_id);
     $form->populate($file->getDbColMetadata());
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $formdata = $form->getValues();
             $file->setDbColMetadata($formdata);
             $data = $file->getMetadata();
             // set MDATA_KEY_FILEPATH
             $data['MDATA_KEY_FILEPATH'] = $file->getFilePath();
             Logging::info($data['MDATA_KEY_FILEPATH']);
             Application_Model_RabbitMq::SendMessageToMediaMonitor("md_update", $data);
             $this->_redirect('Library');
         }
     }
     $this->view->form = $form;
 }
 public function editFileMdAction()
 {
     $user = Application_Model_User::getCurrentUser();
     $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
     $request = $this->getRequest();
     $file_id = $this->_getParam('id', null);
     $file = Application_Model_StoredFile::RecallById($file_id);
     if (!$isAdminOrPM && $file->getFileOwnerId() != $user->getId()) {
         return;
     }
     $form = new Application_Form_EditAudioMD();
     $form->startForm($file_id);
     $form->populate($file->getDbColMetadata());
     if ($request->isPost()) {
         $js = $this->_getParam('data');
         $serialized = array();
         //need to convert from serialized jQuery array.
         foreach ($js as $j) {
             $serialized[$j["name"]] = $j["value"];
         }
         if ($form->isValid($serialized)) {
             $formValues = $this->_getParam('data', null);
             $formdata = array();
             foreach ($formValues as $val) {
                 $formdata[$val["name"]] = $val["value"];
             }
             $file->setDbColMetadata($formdata);
             $data = $file->getMetadata();
             // set MDATA_KEY_FILEPATH
             $data['MDATA_KEY_FILEPATH'] = $file->getFilePath();
             Logging::info($data['MDATA_KEY_FILEPATH']);
             Application_Model_RabbitMq::SendMessageToMediaMonitor("md_update", $data);
             $this->_redirect('Library');
         }
     }
     $this->view->form = $form;
     $this->view->dialog = $this->view->render('library/edit-file-md.phtml');
 }