public function configure()
 {
     sfValidatorBase::setDefaultMessage('required', __('GENERAL_REQUIRED_FIELD_ERROR'));
     sfValidatorBase::setDefaultMessage('min_length', sprintf(__('GENERAL_FIELD_TOO_SHORT_ERROR'), '"%value%"', '%min_length%'));
     $items = PcTimezonePeer::doSelect(new Criteria());
     $tzs = array();
     foreach ($items as $item) {
         $tzs[$item->getLabel()] = $item->getDescription();
     }
     $this->setWidgets(array('email' => new sfWidgetFormInputText(), 'password1' => new sfWidgetFormInputPassword(), 'password2' => new sfWidgetFormInputPassword(), 'lang' => new sfWidgetFormInputHidden(), 'tz' => new sfWidgetFormInputHidden(array('default' => self::TIMEZONE_DEFAULT_VALUE)), 'dst_on' => new sfWidgetFormInputHidden(array('default' => 0))));
     $this->setValidators(array('password1' => new sfValidatorString(array('max_length' => sfConfig::get('app_password_maxLength'), 'min_length' => sfConfig::get('app_password_minLength'))), 'password2' => new sfValidatorString(array('max_length' => sfConfig::get('app_password_maxLength'), 'min_length' => sfConfig::get('app_password_minLength'))), 'tz' => new sfValidatorString(), 'lang' => new sfValidatorString(array('max_length' => 8, 'required' => false)), 'dst_on' => new sfValidatorString(array('max_length' => 1))));
     $emailDomainsBlacklistedInRegistration = sfConfig::get('app_site_emailDomainsBlacklistedInRegistration');
     foreach ($emailDomainsBlacklistedInRegistration as $k => $v) {
         $emailDomainsBlacklistedInRegistration[$k] = str_replace('.', '\\.', $v);
     }
     $emailDomainsBlacklistedInRegistration = implode('|', $emailDomainsBlacklistedInRegistration);
     $this->validatorSchema['email'] = new sfValidatorAnd(array(new sfValidatorEmail(array('required' => true, 'max_length' => sfConfig::get('app_email_maxLength'), 'min_length' => sfConfig::get('app_email_minLength'))), new sfValidatorRegex(array('pattern' => '/@(' . $emailDomainsBlacklistedInRegistration . ')(\\b|$)/si', 'must_match' => false), array('invalid' => 'Domain blocked - please use another email'))), array(), array());
     $this->mergePostValidator(new sfValidatorSchemaCompare('password1', '==', 'password2', array(), array('invalid' => __('WEBSITE_REGISTRATION_PASSWORD_MISMATCH_ERROR'))));
     $this->mergePostValidator(new sfValidatorDetectingSpammersOnRegistration(null, array(), array('invalid' => __('WEBSITE_REGISTRATION_PASSWORD_MISMATCH_ERROR'))));
     $this->widgetSchema->setLabels(array('email' => __('WEBSITE_REGISTRATION_EMAIL_ADDRESS_LABEL'), 'password1' => __('WEBSITE_REGISTRATION_CHOOSE_PASSWORD_LABEL'), 'password2' => __('WEBSITE_REGISTRATION_REPEAT_PASSWORD_LABEL')));
     $this->widgetSchema->setNameFormat('registration[%s]');
     // {{{ START: anti-spam (see sfValidatorTimerAntiSpam class)
     $this->widgetSchema['asdf'] = new sfWidgetFormInputHidden(array(), array('value' => base64_encode(time())));
     $this->validatorSchema['asdf'] = new sfValidatorTimerAntiSpam();
     // }}} STOP: anti-spam
 }
 public function configure()
 {
     $items = PcTimezonePeer::doSelect(new Criteria());
     $tzs = array();
     foreach ($items as $item) {
         $tzs[$item->getLabel()] = $item->getDescription();
     }
     $this->setWidgets(array('tz' => new sfWidgetFormSelect(array('choices' => $tzs, 'default' => '00:00,0')), 'dst_on' => new sfWidgetFormInputCheckbox(array('default' => 0))));
     $this->setValidators(array('tz' => new sfValidatorString(), 'dst_on' => new sfValidatorString(array('required' => false, 'max_length' => 3))));
     $this->widgetSchema->setLabels(array('tz' => __('ACCOUNT_SETTINGS_SELECT_TIMEZONE'), 'dst_on' => __('ACCOUNT_SETTINGS_DAYLIGHT_SAVING_ACTIVE')));
     $this->widgetSchema->setNameFormat('timezone[%s]');
 }
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(PcTimezonePeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(PcTimezonePeer::DATABASE_NAME);
         $criteria->add(PcTimezonePeer::ID, $pks, Criteria::IN);
         $objs = PcTimezonePeer::doSelect($criteria, $con);
     }
     return $objs;
 }