Пример #1
0
 /**
  * get all the custom parameter fields 
  */
 public static function getParameters($panelId, $form)
 {
     $parametersForm = new Zend_Form_SubForm();
     // Get the list field
     $fields = Doctrine::getTable('Panels')->find($panelId, Doctrine_Core::HYDRATE_ARRAY);
     $parameters = !empty($fields['params']) ? json_decode($fields['params'], true) : array();
     // Set the decorator
     $parametersForm->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     foreach ($parameters as $field => $value) {
         // Create the custom field
         $parametersForm->addElement('text', $field, array('filters' => array('StringTrim'), 'label' => $field, 'decorators' => array('Composite'), 'class' => 'form-control', 'value' => $value));
     }
     // Add the subform
     $form->addSubForm($parametersForm, 'parameters');
     return $form;
 }
Пример #2
0
 /**
  * Create the custom registrars parameters
  *
  * @param integer $attribute_group_id
  */
 public static function createRegistrarForm($form, $registrar_name)
 {
     $config = null;
     $attributeForm = new Zend_Form_SubForm();
     $attributeForm->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     $configfile = PROJECT_PATH . "/library/Shineisp/Plugins/Registrars/" . $registrar_name . "/config.xml";
     if (file_exists($configfile)) {
         $config = simplexml_load_file($configfile);
         foreach ($config->settings->children() as $node) {
             $arr = $node->attributes();
             $var = strtolower($config['var']) . "_" . (string) $arr['var'];
             $label = (string) $arr['label'];
             $type = (string) $arr['type'];
             $description = (string) $arr['description'];
             $default = (string) $arr['default'];
             $required = (string) $arr['required'];
             if (!empty($var) && !empty($label) && !empty($type)) {
                 // Create the element
                 $attributeForm->addElement($type, $var, array('label' => $label, 'class' => 'form-control', 'decorators' => array('Bootstrap'), 'description' => $description));
                 if ($required) {
                     $attributeForm->getElement($var)->setRequired(true);
                 }
                 // Handle the default option items for the dropdown selector
                 if ($type == "select") {
                     $items = trim((string) $node);
                     $data = !empty($items) ? json_decode($items, true) : array();
                     $attributeForm->getElement($var)->setAllowEmpty(false)->setRegisterInArrayValidator(false)->setMultiOptions($data);
                 }
                 if (!empty($default)) {
                     $attributeForm->getElement($var)->setValue($default);
                 }
                 $form->addSubForm($attributeForm, 'settings');
             }
         }
     }
     return array($form, $config);
 }
Пример #3
0
 public function init()
 {
     // Set the custom decorator
     $this->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     $translate = Shineisp_Registry::get('Zend_Translate');
     $this->addElement('textarea', 'note', array('filters' => array('StringTrim'), 'required' => false, 'decorators' => array('Bootstrap'), 'rows' => 5, 'description' => $translate->_('Write here a message for the administrator about this domain.'), 'class' => 'form-control'));
     $this->addElement('text', 'tags', array('filters' => array('StringTrim'), 'required' => false, 'decorators' => array('Bootstrap'), 'label' => $translate->_('Tags'), 'class' => 'form-control large-input tags'));
     $this->addElement('text', 'authinfocode', array('filters' => array('StringTrim'), 'required' => false, 'decorators' => array('Bootstrap'), 'label' => $translate->_('Authinfo'), 'class' => 'form-control medium-input'));
     $this->addElement('select', 'autorenew', array('filters' => array('StringTrim'), 'decorators' => array('Bootstrap'), 'label' => $translate->_('Autorenew'), 'description' => $translate->_('By default, every domain is set with auto-renew option enabled. Choose if the domain must be auto-renew or not at the expiring date.'), 'class' => 'form-control large-input'));
     $this->getElement('autorenew')->setAllowEmpty(false)->setMultiOptions(array('1' => $translate->_('Yes, I would like to renew the domain at the expiration date.'), '0' => $translate->_('No, I am not interested in the renew.')));
     $status = $this->addElement('select', 'status_id', array('label' => $translate->_('Status'), 'decorators' => array('Bootstrap'), 'class' => 'form-control large-input'));
     $status = $this->getElement('status_id')->setAllowEmpty(false)->setRegisterInArrayValidator(false)->setMultiOptions(Statuses::getList('domains'));
     $this->addElement('submit', 'submit', array('label' => $translate->_('Save'), 'decorators' => array('Bootstrap'), 'class' => 'btn btn-primary btn-lg'));
     // Adding a subform
     $dnsform = new Zend_Form_SubForm();
     // Set the decorator
     $dnsform->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     $dnsform->addElement('text', 'subdomain', array('filters' => array('StringTrim'), 'decorators' => array('Bootstrap'), 'label' => $translate->_('Subdomain'), 'class' => 'form-control medium-input'));
     $dnsform->addElement('select', 'zones', array('filters' => array('StringTrim'), 'decorators' => array('Bootstrap'), 'label' => $translate->_('DNS Type Zone'), 'class' => 'form-control large-input'));
     $dnsform->getElement('zones')->setAllowEmpty(false)->setMultiOptions(Dns_Zones_Types::getZones());
     $dnsform->addElement('text', 'target', array('filters' => array('StringTrim'), 'decorators' => array('Bootstrap'), 'label' => $translate->_('Target Address'), 'class' => 'form-control large-input'));
     $this->addSubForm($dnsform, 'dnsform');
     $id = $this->addElement('hidden', 'domain_id');
 }
Пример #4
0
 /**
  * Create the attribute elements
  * 
  * 
  * @param integer $attribute_group_id
  */
 private function createAttributesElements($form, $group_id)
 {
     $attributeForm = new Zend_Form_SubForm();
     $attributeForm->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     if (is_numeric($group_id)) {
         // Get all the elements
         $elements = ProductsAttributesGroups::getAttributesProfiles($group_id, $this->session->langid);
         if (!empty($elements[0])) {
             foreach ($elements as $element) {
                 if (!empty($element['ProductsAttributes'])) {
                     // Check the label
                     $label = !empty($element['ProductsAttributes']['ProductsAttributesData'][0]['label']) ? $element['ProductsAttributes']['ProductsAttributesData'][0]['label'] : $element['ProductsAttributes']['code'];
                     $description = !empty($element['ProductsAttributes']['ProductsAttributesData'][0]['description']) ? $element['ProductsAttributes']['ProductsAttributesData'][0]['description'] : "";
                     // Create the element
                     $attributeForm->addElement($element['ProductsAttributes']['type'], $element['ProductsAttributes']['code'], array('label' => $label, 'class' => 'form-control', 'decorators' => array('Composite'), 'description' => $description));
                     if ($element['ProductsAttributes']['is_required']) {
                         $attributeForm->getElement($element['ProductsAttributes']['code'])->setRequired(true);
                     }
                     // Handle the default option items for the dropdown selector
                     if ($element['ProductsAttributes']['type'] == "select") {
                         $data = !empty($element['ProductsAttributes']['defaultvalue']) ? json_decode($element['ProductsAttributes']['defaultvalue'], true) : array();
                         $attributeForm->getElement($element['ProductsAttributes']['code'])->setAllowEmpty(false)->setRegisterInArrayValidator(false)->setMultiOptions($data);
                     } else {
                         $attributeForm->getElement($element['ProductsAttributes']['code'])->setValue($element['ProductsAttributes']['defaultvalue']);
                     }
                 }
             }
             $form->addSubForm($attributeForm, 'attributes');
         }
     }
     return $form;
 }
Пример #5
0
 /**
  * get all the custom external fields 
  */
 public static function getElements(Zend_Form $form, $section = "customers", $panel_id = null)
 {
     $attributeForm = new Zend_Form_SubForm();
     // Get the list field
     $fields = Doctrine_Query::create()->from('CustomAttributes ca')->andWhere("ca.section = ?", $section)->andWhere('ca.panel_id = ? OR ca.panel_id IS ?', array(intval($panel_id), null))->execute(array(), Doctrine_Core::HYDRATE_ARRAY);
     // Set the decorator
     $attributeForm->addElementPrefixPath('Shineisp_Decorator', 'Shineisp/Decorator/', 'decorator');
     foreach ($fields as $field) {
         // Create the custom field
         $attributeForm->addElement($field['type'], $field['var'], array('filters' => array('StringTrim'), 'label' => $field['label'], 'decorators' => array('Composite'), 'class' => 'form-control'));
     }
     // Add the subform
     $form->addSubForm($attributeForm, 'attributes');
     return $form;
 }