CC-1960: Internationalize Airtime / Support translations

- overwrote default zend form error messages
This commit is contained in:
denise 2012-11-27 17:11:29 -05:00
parent 37ce75f686
commit 9acfb6c181
10 changed files with 94 additions and 29 deletions

View file

@ -10,6 +10,7 @@ require_once 'Preference.php';
require_once "DateHelper.php"; require_once "DateHelper.php";
require_once "OsPath.php"; require_once "OsPath.php";
require_once "Database.php"; require_once "Database.php";
require_once __DIR__.'/forms/helpers/ValidationTypes.php';
require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php';

View file

@ -4,6 +4,7 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
{ {
public function init() public function init()
{ {
$notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
// retrieves the length limit for each char field // retrieves the length limit for each char field
// and store to assoc array // and store to assoc array
$maxLens = Application_Model_Show::getMaxLengths(); $maxLens = Application_Model_Show::getMaxLengths();
@ -26,9 +27,8 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
'class' => 'input_text', 'class' => 'input_text',
'required' => true, 'required' => true,
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'validators' => array('NotEmpty'),
'value' => _('Untitled Show'), 'value' => _('Untitled Show'),
'validators' => array(array('StringLength', false, array(0, $maxLens['name']))) 'validators' => array($notEmptyValidator, array('StringLength', false, array(0, $maxLens['name'])))
)); ));
// Add URL element // Add URL element
@ -37,7 +37,7 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
'class' => 'input_text', 'class' => 'input_text',
'required' => false, 'required' => false,
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'validators' => array('NotEmpty', array('StringLength', false, array(0, $maxLens['url']))) 'validators' => array($notEmptyValidator, array('StringLength', false, array(0, $maxLens['url'])))
)); ));
// Add genre element // Add genre element

View file

