diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php
index 54a6a4657..d5394583a 100644
--- a/airtime_mvc/application/controllers/ApiController.php
+++ b/airtime_mvc/application/controllers/ApiController.php
@@ -377,6 +377,7 @@ class ApiController extends Zend_Controller_Action
$this->view->is_recording = false;
+ $this->view->server_timezone = Application_Model_Preference::GetTimezone();
$rows = Application_Model_Show::GetCurrentShow($today_timestamp);
Application_Model_Show::ConvertToLocalTimeZone($rows, array("starts", "ends", "start_timestamp", "end_timestamp"));
diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php
index 8d227c7e7..03ddd677b 100644
--- a/airtime_mvc/application/controllers/PreferenceController.php
+++ b/airtime_mvc/application/controllers/PreferenceController.php
@@ -194,7 +194,7 @@ class PreferenceController extends Zend_Controller_Action
}
}
if($form->isValid($post_data)){
- if(Application_Model_Preference::GetPlanLevel() == 'disabled'){// && $form->isValid($post_data['output_sound_device'])){
+ if(Application_Model_Preference::GetPlanLevel() == 'disabled'){
$values['output_sound_device'] = $form->getValue('output_sound_device');
}
diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php
index 6c4e59871..eda28845b 100644
--- a/airtime_mvc/application/forms/StreamSetting.php
+++ b/airtime_mvc/application/forms/StreamSetting.php
@@ -68,9 +68,15 @@ class Application_Form_StreamSetting extends Zend_Form
}
public function isValid($data){
- if($data['output_sound_device']){
- $this->populate(array("output_sound_device"=>$data['output_sound_device'], "icecast_vorbis_metadata"=>$data['icecast_vorbis_metadata'],
- "output_sound_device_type"=>$data['output_sound_device_type'], "streamFormat"=>$data['streamFormat']));
+ if(isset($data['output_sound_device'])){
+ $d = array();
+ $d["output_sound_device"] = $data['output_sound_device'];
+ $d["icecast_vorbis_metadata"] = $data['icecast_vorbis_metadata'];
+ if(isset($data['output_sound_device_type'])){
+ $d["output_sound_device_type"] = $data['output_sound_device_type'];
+ }
+ $d["streamFormat"] = $data['streamFormat'];
+ $this->populate($d);
}
return true;
}
diff --git a/airtime_mvc/application/views/helpers/TrialRemaining.php b/airtime_mvc/application/views/helpers/TrialRemaining.php
index 64a703a1c..bdbd0caae 100644
--- a/airtime_mvc/application/views/helpers/TrialRemaining.php
+++ b/airtime_mvc/application/views/helpers/TrialRemaining.php
@@ -5,6 +5,9 @@ class Airtime_View_Helper_TrialRemaining extends Zend_View_Helper_Abstract
public function trialRemaining()
{
$ending_date = Application_Model_Preference::GetTrialEndingDate();
+ if ($ending_date == '') {
+ return '';
+ }
$datetime1 = new DateTime();
$datetime2 = new DateTime($ending_date);
$interval = $datetime1->diff($datetime2);
diff --git a/airtime_mvc/application/views/scripts/partialviews/header.phtml b/airtime_mvc/application/views/scripts/partialviews/header.phtml
index e747f025d..82381e4da 100644
--- a/airtime_mvc/application/views/scripts/partialviews/header.phtml
+++ b/airtime_mvc/application/views/scripts/partialviews/header.phtml
@@ -36,15 +36,15 @@
user ?> | Logout
- is_trial){?>
+ trial_remain != '' && $this->trial_remain != "Trial expired."){?>
-
Your Trial expires in
+
Your trial expires in
diff --git a/airtime_mvc/public/css/images/icon_info.png b/airtime_mvc/public/css/images/icon_info.png
index 600e15d23..1cff9e5ee 100644
Binary files a/airtime_mvc/public/css/images/icon_info.png and b/airtime_mvc/public/css/images/icon_info.png differ
diff --git a/airtime_mvc/public/js/airtime/preferences/streamsetting.js b/airtime_mvc/public/js/airtime/preferences/streamsetting.js
index a8195bb2d..a88d27ace 100644
--- a/airtime_mvc/public/js/airtime/preferences/streamsetting.js
+++ b/airtime_mvc/public/js/airtime/preferences/streamsetting.js
@@ -125,6 +125,12 @@ $(document).ready(function() {
rebuildStreamURL($(this))
})
+ if(!$("#output_sound_device").is(':checked')){
+ $("select[id=output_sound_device_type]").attr('disabled', 'disabled')
+ }else{
+ $("select[id=output_sound_device_type]").removeAttr('disabled')
+ }
+
$("#output_sound_device").change(function(){
if($(this).is(':checked')){
$("select[id=output_sound_device_type]").removeAttr('disabled')
diff --git a/install_full/ubuntu/airtime-full-install b/install_full/ubuntu/airtime-full-install
index c397f995e..0137b02f1 100755
--- a/install_full/ubuntu/airtime-full-install
+++ b/install_full/ubuntu/airtime-full-install
@@ -52,10 +52,6 @@ if [ "$?" -ne "0" ]; then
exit 1
fi
-# Install phing
-pear channel-discover pear.phing.info
-pear install phing/phing-2.4.2
-
# Apache Config File
echo "----------------------------------------------------"
echo "2. Apache Config File"
diff --git a/install_minimal/upgrades/airtime-2.0.0/recorder.cfg.200 b/install_minimal/upgrades/airtime-2.0.0/recorder.cfg.200
index d6005bf0a..2765f9781 100644
--- a/install_minimal/upgrades/airtime-2.0.0/recorder.cfg.200
+++ b/install_minimal/upgrades/airtime-2.0.0/recorder.cfg.200
@@ -25,3 +25,5 @@ record_samplerate = 44100
record_channels = 2
record_sample_size = 16
+#can be either ogg|mp3, mp3 recording requires installation of the package "lame"
+record_file_type = 'ogg'
\ No newline at end of file
diff --git a/python_apps/show-recorder/recorder.py b/python_apps/show-recorder/recorder.py
index da94e212c..80bc4ada8 100644
--- a/python_apps/show-recorder/recorder.py
+++ b/python_apps/show-recorder/recorder.py
@@ -261,7 +261,7 @@ class CommandListener():
show_length = self.shows_to_record[start_time][0]
show_instance = self.shows_to_record[start_time][1]
show_name = self.shows_to_record[start_time][2]
-
+
T = pytz.timezone(self.server_timezone)
start_time_on_UTC = getDateTimeObj(start_time)
start_time_on_server = start_time_on_UTC.replace(tzinfo=pytz.utc).astimezone(T)
@@ -270,13 +270,15 @@ class CommandListener():
'hour': start_time_on_server.hour, 'min': start_time_on_server.minute, 'sec': start_time_on_server.second}
self.sr = ShowRecorder(show_instance, show_name, show_length.seconds, start_time_formatted)
self.sr.start()
-
#remove show from shows to record.
del self.shows_to_record[start_time]
time_till_next_show = self.get_time_till_next_show()
self.time_till_next_show = time_till_next_show
except Exception,e :
- self.logger.error(e)
+ import traceback
+ top = traceback.format_exc()
+ self.logger.error('Exception: %s', e)
+ self.logger.error("traceback: %s", top)
else:
self.logger.debug("No recording scheduled...")
@@ -297,6 +299,7 @@ class CommandListener():
temp = self.api_client.get_shows_to_record()
if temp is not None:
shows = temp['shows']
+ self.server_timezone = temp['server_timezone']
self.parse_shows(shows)
self.logger.info("Bootstrap complete: got initial copy of the schedule")
except Exception, e: