diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index e289e9c54..0f200f3b6 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -116,21 +116,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap } 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)) { - + if (strpos($_SERVER['REQUEST_URI'], $baseUrl.'Dashboard/stream-player') === false + && strpos($_SERVER['REQUEST_URI'], $baseUrl.'audiopreview/audio-preview') === false + && strpos($_SERVER['REQUEST_URI'], $baseUrl.'audiopreview/playlist-preview') === false + && strpos($_SERVER['REQUEST_URI'], $baseUrl.'audiopreview/block-preview') === false) { $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'); } + if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1) { + $view->headScript()->appendFile($baseUrl.'js/libs/google-analytics.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + } } protected function _initViewHelpers() diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index ec35c64b8..edd959771 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -712,6 +712,28 @@ class ApiController extends Zend_Controller_Action Logging::info("Registered Component: ".$component."@".$remoteAddr); Application_Model_ServiceRegister::Register($component, $remoteAddr); + + //send ip, subdomain + if ($component == "pypo"){ + $split = explode('.', $_SERVER['SERVER_NAME']); + $subdomain = array(); + foreach ($split as $value) { + if ($value == 'airtime') { + break; + } else { + $subdomain[] = $value; + } + } + if (count($subdomain) > 0){ + $subDomain = implode('.',$subdomain); + + $md = array(); + $md["sub_domain"] = $subDomain; + $md["pypo_ip"] = $remoteAddr; + + Application_Model_RabbitMq::SendMessageToHaproxyConfigDaemon($md); + } + } } public function updateLiquidsoapStatusAction() diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 7d0f21210..68c7abeac 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -23,9 +23,7 @@ class PreferenceController extends Zend_Controller_Action { $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); - - $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; - + $baseUrl = Application_Common_OsPath::getBaseDir(); $this->view->headScript()->appendFile($baseUrl.'js/airtime/preferences/preferences.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); @@ -51,16 +49,6 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetDefaultTimezone($values["timezone"]); Application_Model_Preference::SetWeekStartDay($values["weekStartDay"]); - Application_Model_Preference::SetEnableSystemEmail($values["enableSystemEmail"]); - Application_Model_Preference::SetSystemEmail($values["systemEmail"]); - Application_Model_Preference::SetMailServerConfigured($values["configureMailServer"]); - Application_Model_Preference::SetMailServer($values["mailServer"]); - Application_Model_Preference::SetMailServerEmailAddress($values["email"]); - Application_Model_Preference::SetMailServerPassword($values["ms_password"]); - Application_Model_Preference::SetMailServerPort($values["port"]); - Application_Model_Preference::SetMailServerRequiresAuth($values["msRequiresAuth"]); - - Application_Model_Preference::SetAutoUploadRecordedShowToSoundcloud($values["UseSoundCloud"]); Application_Model_Preference::SetUploadToSoundcloudOption($values["UploadToSoundcloudOption"]); Application_Model_Preference::SetSoundCloudDownloadbleOption($values["SoundCloudDownloadbleOption"]); Application_Model_Preference::SetSoundCloudUser($values["SoundCloudUser"]); @@ -95,20 +83,11 @@ class PreferenceController extends Zend_Controller_Action $form = new Application_Form_SupportSettings(); if ($request->isPost()) { $values = $request->getPost(); - - if ($values["Publicise"] != 1) { - Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); - Application_Model_Preference::SetPublicise($values["Publicise"]); - if (isset($values["Privacy"])) { - Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); - } - } else if ($form->isValid($values)) { + if ($form->isValid($values)) { Application_Model_Preference::SetHeadTitle($values["stationName"], $this->view); Application_Model_Preference::SetPhone($values["Phone"]); Application_Model_Preference::SetEmail($values["Email"]); Application_Model_Preference::SetStationWebSite($values["StationWebSite"]); - Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); - Application_Model_Preference::SetPublicise($values["Publicise"]); $form->Logo->receive(); $imagePath = $form->Logo->getFileName(); @@ -139,15 +118,6 @@ class PreferenceController extends Zend_Controller_Action public function directoryConfigAction() { - $CC_CONFIG = Config::getConfig(); - - $baseUrl = Application_Common_OsPath::getBaseDir(); - - $this->view->headScript()->appendFile($baseUrl.'js/serverbrowse/serverbrowser.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - $this->view->headScript()->appendFile($baseUrl.'js/airtime/preferences/musicdirs.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); - - $watched_dirs_pref = new Application_Form_WatchedDirPreferences(); - $this->view->form = $watched_dirs_pref; } public function streamSettingAction() @@ -247,8 +217,6 @@ class PreferenceController extends Zend_Controller_Action $error = false; if ($form->isValid($values)) { - $values['output_sound_device'] = $form->getValue('output_sound_device'); - $values['output_sound_device_type'] = $form->getValue('output_sound_device_type'); $values['icecast_vorbis_metadata'] = $form->getValue('icecast_vorbis_metadata'); $values['streamFormat'] = $form->getValue('streamFormat'); @@ -281,33 +249,6 @@ class PreferenceController extends Zend_Controller_Action //Application_Model_RabbitMq::PushSchedule(); } - if (!Application_Model_Preference::GetMasterDjConnectionUrlOverride()) { - $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"])) { - Application_Model_Preference::SetMasterDJSourceConnectionURL('N/A'); - } else { - Application_Model_Preference::SetMasterDJSourceConnectionURL($master_connection_url); - } - } else { - Application_Model_Preference::SetMasterDJSourceConnectionURL($values["master_dj_connection_url"]); - } - - if (!Application_Model_Preference::GetLiveDjConnectionUrlOverride()) { - $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"])) { - Application_Model_Preference::SetLiveDJSourceConnectionURL('N/A'); - } else { - Application_Model_Preference::SetLiveDJSourceConnectionURL($live_connection_url); - } - } else { - Application_Model_Preference::SetLiveDJSourceConnectionURL($values["live_dj_connection_url"]); - } - - // extra info that goes into cc_stream_setting - Application_Model_StreamSetting::setMasterLiveStreamPort($values["master_harbor_input_port"]); - Application_Model_StreamSetting::setMasterLiveStreamMountPoint($values["master_harbor_input_mount_point"]); - Application_Model_StreamSetting::setDjLiveStreamPort($values["dj_harbor_input_port"]); - Application_Model_StreamSetting::setDjLiveStreamMountPoint($values["dj_harbor_input_mount_point"]); Application_Model_StreamSetting::setOffAirMeta($values['offAirMeta']); // store stream update timestamp diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index b87018165..1a02df525 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -477,7 +477,7 @@ class ScheduleController extends Zend_Controller_Action if (!$validateStartTime) { $this->view->when->getElement('add_show_start_time')->setOptions(array('disabled' => true)); } - $this->view->rr->getElement('add_show_record')->setOptions(array('disabled' => true)); + //$this->view->rr->getElement('add_show_record')->setOptions(array('disabled' => true)); $this->view->addNewShow = false; $this->view->action = "edit-show"; $this->view->form = $this->view->render('schedule/add-show-form.phtml'); diff --git a/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php b/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php index 617e26675..3084db4ed 100644 --- a/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php +++ b/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php @@ -7,13 +7,9 @@ class RabbitMqPlugin extends Zend_Controller_Plugin_Abstract if (Application_Model_RabbitMq::$doPush) { $md = array('schedule' => Application_Model_Schedule::getSchedule()); Application_Model_RabbitMq::SendMessageToPypo("update_schedule", $md); - if (!isset($_SERVER['AIRTIME_SRV'])) { - Application_Model_RabbitMq::SendMessageToShowRecorder("update_recorder_schedule"); - } } if (memory_get_peak_usage() > 30*pow(2, 20)) { - Logging::debug("Peak memory usage: " .(memory_get_peak_usage()/1000000) ." MB while accessing URI ".$_SERVER['REQUEST_URI']); diff --git a/airtime_mvc/application/forms/AddShowWhen.php b/airtime_mvc/application/forms/AddShowWhen.php index 007852ba4..40645b4b9 100644 --- a/airtime_mvc/application/forms/AddShowWhen.php +++ b/airtime_mvc/application/forms/AddShowWhen.php @@ -241,22 +241,9 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm //this is a new show $overlapping = Application_Model_Schedule::checkOverlappingShows( $repeatShowStart, $repeatShowEnd); - - /* If the repeating show is rebroadcasted we need to check - * the rebroadcast dates relative to the repeating show - */ - if (!$overlapping && $formData['add_show_rebroadcast']) { - $overlapping = self::checkRebroadcastDates( - $repeatShowStart, $formData, $hours, $minutes); - } } else { $overlapping = Application_Model_Schedule::checkOverlappingShows( $repeatShowStart, $repeatShowEnd, $update, null, $formData["add_show_id"]); - - if (!$overlapping && $formData['add_show_rebroadcast']) { - $overlapping = self::checkRebroadcastDates( - $repeatShowStart, $formData, $hours, $minutes, true); - } } if ($overlapping) { @@ -277,36 +264,6 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm $valid = false; $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); } - } elseif ($formData["add_show_rebroadcast"]) { - /* Check first show - * Continue if the first show does not overlap - */ - $overlapping = Application_Model_Schedule::checkOverlappingShows($show_start, $show_end, $update, $instanceId); - - if (!$overlapping) { - $durationToAdd = "PT".$hours."H".$minutes."M"; - for ($i = 1; $i <= 10; $i++) { - - if (empty($formData["add_show_rebroadcast_date_absolute_".$i])) break; - - $abs_rebroadcast_start = $formData["add_show_rebroadcast_date_absolute_".$i]." ". - $formData["add_show_rebroadcast_time_absolute_".$i]; - $rebroadcastShowStart = new DateTime($abs_rebroadcast_start); - $rebroadcastShowStart->setTimezone(new DateTimeZone('UTC')); - $rebroadcastShowEnd = clone $rebroadcastShowStart; - $rebroadcastShowEnd->add(new DateInterval($durationToAdd)); - $overlapping = Application_Model_Schedule::checkOverlappingShows($rebroadcastShowStart, - $rebroadcastShowEnd, $update, null, $formData["add_show_id"]); - if ($overlapping) { - $valid = false; - $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); - break; - } - } - } else { - $valid = false; - $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); - } } else { $overlapping = Application_Model_Schedule::checkOverlappingShows($show_start, $show_end, $update, $instanceId); if ($overlapping) { diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php index 4bf390390..d49cdd3fb 100644 --- a/airtime_mvc/application/forms/EmailServerPreferences.php +++ b/airtime_mvc/application/forms/EmailServerPreferences.php @@ -7,7 +7,6 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm public function init() { - $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/preferences_email_server.phtml')) )); diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php index 19e3fc064..58fa8e53f 100644 --- a/airtime_mvc/application/forms/GeneralPreferences.php +++ b/airtime_mvc/application/forms/GeneralPreferences.php @@ -5,7 +5,6 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm public function init() { - $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); $rangeValidator = Application_Form_Helper_ValidationTypes::overrideBetweenValidator(0, 59.9); $this->setDecorators(array( @@ -92,6 +91,20 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $third_party_api->setValue(Application_Model_Preference::GetAllow3rdPartyApi()); $third_party_api->setDecorators(array('ViewHelper')); $this->addElement($third_party_api); + // + // Add the description element + $this->addElement('textarea', 'widgetCode', array( + 'label' => 'Javascript Code:', + 'required' => false, + 'readonly' => true, + 'style' => 'font-family: Consolas, "Liberation Mono", Courier, + monospace;', + 'class' => 'input_text_area', + 'value' => self::getWidgetCode(), //$_SERVER["SERVER_NAME"], + 'decorators' => array( + 'ViewHelper' + ) + )); $locale = new Zend_Form_Element_Select("locale"); $locale->setLabel(_("Default Interface Language")); @@ -117,6 +130,42 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $this->addElement($week_start_day); } + private static function getWidgetCode() { + + $host = $_SERVER['SERVER_NAME']; + $code = << + + + +
+
+
+ + +CODE; + + return $code; + } + private function getWeekStartDays() { $days = array( diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index c8c9afed3..94e654079 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -80,44 +80,6 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm ->setDecorators(array('ViewHelper')); $this->addElement($live_dj_connection_url); - //liquidsoap harbor.input port - $betweenValidator = Application_Form_Helper_ValidationTypes::overrideBetweenValidator(1024, 49151); - $m_port = Application_Model_StreamSetting::getMasterLiveStreamPort(); - $master_dj_port = new Zend_Form_Element_Text('master_harbor_input_port'); - $master_dj_port->setLabel(_("Master Source Port")) - ->setValue($m_port) - ->setValidators(array($betweenValidator)) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>_('Only numbers are allowed.')))) - ->setDecorators(array('ViewHelper')); - $this->addElement($master_dj_port); - - $m_mount = Application_Model_StreamSetting::getMasterLiveStreamMountPoint(); - $master_dj_mount = new Zend_Form_Element_Text('master_harbor_input_mount_point'); - $master_dj_mount->setLabel(_("Master Source Mount Point")) - ->setValue($m_mount) - ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) - ->setDecorators(array('ViewHelper')); - $this->addElement($master_dj_mount); - - //liquidsoap harbor.input port - $l_port = Application_Model_StreamSetting::getDjLiveStreamPort(); - $live_dj_port = new Zend_Form_Element_Text('dj_harbor_input_port'); - $live_dj_port->setLabel(_("Show Source Port")) - ->setValue($l_port) - ->setValidators(array($betweenValidator)) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>_('Only numbers are allowed.')))) - ->setDecorators(array('ViewHelper')); - $this->addElement($live_dj_port); - - $l_mount = Application_Model_StreamSetting::getDjLiveStreamMountPoint(); - $live_dj_mount = new Zend_Form_Element_Text('dj_harbor_input_mount_point'); - $live_dj_mount->setLabel(_("Show Source Mount Point")) - ->setValue($l_mount) - ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) - ->setDecorators(array('ViewHelper')); - $this->addElement($live_dj_mount); // demo only code if (!$isStreamConfigable) { $elements = $this->getElements(); @@ -145,50 +107,6 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm public function isValid($data) { $isValid = parent::isValid($data); - $master_harbor_input_port = $data['master_harbor_input_port']; - $dj_harbor_input_port = $data['dj_harbor_input_port']; - - if ($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != "") { - $element = $this->getElement("dj_harbor_input_port"); - $element->addError(_("You cannot use same port as Master DJ port.")); - $isValid = false; - } - if ($master_harbor_input_port != "") { - if (is_numeric($master_harbor_input_port)) { - if ($master_harbor_input_port != Application_Model_StreamSetting::getMasterLiveStreamPort()) { - $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - try { - socket_bind($sock, 0, $master_harbor_input_port); - } catch (Exception $e) { - $element = $this->getElement("master_harbor_input_port"); - $element->addError(sprintf(_("Port %s is not available"), $master_harbor_input_port)); - $isValid = false; - } - - socket_close($sock); - } - } else { - $isValid = false; - } - } - if ($dj_harbor_input_port != "") { - if (is_numeric($dj_harbor_input_port)) { - if ($dj_harbor_input_port != Application_Model_StreamSetting::getDjLiveStreamPort()) { - $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - try { - socket_bind($sock, 0, $dj_harbor_input_port); - } catch (Exception $e) { - $element = $this->getElement("dj_harbor_input_port"); - $element->addError(sprintf(_("Port %s is not available"). $dj_harbor_input_port)); - $isValid = false; - } - socket_close($sock); - } - } else { - $isValid = false; - } - } - return $isValid; } diff --git a/airtime_mvc/application/forms/Preferences.php b/airtime_mvc/application/forms/Preferences.php index e9e2edc9e..1bb7d8efa 100644 --- a/airtime_mvc/application/forms/Preferences.php +++ b/airtime_mvc/application/forms/Preferences.php @@ -2,14 +2,12 @@ class Application_Form_Preferences extends Zend_Form { - public function init() { $baseUrl = Application_Common_OsPath::getBaseDir(); $this->setMethod('post'); - $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/preferences.phtml')) )); @@ -17,9 +15,6 @@ class Application_Form_Preferences extends Zend_Form $general_pref = new Application_Form_GeneralPreferences(); $this->addSubForm($general_pref, 'preferences_general'); - $email_pref = new Application_Form_EmailServerPreferences(); - $this->addSubForm($email_pref, 'preferences_email_server'); - $soundcloud_pref = new Application_Form_SoundcloudPreferences(); $this->addSubForm($soundcloud_pref, 'preferences_soundcloud'); diff --git a/airtime_mvc/application/forms/SoundcloudPreferences.php b/airtime_mvc/application/forms/SoundcloudPreferences.php index 30e1702c9..3d1563a65 100644 --- a/airtime_mvc/application/forms/SoundcloudPreferences.php +++ b/airtime_mvc/application/forms/SoundcloudPreferences.php @@ -11,16 +11,6 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm array('ViewScript', array('viewScript' => 'form/preferences_soundcloud.phtml')) )); - //enable soundcloud uploads - $this->addElement('checkbox', 'UseSoundCloud', array( - 'label' => _('Automatically Upload Recorded Shows'), - 'required' => false, - 'value' => Application_Model_Preference::GetAutoUploadRecordedShowToSoundcloud(), - 'decorators' => array( - 'ViewHelper' - ) - )); - //enable soundcloud uploads option $this->addElement('checkbox', 'UploadToSoundcloudOption', array( 'label' => _('Enable SoundCloud Upload'), diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php index 1eb467161..262432686 100644 --- a/airtime_mvc/application/forms/StreamSetting.php +++ b/airtime_mvc/application/forms/StreamSetting.php @@ -17,28 +17,6 @@ class Application_Form_StreamSetting extends Zend_Form public function startFrom() { $setting = $this->setting; - if (Application_Model_Preference::GetPlanLevel() == 'disabled') { - $output_sound_device = new Zend_Form_Element_Checkbox('output_sound_device'); - $output_sound_device->setLabel(_('Hardware Audio Output')) - ->setRequired(false) - ->setValue(($setting['output_sound_device'] == "true")?1:0) - ->setDecorators(array('ViewHelper')); - if (Application_Model_Preference::GetEnableStreamConf() == "false") { - $output_sound_device->setAttrib("readonly", true); - } - $this->addElement($output_sound_device); - - $output_types = array("ALSA"=>"ALSA", "AO"=>"AO", "OSS"=>"OSS", "Portaudio"=>"Portaudio", "Pulseaudio"=>"Pulseaudio"); - $output_type = new Zend_Form_Element_Select('output_sound_device_type'); - $output_type->setLabel(_("Output Type")) - ->setMultiOptions($output_types) - ->setValue($setting['output_sound_device_type']) - ->setDecorators(array('ViewHelper')); - if ($setting['output_sound_device'] != "true") { - $output_type->setAttrib("disabled", "disabled"); - } - $this->addElement($output_type); - } $icecast_vorbis_metadata = new Zend_Form_Element_Checkbox('icecast_vorbis_metadata'); $icecast_vorbis_metadata->setLabel(_('Icecast Vorbis Metadata')) diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php index 7ce63bcf0..660c7e6be 100644 --- a/airtime_mvc/application/forms/SupportSettings.php +++ b/airtime_mvc/application/forms/SupportSettings.php @@ -4,7 +4,6 @@ require_once 'customfilters/ImageSize.php'; class Application_Form_SupportSettings extends Zend_Form { - public function init() { $country_list = Application_Model_Preference::GetCountryList(); @@ -128,20 +127,6 @@ class Application_Form_SupportSettings extends Zend_Form } $this->addElement($checkboxPublicise); - // text area for sending detail - $this->addElement('textarea', 'SendInfo', array( - 'class' => 'sending_textarea', - 'required' => false, - 'filters' => array('StringTrim'), - 'readonly' => true, - 'cols' => 61, - 'rows' => 5, - 'value' => Application_Model_Preference::GetSystemInfo(false, true), - 'decorators' => array( - 'ViewHelper' - ) - )); - // checkbox for privacy policy $checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy"); $checkboxPrivacy->setLabel( @@ -164,7 +149,6 @@ class Application_Form_SupportSettings extends Zend_Form public function isValid ($data) { $isValid = parent::isValid($data); - if (isset($data["Privacy"])) { $checkPrivacy = $this->getElement('Privacy'); if ($data["SupportFeedback"] == "1" && $data["Privacy"] != "1") { diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index b20aacd26..76723c617 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -685,11 +685,7 @@ class Application_Model_Preference $outputArray['NUM_OF_PAST_SHOWS'] = Application_Model_ShowInstance::GetShowInstanceCount(gmdate("Y-m-d H:i:s")); $outputArray['UNIQUE_ID'] = self::GetUniqueId(); $outputArray['SAAS'] = self::GetPlanLevel(); - if ($outputArray['SAAS'] != 'disabled') { - $outputArray['TRIAL_END_DATE'] = self::GetTrialEndingDate(); - } else { - $outputArray['TRIAL_END_DATE'] = NULL; - } + $outputArray['TRIAL_END_DATE'] = self::GetTrialEndingDate(); $outputArray['INSTALL_METHOD'] = self::GetInstallMethod(); $outputArray['NUM_OF_STREAMS'] = self::GetNumOfStreams(); $outputArray['STREAM_INFO'] = Application_Model_StreamSetting::getStreamInfoForDataCollection(); @@ -715,9 +711,7 @@ class Application_Model_Preference $outputString .= $key." : FALSE\n"; } } elseif ($key == "SAAS") { - if (strcmp($out, 'disabled')!=0) { - $outputString .= $key.' : '.$out."\n"; - } + $outputString .= $key.' : '.$out."\n"; } else { $outputString .= $key.' : '.$out."\n"; } diff --git a/airtime_mvc/application/models/RabbitMq.php b/airtime_mvc/application/models/RabbitMq.php index 371fab0b9..7a5448feb 100644 --- a/airtime_mvc/application/models/RabbitMq.php +++ b/airtime_mvc/application/models/RabbitMq.php @@ -76,4 +76,46 @@ class Application_Model_RabbitMq self::sendMessage($exchange, $data); } + + public static function SendMessageToHaproxyConfigDaemon($md){ + $config = parse_ini_file("/etc/airtime-saas/rabbitmq.ini", true); + $conn = new AMQPConnection($config["rabbitmq"]["host"], + $config["rabbitmq"]["port"], + $config["rabbitmq"]["user"], + $config["rabbitmq"]["password"], + $config["rabbitmq"]["vhost"]); + + $exchange = $config["rabbitmq"]["queue"]; + $queue = $config["rabbitmq"]["queue"]; + + $ch = $conn->channel(); + + + /* + name: $queue + passive: false + durable: true // the queue will survive server restarts + exclusive: false // the queue can be accessed in other channels + auto_delete: false //the queue won't be deleted once the channel is closed. + */ + $ch->queue_declare($queue, false, true, false, false); + + /* + name: $exchange + type: direct + passive: false + durable: true // the exchange will survive server restarts + auto_delete: false //the exchange won't be deleted once the channel is closed. + */ + + $ch->exchange_declare($exchange, 'direct', false, true, false); + $ch->queue_bind($queue, $exchange); + + $data = json_encode($md).PHP_EOL; + $msg = new AMQPMessage($data, array('content_type' => 'application/json')); + + $ch->basic_publish($msg, $exchange); + $ch->close(); + $conn->close(); + } } diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index d6032eae6..b95577bdf 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -1039,17 +1039,6 @@ SQL; $formRepeats->populate(array('add_show_end_date' => date("Y-m-d"))); - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); - - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); - - $p_view->rr = $formRecord; - $p_view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $p_view->rebroadcast = $formRebroadcast; $p_view->addNewShow = true; }*/ @@ -1074,13 +1063,6 @@ SQL; $formStyle->removeDecorator('DtDdWrapper'); $formLive->removeDecorator('DtDdWrapper'); - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); - - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); $when = $formWhen->isValid($data); if ($when && $formWhen->checkReliantFields($data, true, null, true)) { @@ -1114,13 +1096,6 @@ SQL; $controller->view->who = $formWho; $controller->view->style = $formStyle; $controller->view->live = $formLive; - $controller->view->rr = $formRecord; - $controller->view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $controller->view->rebroadcast = $formRebroadcast; - - //$formRecord->disable(); - //$formAbsoluteRebroadcast->disable(); - //$formRebroadcast->disable(); return false; } @@ -1186,79 +1161,27 @@ SQL; $data["add_show_duration"] = $hValue.":".$mValue; - $formRecord = new Application_Form_AddShowRR(); - $formAbsoluteRebroadcast = new Application_Form_AddShowAbsoluteRebroadcastDates(); - $formRebroadcast = new Application_Form_AddShowRebroadcastDates(); - - $formRecord->removeDecorator('DtDdWrapper'); - $formAbsoluteRebroadcast->removeDecorator('DtDdWrapper'); - $formRebroadcast->removeDecorator('DtDdWrapper'); - - - $record = $formRecord->isValid($data); - if ($data["add_show_repeats"]) { $repeats = $formRepeats->isValid($data); if ($repeats) { $repeats = $formRepeats->checkReliantFields($data); } - $formAbsoluteRebroadcast->reset(); - //make it valid, results don't matter anyways. - $rebroadAb = 1; - - if ($data["add_show_rebroadcast"]) { - $rebroad = $formRebroadcast->isValid($data); - if ($rebroad) { - $rebroad = $formRebroadcast->checkReliantFields($data); - } - } else { - $rebroad = 1; - } } else { $repeats = 1; - $formRebroadcast->reset(); - //make it valid, results don't matter anyways. - $rebroad = 1; - - if ($data["add_show_rebroadcast"]) { - $rebroadAb = $formAbsoluteRebroadcast->isValid($data); - if ($rebroadAb) { - $rebroadAb = $formAbsoluteRebroadcast->checkReliantFields($data); - } - } else { - $rebroadAb = 1; - } } $who = $formWho->isValid($data); $style = $formStyle->isValid($data); if ($what && $when && $repeats && $who && $style && $live) { - if ($record && $rebroadAb && $rebroad) { - if ($isAdminOrPM) { - Application_Model_Show::create($data); - } + if ($isAdminOrPM) { + Application_Model_Show::create($data); + } - //send back a new form for the user. - Application_Model_Schedule::createNewFormSections($controller->view); + //send back a new form for the user. + Application_Model_Schedule::createNewFormSections($controller->view); - //$controller->view->newForm = $controller->view->render('schedule/add-show-form.phtml'); - return true; - } else { - $controller->view->what = $formWhat; - $controller->view->when = $formWhen; - $controller->view->repeats = $formRepeats; - $controller->view->who = $formWho; - $controller->view->style = $formStyle; - $controller->view->rr = $formRecord; - $controller->view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $controller->view->rebroadcast = $formRebroadcast; - $controller->view->live = $formLive; - //$controller->view->addNewShow = !$editShow; - - //$controller->view->form = $controller->view->render('schedule/add-show-form.phtml'); - return false; - - } + //$controller->view->newForm = $controller->view->render('schedule/add-show-form.phtml'); + return true; } else { $controller->view->what = $formWhat; $controller->view->when = $formWhen; @@ -1266,9 +1189,6 @@ SQL; $controller->view->who = $formWho; $controller->view->style = $formStyle; $controller->view->live = $formLive; - $controller->view->rr = $formRecord; - $controller->view->absoluteRebroadcast = $formAbsoluteRebroadcast; - $controller->view->rebroadcast = $formRebroadcast; //$controller->view->addNewShow = !$editShow; //$controller->view->form = $controller->view->render('schedule/add-show-form.phtml'); return false; diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php index 6f6a05fff..2452f962f 100644 --- a/airtime_mvc/application/models/Systemstatus.php +++ b/airtime_mvc/application/models/Systemstatus.php @@ -214,23 +214,21 @@ class Application_Model_Systemstatus { $partions = array(); - /* First lets get all the watched directories. Then we can group them - * into the same partitions by comparing the partition sizes. */ - $musicDirs = Application_Model_MusicDir::getWatchedDirs(); - $musicDirs[] = Application_Model_MusicDir::getStorDir(); + //connect to DB and find how much total space user has allocated. + $totalSpace = Application_Model_Preference::GetDiskQuota(); - foreach ($musicDirs as $md) { - $totalSpace = disk_total_space($md->getDirectory()); + $path = $_SERVER['AIRTIME_BASE']."etc/airtime/num_bytes.ini"; + $arr = parse_ini_file($path); - if (!isset($partitions[$totalSpace])) { - $partitions[$totalSpace] = new StdClass; - $partitions[$totalSpace]->totalSpace = $totalSpace; - $partitions[$totalSpace]->totalFreeSpace = disk_free_space($md->getDirectory()); - - } - - $partitions[$totalSpace]->dirs[] = $md->getDirectory(); + $usedSpace = 0; + if ($arr !== false) { + $usedSpace = $arr['num_bytes']; } + + $partitions[$totalSpace] = new stdClass(); + $partitions[$totalSpace]->totalSpace = $totalSpace; + $partitions[$totalSpace]->totalFreeSpace = $totalSpace - $usedSpace; + Logging::info($partitions[$totalSpace]->totalFreeSpace); return array_values($partitions); } diff --git a/airtime_mvc/application/models/User.php b/airtime_mvc/application/models/User.php index 34e1fe0f6..4e1fab94d 100644 --- a/airtime_mvc/application/models/User.php +++ b/airtime_mvc/application/models/User.php @@ -329,16 +329,26 @@ class Application_Model_User $res = Application_Model_Datatables::findEntries($con, $displayColumns, $fromTable, $datatables); // mark record which is for the current user - foreach ($res['aaData'] as &$record) { + foreach($res['aaData'] as $key => &$record){ if ($record['login'] == $username) { $record['delete'] = "self"; } else { $record['delete'] = ""; } + + if($record['login'] == 'sourcefabric_admin'){ + //arrays in PHP are basically associative arrays that can be iterated in order. + //Deleting an earlier element does not change the keys of elements that come after it. --MK + unset($res['aaData'][$key]); + $res['iTotalDisplayRecords']--; + $res['iTotalRecords']--; + } $record = array_map('htmlspecialchars', $record); } + $res['aaData'] = array_values($res['aaData']); + return $res; } diff --git a/airtime_mvc/application/views/helpers/IsTrial.php b/airtime_mvc/application/views/helpers/IsTrial.php index 2890bbc49..743232b33 100644 --- a/airtime_mvc/application/views/helpers/IsTrial.php +++ b/airtime_mvc/application/views/helpers/IsTrial.php @@ -3,10 +3,6 @@ class Airtime_View_Helper_IsTrial extends Zend_View_Helper_Abstract{ public function isTrial(){ $plan = Application_Model_Preference::GetPlanLevel(); - if($plan == 'trial'){ - return true; - }else{ - return false; - } + return $plan == 'trial'; } -} \ No newline at end of file +} diff --git a/airtime_mvc/application/views/helpers/VersionNotify.php b/airtime_mvc/application/views/helpers/VersionNotify.php index b356d843c..bc940b31a 100644 --- a/airtime_mvc/application/views/helpers/VersionNotify.php +++ b/airtime_mvc/application/views/helpers/VersionNotify.php @@ -12,46 +12,6 @@ class Airtime_View_Helper_VersionNotify extends Zend_View_Helper_Abstract{ public function versionNotify(){ - if(Application_Model_Preference::GetPlanLevel() != 'disabled'){ - return ""; - } - - // retrieve and validate current and latest versions, - $current = Application_Model_Preference::GetAirtimeVersion(); - $latest = Application_Model_Preference::GetLatestVersion(); - $link = Application_Model_Preference::GetLatestLink(); - $currentExploded = explode('.', $current); - $latestExploded = explode('.', $latest); - if(count($currentExploded) != 3 || count($latestExploded) != 3) { - return ""; - } - - // Calculate the version difference; - // Example: if current = 1.9.5 and latest = 3.0.0, diff = 105 - // Note: algorithm assumes the number after 1st dot never goes above 9 - $versionDifference = (intval($latestExploded[0]) * 100 + intval($latestExploded[1]) *10 + intval($latestExploded[2])) - - (intval($currentExploded[0]) * 100 + intval($currentExploded[1] *10 + intval($currentExploded[2]))); - - // Pick icon based on distance this version is to the latest version available - if($versionDifference <= 0) { - // current version is up to date or newer - $class = "uptodate"; - } else if($versionDifference < 20) { - // 2 or less major versions back - $class = "update"; - } else if($versionDifference < 30) { - // 3 major versions back - $class = "update2"; - } else { - // more than 3 major versions back - $class = "outdated"; - } - - $result = "" - . "" - . "" - . "" - . "
"; - return $result; + return ""; } } diff --git a/airtime_mvc/application/views/scripts/form/preferences.phtml b/airtime_mvc/application/views/scripts/form/preferences.phtml index f51e1bd5a..2c9331581 100644 --- a/airtime_mvc/application/views/scripts/form/preferences.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences.phtml @@ -2,11 +2,6 @@ element->getSubform('preferences_general') ?> -

-
- element->getSubform('preferences_email_server') ?> -
-

diff --git a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml index bcc6bb4c8..4108eb382 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml @@ -1,106 +1,5 @@
- -
- - element->getElement('enableSystemEmail')->hasErrors()) : ?> -
    - element->getElement('enableSystemEmail')->getMessages() as $error): ?> -
  • - -