@ -9,6 +9,12 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
array('ViewScript', array('viewScript' => 'form/add-show-when.phtml')) array('ViewScript', array('viewScript' => 'form/add-show-when.phtml'))
)); ));
$notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
$dateValidator = Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM-DD");
$regexValidator = Application_Form_Helper_ValidationTypes::overrideRegexValidator(
"/^[0-2]?[0-9]:[0-5][0-9]$/",
_("'%value%' does not fit the time format 'HH:mm'"));
// Add start date element // Add start date element
$startDate = new Zend_Form_Element_Text('add_show_start_date'); $startDate = new Zend_Form_Element_Text('add_show_start_date');
$startDate->class = 'input_text'; $startDate->class = 'input_text';
@ -17,8 +23,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
->setValue(date("Y-m-d")) ->setValue(date("Y-m-d"))
->setFilters(array('StringTrim')) ->setFilters(array('StringTrim'))
->setValidators(array( ->setValidators(array(
'NotEmpty', $notEmptyValidator,
array('date', false, array('YYYY-MM-DD')))) $dateValidator))
->setDecorators(array('ViewHelper')); ->setDecorators(array('ViewHelper'));
$startDate->setAttrib('alt', 'date'); $startDate->setAttrib('alt', 'date');
$this->addElement($startDate); $this->addElement($startDate);
@ -30,9 +36,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
->setValue('00:00') ->setValue('00:00')
->setFilters(array('StringTrim')) ->setFilters(array('StringTrim'))
->setValidators(array( ->setValidators(array(
'NotEmpty', $notEmptyValidator,
array('date', false, array('HH:mm')), $regexValidator
array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Time format should be HH:mm')))
))->setDecorators(array('ViewHelper')); ))->setDecorators(array('ViewHelper'));
$startTime->setAttrib('alt', 'time'); $startTime->setAttrib('alt', 'time');
$this->addElement($startTime); $this->addElement($startTime);
@ -45,8 +50,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
->setValue(date("Y-m-d")) ->setValue(date("Y-m-d"))
->setFilters(array('StringTrim')) ->setFilters(array('StringTrim'))
->setValidators(array( ->setValidators(array(
'NotEmpty', $notEmptyValidator,
array('date', false, array('YYYY-MM-DD')))) $dateValidator))
->setDecorators(array('ViewHelper')); ->setDecorators(array('ViewHelper'));
$endDate->setAttrib('alt', 'date'); $endDate->setAttrib('alt', 'date');
$this->addElement($endDate); $this->addElement($endDate);
@ -58,9 +63,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
->setValue('01:00') ->setValue('01:00')
->setFilters(array('StringTrim')) ->setFilters(array('StringTrim'))
->setValidators(array( ->setValidators(array(
'NotEmpty', $notEmptyValidator,
array('date', false, array('HH:mm')), $regexValidator))
array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Time format should be HH:mm')))))
->setDecorators(array('ViewHelper')); ->setDecorators(array('ViewHelper'));
$endTime->setAttrib('alt', 'time'); $endTime->setAttrib('alt', 'time');
$this->addElement($endTime); $this->addElement($endTime);

View file

@ -10,6 +10,8 @@ class Application_Form_AddUser extends Zend_Form
'../application/validate', '../application/validate',
'validate'); 'validate');
* */ * */
$notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
$emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator();
$this->setAttrib('id', 'user_form'); $this->setAttrib('id', 'user_form');
@ -21,6 +23,7 @@ class Application_Form_AddUser extends Zend_Form
$login->setLabel(_('Username:')); $login->setLabel(_('Username:'));
$login->setAttrib('class', 'input_text'); $login->setAttrib('class', 'input_text');
$login->setRequired(true); $login->setRequired(true);
$login->addValidator($notEmptyValidator);
$login->addFilter('StringTrim'); $login->addFilter('StringTrim');
//$login->addValidator('UserNameValidate'); //$login->addValidator('UserNameValidate');
$this->addElement($login); $this->addElement($login);
@ -30,21 +33,21 @@ class Application_Form_AddUser extends Zend_Form
$password->setAttrib('class', 'input_text'); $password->setAttrib('class', 'input_text');
$password->setRequired(true); $password->setRequired(true);
$password->addFilter('StringTrim'); $password->addFilter('StringTrim');
$password->addValidator('NotEmpty'); $password->addValidator($notEmptyValidator);
$this->addElement($password); $this->addElement($password);
$firstName = new Zend_Form_Element_Text('first_name'); $firstName = new Zend_Form_Element_Text('first_name');
$firstName->setLabel(_('Firstname:')); $firstName->setLabel(_('Firstname:'));
$firstName->setAttrib('class', 'input_text'); $firstName->setAttrib('class', 'input_text');
$firstName->addFilter('StringTrim'); $firstName->addFilter('StringTrim');
$firstName->addValidator('NotEmpty'); $firstName->addValidator($notEmptyValidator);
$this->addElement($firstName); $this->addElement($firstName);
$lastName = new Zend_Form_Element_Text('last_name'); $lastName = new Zend_Form_Element_Text('last_name');
$lastName->setLabel(_('Lastname:')); $lastName->setLabel(_('Lastname:'));
$lastName->setAttrib('class', 'input_text'); $lastName->setAttrib('class', 'input_text');
$lastName->addFilter('StringTrim'); $lastName->addFilter('StringTrim');
$lastName->addValidator('NotEmpty'); $lastName->addValidator($notEmptyValidator);
$this->addElement($lastName); $this->addElement($lastName);
$email = new Zend_Form_Element_Text('email'); $email = new Zend_Form_Element_Text('email');
@ -52,7 +55,8 @@ class Application_Form_AddUser extends Zend_Form
$email->setAttrib('class', 'input_text'); $email->setAttrib('class', 'input_text');
$email->addFilter('StringTrim'); $email->addFilter('StringTrim');
$email->setRequired(true); $email->setRequired(true);
$email->addValidator('EmailAddress'); $email->addValidator($notEmptyValidator);
$email->addValidator($emailValidator);
$this->addElement($email); $this->addElement($email);
$cellPhone = new Zend_Form_Element_Text('cell_phone'); $cellPhone = new Zend_Form_Element_Text('cell_phone');
@ -71,7 +75,7 @@ class Application_Form_AddUser extends Zend_Form
$jabber->setLabel(_('Jabber:')); $jabber->setLabel(_('Jabber:'));
$jabber->setAttrib('class', 'input_text'); $jabber->setAttrib('class', 'input_text');
$jabber->addFilter('StringTrim'); $jabber->addFilter('StringTrim');
$jabber->addValidator('EmailAddress'); $jabber->addValidator($emailValidator);
$this->addElement($jabber); $this->addElement($jabber);
$select = new Zend_Form_Element_Select('type'); $select = new Zend_Form_Element_Select('type');

View file

@ -49,9 +49,9 @@ class Application_Form_EditAudioMD extends Zend_Form
'class' => 'input_text', 'class' => 'input_text',
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'validators' => array( 'validators' => array(
array('date', false, array('YYYY-MM-DD')), Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM-DD"),
array('date', false, array('YYYY-MM')), Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM"),
array('date', false, array('YYYY')) Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY")
) )
)); ));

View file

