Merge branch '1.9.1' into devel

Conflicts:
	VERSION
	airtime_mvc/application/configs/constants.php
	airtime_mvc/application/models/Preference.php
	install_minimal/include/airtime-db-install.php
	install_minimal/include/airtime-upgrade.php
	python_apps/api_clients/api_client.py
This commit is contained in:
James 2011-08-24 10:30:59 -04:00
commit 9eb21cb327
27 changed files with 686 additions and 95 deletions

View file

@ -434,6 +434,13 @@ class ApiController extends Zend_Controller_Action
}
$this->view->stor = MusicDir::getStorDir()->getDirectory();
$watchedDirs = MusicDir::getWatchedDirs();
$watchedDirsPath = array();
foreach($watchedDirs as $wd){
$watchedDirsPath[] = $wd->getDirectory();
}
$this->view->watched_dirs = $watchedDirsPath;
}
public function reloadMetadataAction() {

View file

@ -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,6 +52,9 @@ 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{

View file

@ -62,24 +62,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 = "<div class='success'>Support setting updated.</div>";
}
}
@ -87,7 +92,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()

View file

@ -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)))
);
@ -143,5 +148,22 @@ class Application_Form_RegisterAirtime extends Zend_Form
->setDecorators(array('ViewHelper'));
$this->addElement($checkboxPrivacy);
}
// overriding isValid function
public function isValid ($data)
{
$isValid = parent::isValid($data);
if($data['Publicise'] != 1){
$isValid = true;
}
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;
}
}

View file

@ -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)))
@ -157,14 +157,19 @@ class Application_Form_SupportSettings extends Zend_Form
$this->addElement($submit);
}
// overwriting isValid function
// overriding isValid function
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($data['Publicise'] != 1){
$isValid = true;
}
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;
}

View file

@ -386,5 +386,13 @@ class Application_Model_Preference
$sb = Application_Model_Preference::GetValue("stream_bitrate");
return explode(',', $sb);
}
public static function SetPrivacyPolicyCheck($flag){
Application_Model_Preference::SetValue("privacy_policy", $flag);
}
public static function GetPrivacyPolicyCheck(){
return Application_Model_Preference::GetValue("privacy_policy");
}
}

View file

@ -166,10 +166,14 @@
</div>
<div>
<br>
<label class="optional" for="Privacy">
<?php echo $this->element->getElement('Privacy') ?>
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
</label>
<?php if(!$this->privacyChecked){?>
<label class="optional" for="Privacy">
<?php echo $this->element->getElement('Privacy') ?>
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
</label>
<?php }else{?>
<a id="link_to_terms_and_condition" href="http://www.sourcefabric.org/en/about/policy/" onclick="window.open(this.href); return false;">Terms and Conditions</a>
<?php }?>
</div>
</form>
</div>

View file

@ -159,16 +159,20 @@
</div>
<div>
<br>
<label class="optional" for="Privacy">
<?php echo $this->element->getElement('Privacy') ?>
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
</label>
<?php if($this->element->getElement('Privacy')->hasErrors()) : ?>
<ul class='errors'>
<?php foreach($this->element->getElement('Privacy')->getMessages() as $error): ?>
<li><?php echo $error; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if(!$this->element->getView()->privacyChecked){?>
<label class="optional" for="Privacy">
<?php echo $this->element->getElement('Privacy') ?>
<?php echo $this->element->getElement('Privacy')->getLabel() ?>
</label>
<?php if($this->element->getElement('Privacy')->hasErrors()) : ?>
<ul class='errors'>
<?php foreach($this->element->getElement('Privacy')->getMessages() as $error): ?>
<li><?php echo $error; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php }else{?>
<a id="link_to_terms_and_condition" href="http://www.sourcefabric.org/en/about/policy/" onclick="window.open(this.href); return false;">Terms and Conditions</a>
<?php }?>
</div>
</fieldset>