<?php require_once 'Zend/Locale.php'; class Application_Form_BillingPurchase extends Zend_Form { public function init() { /*$this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/billing-purchase.phtml'))));*/ $client = BillingController::getClientDetails(); $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator(); $firstname = new Zend_Form_Element_Text('firstname'); $firstname->setLabel(_('First Name:')) ->setValue($client["firstname"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($firstname); $lastname = new Zend_Form_Element_Text('lastname'); $lastname->setLabel(_('Last Name:')) ->setValue($client["lastname"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($lastname); $companyname = new Zend_Form_Element_Text('companyname'); $companyname->setLabel(_('Company Name:')) ->setValue($client["companyname"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($companyname); $email = new Zend_Form_Element_Text('email'); $email->setLabel(_('Email Address:')) ->setValue($client["email"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->setAttrib('readonly', 'readonly') ->addValidator($emailValidator) ->addFilter('StringTrim'); $this->addElement($email); $address1 = new Zend_Form_Element_Text('address1'); $address1->setLabel(_('Address 1:')) ->setValue($client["address1"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($address1); $address2 = new Zend_Form_Element_Text('address2'); $address2->setLabel(_('Address 2:')) ->setValue($client["address2"]) ->setAttrib('class', 'input_text') ->addFilter('StringTrim'); $this->addElement($address2); $city = new Zend_Form_Element_Text('city'); $city->setLabel(_('City:')) ->setValue($client["city"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($city); //TODO: get list from whmcs? $state = new Zend_Form_Element_Text('state'); $state->setLabel(_('State/Region:')) ->setValue($client["state"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($state); $postcode = new Zend_Form_Element_Text('postcode'); $postcode->setLabel(_('Zip Code:')) ->setValue($client["postcode"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($postcode); $locale = new Zend_Locale('en_US'); $countries = $locale->getTranslationList('Territory', 'en', 2); asort($countries, SORT_LOCALE_STRING); $country = new Zend_Form_Element_Select('country'); $country->setLabel(_('Country:')) ->setValue($client["country"]) ->setAttrib('class', 'input_text') ->setMultiOptions($countries) ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($country); $phonenumber = new Zend_Form_Element_Text('phonenumber'); $phonenumber->setLabel(_('Phone Number:')) ->setValue($client["phonenumber"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($phonenumber); //TODO: get list from whmcs $securityqid = new Zend_Form_Element_Text('securityqid'); $securityqid->setLabel(_('Please choose a security question:')) ->setValue($client["securityqid"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($securityqid); $securityqans = new Zend_Form_Element_Text('securityqans'); $securityqans->setLabel(_('Please enter an answer:')) ->setValue($client["securityqans"]) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($securityqans); foreach ($client["customfields"] as $field) { if ($field["id"] == 7) { $vatvalue = $field["value"]; } elseif ($field["id"] == 71) { $subscribevalue = $field["value"]; } } $vat = new Zend_Form_Element_Text('vat'); $vat->setLabel(_('VAT/Tax ID (EU only)')) ->setValue($vatvalue) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($vat); $subscribe = new Zend_Form_Element_Checkbox('subscribe'); $subscribe->setLabel(_('Subscribe to Sourcefabric newsletter')) ->setValue($subscribevalue) ->setAttrib('class', 'input_text') ->setRequired(true) ->addValidator($notEmptyValidator) ->addFilter('StringTrim'); $this->addElement($subscribe); $password = new Zend_Form_Element_Password('whmcspassword'); $password->setLabel(_('Password:')); $password->setAttrib('class', 'input_text'); $password->setRequired(true); $password->addFilter('StringTrim'); $password->addValidator($notEmptyValidator); $this->addElement($password); $passwordVerify = new Zend_Form_Element_Password('whmcspasswordVerify'); $passwordVerify->setLabel(_('Verify Password:')); $passwordVerify->setAttrib('class', 'input_text'); $passwordVerify->setRequired(true); $passwordVerify->addFilter('StringTrim'); $passwordVerify->addValidator($notEmptyValidator); $this->addElement($passwordVerify); } }