diff --git a/airtime_mvc/application/controllers/NowplayingController.php b/airtime_mvc/application/controllers/NowplayingController.php index 257b354a2..00a0d5f7e 100644 --- a/airtime_mvc/application/controllers/NowplayingController.php +++ b/airtime_mvc/application/controllers/NowplayingController.php @@ -29,8 +29,11 @@ class NowplayingController extends Zend_Controller_Action $form = new Application_Form_RegisterAirtime(); $values = $request->getPost(); - if ($values["Publicise"] != 1){ + if ($values["Publicise"] != 1 && $form->isValid($values)){ Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + if(isset($values["Privacy"])){ + Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); + } // unset session Zend_Session::namespaceUnset('referrer'); } @@ -49,10 +52,12 @@ class NowplayingController extends Zend_Controller_Action Application_Model_Preference::SetStationDescription($values["Description"]); Application_Model_Preference::SetStationLogo($imagePath); Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + if(isset($values["Privacy"])){ + Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); + } // unset session Zend_Session::namespaceUnset('referrer'); }else{ - var_dump($form->getMessages()); $logo = Application_Model_Preference::GetStationLogo(); if($logo){ $this->view->logoImg = $logo; diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 7b7c62c65..233f7e12a 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -60,24 +60,29 @@ class PreferenceController extends Zend_Controller_Action $form = new Application_Form_SupportSettings(); if ($request->isPost()) { - if ($form->isValid($request->getPost())) { - $values = $form->getValues(); - - 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(); - - Application_Model_Preference::SetStationCountry($values["Country"]); - Application_Model_Preference::SetStationCity($values["City"]); - Application_Model_Preference::SetStationDescription($values["Description"]); - Application_Model_Preference::SetStationLogo($imagePath); - + $values = $request->getPost(); + if ($form->isValid($values)) { + if ($values["Publicise"] != 1){ + Application_Model_Preference::SetSupportFeedback($values["SupportFeedback"]); + if(isset($values["Privacy"])){ + Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); + } + }else{ + 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(); + + Application_Model_Preference::SetStationCountry($values["Country"]); + Application_Model_Preference::SetStationCity($values["City"]); + Application_Model_Preference::SetStationDescription($values["Description"]); + Application_Model_Preference::SetStationLogo($imagePath); + } $this->view->statusMsg = "
Support setting updated.
"; } } @@ -85,7 +90,13 @@ class PreferenceController extends Zend_Controller_Action if($logo){ $this->view->logoImg = $logo; } + $privacyChecked = false; + if(Application_Model_Preference::GetPrivacyPolicyCheck() == 1){ + $privacyChecked = true; + } + $this->view->privacyChecked = $privacyChecked; $this->view->form = $form; + //$form->render($this->view); } public function directoryConfigAction() diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php index e31e67c3b..011a1b0e7 100644 --- a/airtime_mvc/application/forms/RegisterAirtime.php +++ b/airtime_mvc/application/forms/RegisterAirtime.php @@ -8,10 +8,15 @@ class Application_Form_RegisterAirtime extends Zend_Form $this->setAction('/Nowplaying'); $this->setMethod('post'); - $country_list = Application_Model_Preference::GetCountryList(); - + $country_list = Application_Model_Preference::GetCountryList(); + + $privacyChecked = false; + if(Application_Model_Preference::GetPrivacyPolicyCheck() == 1){ + $privacyChecked = true; + } + $this->setDecorators(array( - array('ViewScript', array('viewScript' => 'form/register-dialog.phtml')), + array('ViewScript', array('viewScript' => 'form/register-dialog.phtml', 'privacyChecked'=>$privacyChecked)), array('File', array('viewScript' => 'form/register-dialog.phtml', 'placement' => false))) ); diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php index ef6b9f2fa..f592c96ed 100644 --- a/airtime_mvc/application/forms/SupportSettings.php +++ b/airtime_mvc/application/forms/SupportSettings.php @@ -5,8 +5,8 @@ class Application_Form_SupportSettings extends Zend_Form public function init() { - $country_list = Application_Model_Preference::GetCountryList(); - + $country_list = Application_Model_Preference::GetCountryList(); + $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/support-setting.phtml')), array('File', array('viewScript' => 'form/support-setting.phtml', 'placement' => false))) @@ -161,10 +161,12 @@ class Application_Form_SupportSettings extends Zend_Form public function isValid ($data) { $isValid = parent::isValid($data); - $checkPrivacy = $this->getElement('Privacy'); - if($data["SupportFeedback"] == "1" && $data["Privacy"] != "1"){ - $checkPrivacy->addError("You have to agree to privacy policy."); - $isValid = false; + if(isset($data["Privacy"])){ + $checkPrivacy = $this->getElement('Privacy'); + if($data["SupportFeedback"] == "1" && $data["Privacy"] != "1"){ + $checkPrivacy->addError("You have to agree to privacy policy."); + $isValid = false; + } } return $isValid; } diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 4d8b10cbe..61114042b 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -367,5 +367,13 @@ class Application_Model_Preference public static function GetImportTimestamp(){ return Application_Model_Preference::GetValue("import_timestamp"); } + + public static function SetPrivacyPolicyCheck($flag){ + Application_Model_Preference::SetValue("privacy_policy", $flag); + } + + public static function GetPrivacyPolicyCheck(){ + return Application_Model_Preference::GetValue("privacy_policy"); + } } diff --git a/airtime_mvc/application/views/scripts/form/register-dialog.phtml b/airtime_mvc/application/views/scripts/form/register-dialog.phtml index 58a0d55b6..94244ae30 100644 --- a/airtime_mvc/application/views/scripts/form/register-dialog.phtml +++ b/airtime_mvc/application/views/scripts/form/register-dialog.phtml @@ -166,10 +166,14 @@

- + privacyChecked){?> + + + Terms and Conditions +
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/form/support-setting.phtml b/airtime_mvc/application/views/scripts/form/support-setting.phtml index bb24b89ed..7234a02ac 100644 --- a/airtime_mvc/application/views/scripts/form/support-setting.phtml +++ b/airtime_mvc/application/views/scripts/form/support-setting.phtml @@ -159,16 +159,20 @@

- - element->getElement('Privacy')->hasErrors()) : ?> - - + element->getView()->privacyChecked){?> + + element->getElement('Privacy')->hasErrors()) : ?> + + + + Terms and Conditions +
\ No newline at end of file diff --git a/airtime_mvc/public/js/airtime/preferences/support-setting.js b/airtime_mvc/public/js/airtime/preferences/support-setting.js index d22ee962c..acd3fe671 100644 --- a/airtime_mvc/public/js/airtime/preferences/support-setting.js +++ b/airtime_mvc/public/js/airtime/preferences/support-setting.js @@ -52,7 +52,10 @@ $(document).ready(function() { if(!$("#SupportFeedback").is(':checked')){ promote.removeAttr("checked"); promote.attr("disabled", true); + }else{ + promote.removeAttr("disabled"); } + promote.live('click', function(){ if($(this).is(':checked')){ $("#public-info").show();