diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php
index 52da767e3..107c50872 100644
--- a/airtime_mvc/application/controllers/LoginController.php
+++ b/airtime_mvc/application/controllers/LoginController.php
@@ -50,8 +50,8 @@ class LoginController extends Zend_Controller_Action
$authStorage = $auth->getStorage();
$authStorage->write($userInfo);
- $this->refer_sess = new Zend_Session_Namespace("referrer");
- $this->refer_sess->referrer = 'login';
+ $tempSess = new Zend_Session_Namespace("referrer");
+ $tempSess->referrer = 'login';
$this->_redirect('Nowplaying');
}
diff --git a/airtime_mvc/application/controllers/NowplayingController.php b/airtime_mvc/application/controllers/NowplayingController.php
index 220918e96..175f795e2 100644
--- a/airtime_mvc/application/controllers/NowplayingController.php
+++ b/airtime_mvc/application/controllers/NowplayingController.php
@@ -21,7 +21,8 @@ class NowplayingController extends Zend_Controller_Action
//popup if previous page was login
$refer_sses = new Zend_Session_Namespace('referrer');
- if($refer_sses->referrer == 'login'){
+ if($refer_sses->referrer == 'login' && Application_Model_Nowplaying::ShouldShowPopUp()
+ && !Application_Model_Preference::GetSupportFeedback()){
//unset session
Zend_Session::namespaceUnset('referrer');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/nowplaying/register.js','text/javascript');
diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php
index b172fd613..215d7d6c2 100644
--- a/airtime_mvc/application/controllers/PreferenceController.php
+++ b/airtime_mvc/application/controllers/PreferenceController.php
@@ -56,28 +56,7 @@ class PreferenceController extends Zend_Controller_Action
$this->view->statusMsg = "
Preferences updated.
";
- }else{
- $errors = $form->getErrors();
- $firstElementWithError = '';
-
- foreach($errors as $section => $error){
- foreach($error as $name => $er){
- if(count($er) > 0){
- $firstElementWithError = $name;
- break;
- }
- }
- if($section == "preferences_general"){
- $this->view->errorGeneral = true;
- }elseif($section == "preferences_soundcloud"){
- $this->view->errorSoundCloud = true;
- }elseif($section == "preferences_support"){
- $this->view->errorSupport = true;
- }
- }
- }
-
-
+ }
}
$this->view->supportFeedback = Application_Model_Preference::GetSupportFeedback();
@@ -109,6 +88,41 @@ class PreferenceController extends Zend_Controller_Action
Application_Model_Preference::SetRemindMeDate($now);
die();
}
+
+ public function registersubmitAction(){
+ $request = $this->getRequest();
+ $baseUrl = $request->getBaseUrl();
+
+ $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/preferences.js','text/javascript');
+ $this->view->statusMsg = "";
+
+ $form = new Application_Form_RegisterAirtime();
+ var_dump($request->getPost());
+ var_dump($form->isValid($request->getPost()));
+ var_dump($form->getMessages());
+ if ($request->isPost()) {
+
+ if ($form->isValid($request->getPost())) {
+
+ $values = $form->getValues();
+ var_dump($values);
+ Application_Model_Preference::SetHeadTitle($values["stnName"], $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"]);
+
+ $imagePath = $form->Logo->getFileName();
+
+ Application_Model_Preference::SetStationCountry($values["Country"]);
+ Application_Model_Preference::SetStationCity($values["City"]);
+ Application_Model_Preference::SetStationDescription($values["Description"]);
+ Application_Model_Preference::SetStationLogo($imagePath);
+ }
+ }
+ $this->_redirect('Nowplaying');
+ }
}
diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php
index 80bedc7cd..9a9162566 100644
--- a/airtime_mvc/application/forms/RegisterAirtime.php
+++ b/airtime_mvc/application/forms/RegisterAirtime.php
@@ -1,10 +1,13 @@
setAction('/Preference/registersubmit');
+ $this->setMethod('post');
+
$country_list = Application_Model_Preference::GetCountryList();
$this->setDecorators(array(
@@ -12,6 +15,14 @@ class Application_Form_RegisterAirtime extends Zend_Form_SubForm
array('File', array('viewScript' => 'form/register-dialog.phtml', 'placement' => false)))
);
+ // Station Name
+ $stnName = new Zend_Form_Element_Text("stnName");
+ $stnName->setLabel("Station Name:")
+ ->setRequired(true)
+ ->setValue(Application_Model_Preference::GetStationName())
+ ->setDecorators(array('ViewHelper'));
+ $this->addElement($stnName);
+
// Phone number
$this->addElement('text', 'Phone', array(
'class' => 'input_text',
@@ -105,14 +116,15 @@ class Application_Form_RegisterAirtime extends Zend_Form_SubForm
));
// checkbox for publicise
- $this->addElement('checkbox', 'Publicise', array(
- 'label' => 'Publicise my station on Sourcefabric.org',
- 'required' => false,
- 'value' => Application_Model_Preference::GetPublicise(),
- 'decorators' => array(
- 'ViewHelper'
- )
- ));
+ $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
+ $checkboxPublicise->setLabel('Publicise my station on Sourcefabric.org')
+ ->setRequired(false)
+ ->setDecorators(array('ViewHelper'))
+ ->setValue(Application_Model_Preference::GetPublicise());
+ if(!Application_Model_Preference::GetSupportFeedback()){
+ $checkboxPublicise->setAttrib("disabled", "disabled");
+ }
+ $this->addElement($checkboxPublicise);
// text area for sending detail
$this->addElement('textarea', 'SendInfo', array(
diff --git a/airtime_mvc/application/forms/SupportPreferences.php b/airtime_mvc/application/forms/SupportPreferences.php
index 69f137b8f..a3c7a22f1 100644
--- a/airtime_mvc/application/forms/SupportPreferences.php
+++ b/airtime_mvc/application/forms/SupportPreferences.php
@@ -16,7 +16,7 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
$this->addElement('text', 'Phone', array(
'class' => 'input_text',
'label' => 'Phone:',
- 'required' => false,
+ 'required' => true,
'filters' => array('StringTrim'),
'value' => Application_Model_Preference::GetPhone(),
'decorators' => array(
@@ -28,7 +28,7 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
$this->addElement('text', 'Email', array(
'class' => 'input_text',
'label' => 'Email:',
- 'required' => false,
+ 'required' => true,
'filters' => array('StringTrim'),
'value' => Application_Model_Preference::GetEmail(),
'decorators' => array(
@@ -50,7 +50,7 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
// county list dropdown
$this->addElement('select', 'Country', array(
'label' => 'Country:',
- 'required' => false,
+ 'required' => true,
'value' => Application_Model_Preference::GetStationCountry(),
'multiOptions' => $country_list,
'decorators' => array(
@@ -61,7 +61,7 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
// Station city
$this->addElement('text', 'City', array(
'label' => 'City:',
- 'required' => false,
+ 'required' => true,
'class' => 'input_text',
'value' => Application_Model_Preference::GetStationCity(),
'decorators' => array(
@@ -72,7 +72,7 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
// Station Description
$this->addElement('textarea', 'Description', array(
'label' => 'Station Description:',
- 'required' => false,
+ 'required' => true,
'class' => 'input_text_area',
'value' => Application_Model_Preference::GetStationDescription(),
'decorators' => array(
@@ -105,14 +105,15 @@ class Application_Form_SupportPreferences extends Zend_Form_SubForm
));
// checkbox for publicise
- $this->addElement('checkbox', 'Publicise', array(
- 'label' => 'Publicise my station on Sourcefabric.org',
- 'required' => false,
- 'value' => Application_Model_Preference::GetPublicise(),
- 'decorators' => array(
- 'ViewHelper'
- )
- ));
+ $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise");
+ $checkboxPublicise->setLabel('Publicise my station on Sourcefabric.org')
+ ->setRequired(false)
+ ->setDecorators(array('ViewHelper'))
+ ->setValue(Application_Model_Preference::GetPublicise());
+ if(Application_Model_Preference::GetSupportFeedback() == '0'){
+ $checkboxPublicise->setAttrib("disabled", "disabled");
+ }
+ $this->addElement($checkboxPublicise);
// text area for sending detail
$this->addElement('textarea', 'SendInfo', array(
diff --git a/airtime_mvc/application/models/Nowplaying.php b/airtime_mvc/application/models/Nowplaying.php
index 47769ce39..9a43fa4a3 100644
--- a/airtime_mvc/application/models/Nowplaying.php
+++ b/airtime_mvc/application/models/Nowplaying.php
@@ -117,4 +117,12 @@ class Application_Model_Nowplaying
return array("currentShow"=>Show_DAL::GetCurrentShow($timeNow), "rows"=>$data);
}
+
+ public static function ShouldShowPopUp(){
+ $today = mktime(0, 0, 0, date("m") , date("d"), date("Y"));
+ $remindDate = Application_Model_Preference::GetRemindMeDate();
+ if($remindDate == NULL || $today >= $remindDate){
+ return true;
+ }
+ }
}
diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php
index 5a3882e1d..b2f55891d 100644
--- a/airtime_mvc/application/models/Preference.php
+++ b/airtime_mvc/application/models/Preference.php
@@ -331,7 +331,12 @@ class Application_Model_Preference
public static function SetRemindMeDate($now){
$weekAfter = mktime(0, 0, 0, date("m") , date("d")+7, date("Y"));
- Application_Model_Preference::SetValue('remindme', $weekAfter);
+ Application_Model_Preference::SetValue("remindme", $weekAfter);
}
+
+ public static function GetRemindMeDate(){
+ return Application_Model_Preference::GetValue("remindme");
+ }
+
}
diff --git a/airtime_mvc/application/views/scripts/form/register-dialog.phtml b/airtime_mvc/application/views/scripts/form/register-dialog.phtml
index 08c1ea548..dc52af6e6 100644
--- a/airtime_mvc/application/views/scripts/form/register-dialog.phtml
+++ b/airtime_mvc/application/views/scripts/form/register-dialog.phtml
@@ -1,16 +1,10 @@