예제 #1
0
 /**
  * Return the list of stores that can be selected to be configured (i.e. haven't
  * been configured already), organised by website name and group name.
  *
  * @return array
  */
 protected function getCmsMappingsHtml()
 {
     $element = new Varien_Data_Form_Element_Text(array("name" => "excludedpages", "label" => $this->__("Exclude CMS pages from search"), "tooltip" => "", "hint" => "", "value" => Mage::helper("content")->getCmsPageMap($this->getStore()), "inherit" => false, "class" => "", "can_use_default_value" => false, "can_use_website_value" => false));
     $element->setForm(new Varien_Data_Form());
     /** @var Klevu_Search_Block_Adminhtml_Form_Field_Attribute_Mappings $renderer */
     $renderer = Mage::getBlockSingleton("content/adminhtml_form_cmspages");
     $renderer->setTemplate("klevu/search/wizard/form/field/array.phtml");
     return $renderer->render($element);
 }
예제 #2
0
 protected function getAttributeMappingsHtml()
 {
     $element = new Varien_Data_Form_Element_Text(array("name" => "attributes", "label" => $this->__("Additional Attributes"), "comment" => $this->__('Here you can set optional product attributes sent to Klevu by mapping them to your Magento attributes. If you specify multiple mappings for the same Klevu attribute, only the first mapping found on the product sent will be used, except for the "Other" attribute where all existing mappings are used.'), "tooltip" => "", "hint" => "", "value" => Mage::helper("klevu_search/config")->getAdditionalAttributesMap($this->getStore()), "inherit" => false, "class" => "", "can_use_default_value" => false, "can_use_website_value" => false));
     $element->setForm(new Varien_Data_Form());
     /** @var Klevu_Search_Block_Adminhtml_Form_Field_Attribute_Mappings $renderer */
     $renderer = Mage::getBlockSingleton("klevu_search/adminhtml_form_field_attribute_mappings");
     $renderer->setTemplate("klevu/search/wizard/form/field/array.phtml");
     return $renderer->render($element);
 }
예제 #3
0
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     $html = '<script type="text/javascript" src="' . Mage::getBaseUrl('js') . 'chartmap/systemcolorpicker/procolor-1.0/procolor.compressed.js' . '"></script>';
     $input = new Varien_Data_Form_Element_Text();
     $input->setForm($element->getForm())->setElement($element)->setValue($element->getValue())->setHtmlId($element->getHtmlId())->setName($element->getName())->setStyle('width: 100px')->addClass('validate-hex');
     $html .= $input->getHtml();
     $html .= $this->_getProcolorJs($element->getHtmlId());
     $html .= $this->_addHexValidator();
     return $html;
 }
 /**
  * Render Media Chooser HTML without form element as parameter
  * Can be useful for dynamic fields integration like it is done in Mage_Poll module for example
  *
  * @param $id
  * @param null $value
  *
  * @return string
  */
 public function renderWithoutFormElement($id, $value = null)
 {
     $dummyForm = new Varien_Data_Form();
     $dummyElement = new Varien_Data_Form_Element_Text();
     $dummyElement->setHtmlId($id);
     $dummyElement->setValue($value);
     $dummyElement->setForm($dummyForm);
     $html = $this->render($dummyElement);
     return $html->getAfterElementHtml();
 }
예제 #5
0
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     $color = new Varien_Data_Form_Element_Text();
     $data = array('name' => $element->getName(), 'html_id' => $element->getId());
     $color->setData($data);
     $color->setValue($element->getValue(), $format);
     $color->setForm($element->getForm());
     $color->addClass('color ' . $element->getClass());
     return $color->getElementHtml();
 }
예제 #6
0
 public function prepareElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     $config = $this->getConfig();
     $chooseButton = $this->getLayout()->createBlock('adminhtml/widget_button')->setType('button')->setClass('scalable btn-chooser')->setLabel($config['button']['open'])->setOnclick('MediabrowserUtility.openDialog(\'' . $this->getUrl('*/cms_wysiwyg_images/index', array('target_element_id' => $element->getName())) . '\')')->setDisabled($element->getReadonly());
     $text = new Varien_Data_Form_Element_Text();
     $text->setForm($element->getForm())->setId($element->getName())->setName($element->getName())->setClass('widget-option input-text');
     if ($element->getRequired()) {
         $text->addClass('required-entry');
     }
     if ($element->getValue()) {
         $text->setValue($element->getValue());
     }
     $element->setData('after_element_html', $text->getElementHtml() . $chooseButton->toHtml());
     return $element;
 }
예제 #7
0
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     $days = new Varien_Data_Form_Element_Text();
     $data = array('name' => $element->getName(), 'html_id' => $element->getId());
     $days->setData($data);
     if (is_numeric($element->getValue())) {
         $days->setValue($element->getValue());
     } else {
         $days->setValue(30);
     }
     $days->setForm($element->getForm());
     $html = $days->getElementHtml();
     $javaScript = "\n            <script type=\"text/javascript\">\n                Event.observe(window, 'load', function() {\n                    days=\$('{$element->getHtmlId()}').value;\n                    if (isNaN(days)) {\n                        \$('{$element->getHtmlId()}').value = '';\n                    }\n                });\n                Event.observe('{$element->getHtmlId()}', 'change', function(){\n                    days=\$('{$element->getHtmlId()}').value;\n                    if (isNaN(days)) {\n                        \$('{$element->getHtmlId()}').value = '';\n                    }\n                });\n            </script>";
     $html .= $javaScript;
     return $html;
 }
 /**
  * Generate HTML code for color picker
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     // Include Procolor library JS file which is in [magento_base_dir]/js/herve/systemcolorpicker/procolor-1.0/procolor.compressed.js
     $html = '<script type="text/javascript" src="' . Mage::getBaseUrl('js') . 'herve/systemcolorpicker/procolor-1.0/procolor.compressed.js' . '"></script>';
     // Use Varien text element as a basis
     $input = new Varien_Data_Form_Element_Text();
     // Set data from config element on Varien text element
     $input->setForm($element->getForm())->setElement($element)->setValue($element->getValue())->setHtmlId($element->getHtmlId())->setName($element->getName())->setStyle('width: 60px')->addClass('validate-hex');
     // Add some Prototype validation to make sure color code is correct
     // Inject uddated Varien text element HTML in our current HTML
     $html .= $input->getHtml();
     // Inject Procolor JS code to display color picker
     $html .= $this->_getProcolorJs($element->getHtmlId());
     // Inject Prototype validation
     $html .= $this->_addHexValidator();
     return $html;
 }
예제 #9
0
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     if (!class_exists('Conekta')) {
         error_log("Plugin miss Conekta PHP lib dependency. Clone the repository using 'git clone --recursive git@github.com:conekta/conekta-magento.git'", 0);
         throw new Mage_Payment_Model_Info_Exception("Payment module unavailable. Please contact system administrator.");
     }
     Conekta::setApiKey(Mage::getStoreConfig('payment/webhook/privatekey'));
     Conekta::setApiVersion("1.0.0");
     Conekta::setLocale(Mage::app()->getLocale()->getLocaleCode());
     $url = new Varien_Data_Form_Element_Text();
     $data = array('name' => $element->getName(), 'html_id' => $element->getId());
     $url->setData($data);
     $webhook_url = Mage::getBaseUrl() . "index.php/webhook/ajax/listener";
     if (!empty($element->getValue())) {
         $url_string = $element->getValue();
     } else {
         $url_string = $webhook_url;
     }
     $url->setValue($url_string);
     $events = array("events" => array("charge.created", "charge.paid", "charge.under_fraud_review", "charge.fraudulent", "charge.refunded", "charge.created", "customer.created", "customer.updated", "customer.deleted", "webhook.created", "webhook.updated", "webhook.deleted", "charge.chargeback.created", "charge.chargeback.updated", "charge.chargeback.under_review", "charge.chargeback.lost", "charge.chargeback.won", "payout.created", "payout.retrying", "payout.paid_out", "payout.failed", "plan.created", "plan.updated", "plan.deleted", "subscription.created", "subscription.paused", "subscription.resumed", "subscription.canceled", "subscription.expired", "subscription.updated", "subscription.paid", "subscription.payment_failed", "payee.created", "payee.updated", "payee.deleted", "payee.payout_method.created", "payee.payout_method.updated", "payee.payout_method.deleted"));
     $error = false;
     $error_message = null;
     try {
         $different = true;
         $webhooks = Conekta_Webhook::where();
         foreach ($webhooks as $webhook) {
             if (strpos($webhook->webhook_url, $url_string) !== false) {
                 $different = false;
             }
         }
         if ($different) {
             $webhook = Conekta_Webhook::create(array_merge(array("url" => $url_string), $events));
         }
     } catch (Exception $e) {
         $error = true;
         $error_message = $e->getMessage();
     }
     $url->setForm($element->getForm());
     $html = $url->getElementHtml();
     $javaScript = "\n    <script type=\"text/javascript\">\n    Event.observe(window, 'load', function() {\n      alert('" . $error_message . "');\n    });\n    </script>";
     if ($error) {
         $html .= $javaScript;
     }
     return $html;
 }
예제 #10
0
 /**
  * Set form to quantity element in addition to current element
  *
  * @param $form
  * @return Varien_Data_Form
  */
 public function setForm($form)
 {
     $this->_qty->setForm($form);
     return parent::setForm($form);
 }
 /**
  * @param Varien_Data_Form_Element_Abstract $element
  * @return Varien_Data_Form_Element_Text
  */
 protected function _getFieldInput(Varien_Data_Form_Element_Abstract $element)
 {
     $fieldInput = new Varien_Data_Form_Element_Text();
     $fieldInput->setForm($element->getForm())->setId($element->getId())->setName($element->getName())->setClass('widget-option input-text');
     if ($element->getRequired()) {
         $fieldInput->addClass('required-entry');
     }
     if ($element->getValue()) {
         $fieldInput->setValue($element->getValue());
     }
     return $fieldInput;
 }
예제 #12
0
 /**
  * Add params to form
  * @param array $params
  * @param Varien_Object $_transport
  */
 public function addParamsToForm(array $params, Varien_Object &$_transport)
 {
     $_form = new Varien_Data_Form();
     foreach ($params as $name => $value) {
         $_element = new Varien_Data_Form_Element_Text();
         //init element
         $_element->setType("hidden");
         $_element->setForm($_form);
         //Add Element to empty form
         //Handle dynamic params
         $_element->addData(array("name" => $name, "value" => $value));
         $this->appendHtml($_transport, $_element->getElementHtml());
     }
 }
예제 #13
0
 /**
  * Set form for both fields
  *
  * @param Varien_Data_Form $form
  * @return Varien_Data_Form
  */
 public function setForm($form)
 {
     $this->_virtual->setForm($form);
     return parent::setForm($form);
 }