- -
- - -
- -
-
- element->getElement('systemEmail') ?> - element->getElement('systemEmail')->hasErrors()) : ?> -
    - element->getElement('systemEmail')->getMessages() as $error): ?> -
  • - -
- -
-
-
- -
- -
- - - -
- -
- element->getElement('mailServer') ?> - element->getElement('mailServer')->hasErrors()) : ?> -
    - element->getElement('mailServer')->getMessages() as $error): ?> -
  • - -
- -
- -
- -
-
- element->getElement('port') ?> -
- -
- -
-
- element->getElement('email') ?> - element->getElement('email')->hasErrors()) : ?> -
    - element->getElement('email')->getMessages() as $error): ?> -
  • - -
- -
- -
- -
-
- element->getElement('ms_password') ?> - element->getElement('ms_password')->hasErrors()) : ?> -
    - element->getElement('ms_password')->getMessages() as $error): ?> -
  • - -
- -
- -
diff --git a/airtime_mvc/application/views/scripts/form/preferences_general.phtml b/airtime_mvc/application/views/scripts/form/preferences_general.phtml index a438fb446..c8ab6bdb8 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_general.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_general.phtml @@ -54,12 +54,17 @@
- + +
+
element->getElement('thirdPartyApi')->getValue(); ?> + element->getElement('thirdPartyApi')->getMultiOptions() as $radio) : ?>
+ +
diff --git a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml index ec81cbfb9..dbd76eee9 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml @@ -76,34 +76,6 @@ -
- -
-
- element->getElement('master_harbor_input_port') ?> - element->getElement('master_harbor_input_port')->hasErrors()) : ?> -
    - element->getElement('master_harbor_input_port')->getMessages() as $error): ?> -
  • - -