@ -6,6 +6,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm
public function init() public function init()
{ {
$notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
$this->setDecorators(array( $this->setDecorators(array(
array('ViewScript', array('viewScript' => 'form/preferences_general.phtml')) array('ViewScript', array('viewScript' => 'form/preferences_general.phtml'))
)); ));
@ -31,9 +32,9 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm
$this->addElement('text', 'stationDefaultFade', array( $this->addElement('text', 'stationDefaultFade', array(
'class' => 'input_text', 'class' => 'input_text',
'label' => _('Default Fade (s):'), 'label' => _('Default Fade (s):'),
'required' => false, 'required' => true,
'filters' => array('StringTrim'), 'filters' => array('StringTrim'),
'validators' => array(array('regex', false, 'validators' => array(array($notEmptyValidator, 'regex', false,
array('/^[0-9]{1,2}(\.\d{1})?$/', array('/^[0-9]{1,2}(\.\d{1})?$/',
'messages' => _('enter a time in seconds 0{.0}')))), 'messages' => _('enter a time in seconds 0{.0}')))),
'value' => $defaultFade, 'value' => $defaultFade,

View file

@ -9,12 +9,14 @@ class Application_Form_PasswordChange extends Zend_Form
$this->setDecorators(array( $this->setDecorators(array(
array('ViewScript', array('viewScript' => 'form/password-change.phtml')) array('ViewScript', array('viewScript' => 'form/password-change.phtml'))
)); ));
$notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator();
$this->addElement('password', 'password', array( $this->addElement('password', 'password', array(
'label' => _('Password'), 'label' => _('Password'),
'required' => true, 'required' => true,
'filters' => array('stringTrim'), 'filters' => array('stringTrim'),
'validators' => array( 'validators' => array($notEmptyValidator,
array('stringLength', false, array(6, 80)), array('stringLength', false, array(6, 80)),
), ),
'decorators' => array( 'decorators' => array(
@ -31,7 +33,7 @@ class Application_Form_PasswordChange extends Zend_Form
return $value == $context['password']; return $value == $context['password'];
}), }),
), ),
'errorMessages' => array("Password confirmation does not match your password."), 'errorMessages' => array(_("Password confirmation does not match your password.")),
'decorators' => array( 'decorators' => array(
'ViewHelper' 'ViewHelper'
) )

View file

@ -7,9 +7,7 @@ class ConditionalNotEmpty extends Zend_Validate_Abstract
{ {
const KEY_IS_EMPTY = 'keyIsEmpty'; const KEY_IS_EMPTY = 'keyIsEmpty';
protected $_messageTemplates = array( protected $_messageTemplates;
self::KEY_IS_EMPTY => 'Value is required and can\'t be empty'
);
protected $_fieldValues; protected $_fieldValues;
@ -24,6 +22,9 @@ class ConditionalNotEmpty extends Zend_Validate_Abstract
public function __construct($fieldValues) public function __construct($fieldValues)
{ {
$this->_fieldValues = $fieldValues; $this->_fieldValues = $fieldValues;
$this->_messageTemplates = array(
self::KEY_IS_EMPTY => _("Value is required and can't be empty")
);
} }
/** /**

View file

@ -0,0 +1,52 @@
<?php
Class Application_Form_Helper_ValidationTypes {
public static function overrideNotEmptyValidator()
{
$validator = new Zend_Validate_NotEmpty();
$validator->setMessage(
_("Value is required and can't be empty"),
Zend_Validate_NotEmpty::IS_EMPTY
);
return $validator;
}
public static function overrideEmailAddressValidator()
{
$validator = new Zend_Validate_EmailAddress();
$validator->setMessage(
_("'%value%' is no valid email address in the basic format local-part@hostname"),
Zend_Validate_EmailAddress::INVALID_FORMAT
);
return $validator;
}
public static function overrrideDateValidator($p_format)
{
$validator = new Zend_Validate_Date();
$validator->setFormat($p_format);
$validator->setMessage(
_("'%value%' does not fit the date format '%format%'"),
Zend_Validate_Date::FALSEFORMAT
);
return $validator;
}
public static function overrideRegexValidator($p_pattern, $p_msg)
{
$validator = new Zend_Validate_Regex($p_pattern);
$validator->setMessage(
$p_msg,
Zend_Validate_Regex::NOT_MATCH
);
return $validator;
}
}

View file

@ -33,7 +33,7 @@ class Application_Model_Auth
$message = sprintf(_("Hi %s, \n\nClick this link to reset your password: "), $user->getDbLogin()); $message = sprintf(_("Hi %s, \n\nClick this link to reset your password: "), $user->getDbLogin());
$message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}"; $message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}";
$success = Application_Model_Email::send('Airtime Password Reset', $message, $user->getDbEmail()); $success = Application_Model_Email::send(_('Airtime Password Reset'), $message, $user->getDbEmail());
return $success; return $success;
} }