- -
-
- -
-
- element->getElement('master_harbor_input_mount_point') ?> - element->getElement('master_harbor_input_mount_point')->hasErrors()) : ?> -
    - element->getElement('master_harbor_input_mount_point')->getMessages() as $error): ?> -
  • - -
- -
element->getElement('master_dj_connection_url')->setValue($this->master_dj_connection_url) ?> - isDemo){?> -    - -
-
-
- -
-
- element->getElement('dj_harbor_input_port') ?> - element->getElement('dj_harbor_input_port')->hasErrors()) : ?> -
    - element->getElement('dj_harbor_input_port')->getMessages() as $error): ?> -
  • - -
- -
-
- -
-
- element->getElement('dj_harbor_input_mount_point') ?> - element->getElement('dj_harbor_input_mount_point')->hasErrors()) : ?> -
    - element->getElement('dj_harbor_input_mount_point')->getMessages() as $error): ?> -
  • - -
- -
element->getElement('live_dj_connection_url')->setValue($this->live_dj_connection_url) ?> - isDemo ){?> -    - -
- diff --git a/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml b/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml index 30efe4b0b..4ee3ff7f0 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml @@ -13,19 +13,6 @@
-
- - element->getElement('UseSoundCloud')->hasErrors()) : ?> -
    - element->getElement('UseSoundCloud')->getMessages() as $error): ?> -
  • - -
- -
-
-
- -
- element->getElement('SendInfo') ?> -
-
-
- -
-
- element->getView()->privacyChecked){?> - - element->getElement('Privacy')->hasErrors()) : ?> -
    - element->getElement('Privacy')->getMessages() as $error): ?> -
  • - -
- - - - -
diff --git a/airtime_mvc/application/views/scripts/menu.phtml b/airtime_mvc/application/views/scripts/menu.phtml index 009b937bd..d472405f4 100644 --- a/airtime_mvc/application/views/scripts/menu.phtml +++ b/airtime_mvc/application/views/scripts/menu.phtml @@ -7,7 +7,10 @@ getLabel()); ?>