Example #1
0
 /**
  * Enter description here...
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     $html = '<tr><td class="label">' . $element->getLabel() . '</td>';
     $id = $element->getHtmlId();
     //$isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
     $isMultiple = $element->getExtType() === 'multiple';
     // replace [value] with [inherit]
     $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
     $options = $element->getValues();
     $addInheritCheckbox = false;
     if ($element->getCanUseWebsiteValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = Mage::helper('adminhtml')->__('Use website');
     } elseif ($element->getCanUseDefaultValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = Mage::helper('adminhtml')->__('Use default');
     }
     if ($addInheritCheckbox) {
         $inherit = $element->getInherit() == 1 ? 'checked' : '';
         if ($inherit) {
             $element->setDisabled(true);
         }
     }
     $html .= '<td class="value">';
     $html .= $this->_getElementHtml($element);
     if ($element->getComment()) {
         $html .= '<div><small>' . $element->getComment() . '</small></div>';
     }
     $html .= '</td>';
     if ($addInheritCheckbox) {
         $defText = $element->getDefaultValue();
         if ($options) {
             $defTextArr = array();
             foreach ($options as $k => $v) {
                 if ($isMultiple) {
                     if (is_array($v['value']) && in_array($k, $v['value'])) {
                         $defTextArr[] = $v['label'];
                     }
                 } elseif ($v['value'] == $defText) {
                     $defTextArr[] = $v['label'];
                     break;
                 }
             }
             $defText = join(', ', $defTextArr);
         }
         // default value
         $html .= '<td class="default">';
         //$html.= '<input id="'.$id.'_inherit" name="'.$namePrefix.'[inherit]" type="checkbox" value="1" class="input-checkbox config-inherit" '.$inherit.' onclick="$(\''.$id.'\').disabled = this.checked">';
         $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="input-checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))"/>';
         $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
         $html .= '<input type="hidden" name="' . $namePrefix . '[default_value]" value="' . htmlspecialchars($element->getDefaultValue()) . '">';
         $html .= '<input type="hidden" name="' . $namePrefix . '[old_value]" value="' . htmlspecialchars($element->getOldValue()) . '">';
         $html .= '</td>';
     }
     $html .= '</tr>';
     return $html;
 }
Example #2
0
    public function render(Varien_Data_Form_Element_Abstract $element)
    {
        $elementId = $element->getHtmlId();
        $optionShoppingCartId = str_replace('/', '_', Mage_Persistent_Helper_Data::XML_PATH_PERSIST_SHOPPING_CART);
        $optionEnabled = str_replace('/', '_', Mage_Persistent_Helper_Data::XML_PATH_ENABLED);
        $addInheritCheckbox = false;
        if ($element->getCanUseWebsiteValue()) {
            $addInheritCheckbox = true;
        } elseif ($element->getCanUseDefaultValue()) {
            $addInheritCheckbox = true;
        }
        $html = '<script type="text/javascript">
            PersistentCustomerSegmentation = Class.create();
            PersistentCustomerSegmentation.prototype = {
                initialize : function () {
                    this._element = $("' . $elementId . '");
                    var funcTrackOnChangeShoppingCart = this.trackOnChangeShoppingCart.bind(this);
                    document.observe("dom:loaded", funcTrackOnChangeShoppingCart);
                    $("' . $optionShoppingCartId . '").observe("change", funcTrackOnChangeShoppingCart);
                    $("' . $optionEnabled . '").observe("change", function() {
                        setTimeout(funcTrackOnChangeShoppingCart, 1);
                    });' . ($addInheritCheckbox ? '$("' . $elementId . '_inherit").observe("change", funcTrackOnChangeShoppingCart);' : '') . '},

                disable: function() {
                    this._element.disabled = true;
                    this._element.value = 1;
                },

                enable: function() {
                    this._element.disabled = false;
                },

                trackOnChangeShoppingCart: function() {
                    if ($("' . $optionEnabled . '").value == 1 && $("' . $optionShoppingCartId . '").value == 1 ) {
                         this.disable();
                    } else {
                        ' . ($addInheritCheckbox ? 'if ($("' . $elementId . '_inherit").checked) {
                            this.disable();
                        } else {
                            this.enable();
                        }' : 'this.enable();') . '

                    }
                }
            };
        var persistentCustomerSegmentation = new PersistentCustomerSegmentation();
        </script>';
        return parent::render($element) . $html;
    }
Example #3
0
 /**
  * Overloaded for forwards compatibility for Magento 1.6.
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     $id = $element->getHtmlId();
     $html = '<td class="label"><label for="' . $id . '">' . $element->getLabel() . '</label></td>';
     //$isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
     $isMultiple = $element->getExtType() === 'multiple';
     // replace [value] with [inherit]
     $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
     $options = $element->getValues();
     $addInheritCheckbox = false;
     if ($element->getCanUseWebsiteValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = $this->__('Use Website');
     } elseif ($element->getCanUseDefaultValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = $this->__('Use Default');
     }
     if ($addInheritCheckbox) {
         $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
         if ($inherit) {
             $element->setDisabled(true);
         }
     }
     if ($element->getTooltip()) {
         $html .= '<td class="value with-tooltip">';
         $html .= $this->_getElementHtml($element);
         $html .= '<div class="field-tooltip"><div>' . $element->getTooltip() . '</div></div>';
     } else {
         $html .= '<td class="value">';
         $html .= $this->_getElementHtml($element);
     }
     if ($element->getComment()) {
         $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
     }
     $html .= '</td>';
     if ($addInheritCheckbox) {
         $defText = $element->getDefaultValue();
         if ($options) {
             $defTextArr = array();
             foreach ($options as $k => $v) {
                 if ($isMultiple) {
                     if (is_array($v['value']) && in_array($k, $v['value'])) {
                         $defTextArr[] = $v['label'];
                     }
                 } elseif (isset($v['value'])) {
                     if ($v['value'] == $defText) {
                         $defTextArr[] = $v['label'];
                         break;
                     }
                 } elseif (!is_array($v)) {
                     if ($k == $defText) {
                         $defTextArr[] = $v;
                         break;
                     }
                 }
             }
             $defText = join(', ', $defTextArr);
         }
         // default value
         $html .= '<td class="use-default">';
         $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
         $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
         $html .= '</td>';
     }
     $html .= '<td class="scope-label">';
     if ($element->getScope()) {
         $html .= $element->getScopeLabel();
     }
     $html .= '</td>';
     $html .= '<td class="">';
     if ($element->getHint()) {
         $html .= '<div class="hint" >';
         $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
         $html .= '</div>';
     }
     $html .= '</td>';
     return $this->_decorateRowHtml($element, $html);
 }
Example #4
0
 /**
  * Enter description here...
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     if (version_compare(Mage::getVersion(), '1.7.0.1', '<')) {
         if (Mage::app()->getRequest()->getParam('section') == "klevu_search") {
             $id = $element->getHtmlId();
             $features = Mage::helper('klevu_search/config')->getFeaturesUpdate($element->getHtmlId());
             if (!empty($features)) {
                 $style = 'class="klevu-disabled"';
                 $upgrade_text = '';
                 if (!empty($features['upgrade_message']) || !empty($features['upgrade_label'])) {
                     $upgrade_text .= "<div class='klevu-upgrade-block'>";
                     if (!empty($features['upgrade_message'])) {
                         $upgrade_text .= $features['upgrade_message'];
                     }
                     if (!empty($features['upgrade_label'])) {
                         $upgrade_text .= "<br/><button type='button' onClick=upgradeLink('" . $features["upgrade_url"] . "')>" . $features['upgrade_label'] . "</button>";
                     }
                     $upgrade_text .= "</div>";
                 }
             } else {
                 $style = '';
                 $upgrade_text = '';
             }
             $useContainerId = $element->getData('use_container_id');
             $html = '<tr id="row_' . $id . '">' . '<td class="label"><label for="' . $id . '" ' . $style . '>' . $element->getLabel() . '</label>' . $upgrade_text . '</td>';
             // $isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
             $isMultiple = $element->getExtType() === 'multiple';
             // replace [value] with [inherit]
             $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
             $options = $element->getValues();
             $addInheritCheckbox = false;
             if ($element->getCanUseWebsiteValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = Mage::helper('adminhtml')->__('Use Website');
             } elseif ($element->getCanUseDefaultValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = Mage::helper('adminhtml')->__('Use Default');
             }
             if ($addInheritCheckbox) {
                 $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
                 if ($inherit) {
                     $element->setDisabled(true);
                 }
             }
             // Code added by klevu
             if (!empty($features)) {
                 $element->setDisabled(true);
                 $element->setValue(0);
             }
             $html .= '<td class="value">';
             $html .= $this->_getElementHtml($element);
             if ($element->getComment()) {
                 $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
             }
             $html .= '</td>';
             if ($addInheritCheckbox) {
                 $defText = $element->getDefaultValue();
                 if ($options) {
                     $defTextArr = array();
                     foreach ($options as $k => $v) {
                         if ($isMultiple) {
                             if (is_array($v['value']) && in_array($k, $v['value'])) {
                                 $defTextArr[] = $v['label'];
                             }
                         } elseif ($v['value'] == $defText) {
                             $defTextArr[] = $v['label'];
                             break;
                         }
                     }
                     $defText = join(', ', $defTextArr);
                 }
                 // code added by klevu
                 if (!empty($features)) {
                 } else {
                     // default value
                     $html .= '<td class="use-default">';
                     // $html.= '<input id="'.$id.'_inherit" name="'.$namePrefix.'[inherit]" type="checkbox" value="1" class="input-checkbox config-inherit" '.$inherit.' onclick="$(\''.$id.'\').disabled = this.checked">';
                     $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
                     $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
                     $html .= '</td>';
                 }
             }
             $html .= '<td class="scope-label">';
             if ($element->getScope()) {
                 $html .= $element->getScopeLabel();
             }
             $html .= '</td>';
             // code added by klevu
             if (!empty($features)) {
                 $element->setDisabled(true);
             }
             $html .= '<td class="">';
             if ($element->getHint()) {
                 $html .= '<div class="hint" >';
                 $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
                 $html .= '</div>';
             }
             $html .= '</td>';
             $html .= '</tr>';
             return $html;
         } else {
             $id = $element->getHtmlId();
             $useContainerId = $element->getData('use_container_id');
             $html = '<tr id="row_' . $id . '">' . '<td class="label"><label for="' . $id . '">' . $element->getLabel() . '</label></td>';
             // $isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
             $isMultiple = $element->getExtType() === 'multiple';
             // replace [value] with [inherit]
             $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
             $options = $element->getValues();
             $addInheritCheckbox = false;
             if ($element->getCanUseWebsiteValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = Mage::helper('adminhtml')->__('Use Website');
             } elseif ($element->getCanUseDefaultValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = Mage::helper('adminhtml')->__('Use Default');
             }
             if ($addInheritCheckbox) {
                 $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
                 if ($inherit) {
                     $element->setDisabled(true);
                 }
             }
             $html .= '<td class="value">';
             $html .= $this->_getElementHtml($element);
             if ($element->getComment()) {
                 $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
             }
             $html .= '</td>';
             if ($addInheritCheckbox) {
                 $defText = $element->getDefaultValue();
                 if ($options) {
                     $defTextArr = array();
                     foreach ($options as $k => $v) {
                         if ($isMultiple) {
                             if (is_array($v['value']) && in_array($k, $v['value'])) {
                                 $defTextArr[] = $v['label'];
                             }
                         } elseif ($v['value'] == $defText) {
                             $defTextArr[] = $v['label'];
                             break;
                         }
                     }
                     $defText = join(', ', $defTextArr);
                 }
                 // default value
                 $html .= '<td class="use-default">';
                 // $html.= '<input id="'.$id.'_inherit" name="'.$namePrefix.'[inherit]" type="checkbox" value="1" class="input-checkbox config-inherit" '.$inherit.' onclick="$(\''.$id.'\').disabled = this.checked">';
                 $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
                 $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
                 $html .= '</td>';
             }
             $html .= '<td class="scope-label">';
             if ($element->getScope()) {
                 $html .= $element->getScopeLabel();
             }
             $html .= '</td>';
             $html .= '<td class="">';
             if ($element->getHint()) {
                 $html .= '<div class="hint" >';
                 $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
                 $html .= '</div>';
             }
             $html .= '</td>';
             $html .= '</tr>';
             return $html;
         }
     } else {
         if (Mage::app()->getRequest()->getParam('section') == "klevu_search") {
             $id = $element->getHtmlId();
             $feature_data = Mage::helper('klevu_search/config')->getFeaturesUpdate($element->getHtmlId());
             if (!empty($feature_data)) {
                 $style = 'class="klevu-disabled"';
                 $upgrade_text = '';
                 if (!empty($feature_data['upgrade_message']) || !empty($feature_data['upgrade_label'])) {
                     $upgrade_text .= "<div class='klevu-upgrade-block'>";
                     if (!empty($feature_data['upgrade_message'])) {
                         $upgrade_text .= $feature_data['upgrade_message'];
                     }
                     if (!empty($feature_data['upgrade_label'])) {
                         $upgrade_text .= "<br/><button type='button' onClick=upgradeLink('" . $feature_data["upgrade_url"] . "')>" . $feature_data['upgrade_label'] . "</button>";
                     }
                     $upgrade_text .= "</div>";
                 }
             } else {
                 $style = '';
                 $upgrade_text = '';
             }
             $html = '<td class="label"><label for="' . $id . '" ' . $style . '>' . $element->getLabel() . '</label>' . $upgrade_text . '</td>';
             // $isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
             $isMultiple = $element->getExtType() === 'multiple';
             // replace [value] with [inherit]
             $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
             $options = $element->getValues();
             $addInheritCheckbox = false;
             if ($element->getCanUseWebsiteValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = $this->__('Use Website');
             } elseif ($element->getCanUseDefaultValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = $this->__('Use Default');
             }
             if ($addInheritCheckbox) {
                 $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
                 if ($inherit) {
                     $element->setDisabled(true);
                 }
             }
             if (!empty($feature_data)) {
                 $element->setDisabled(true);
                 $element->setValue(0);
             }
             if ($element->getTooltip()) {
                 $html .= '<td class="value with-tooltip">';
                 $html .= $this->_getElementHtml($element);
                 $html .= '<div class="field-tooltip"><div>' . $element->getTooltip() . '</div></div>';
             } else {
                 $html .= '<td class="value">';
                 $html .= $this->_getElementHtml($element);
             }
             if ($element->getComment()) {
                 $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
             }
             $html .= '</td>';
             if ($addInheritCheckbox) {
                 $defText = $element->getDefaultValue();
                 if ($options) {
                     $defTextArr = array();
                     foreach ($options as $k => $v) {
                         if ($isMultiple) {
                             if (is_array($v['value']) && in_array($k, $v['value'])) {
                                 $defTextArr[] = $v['label'];
                             }
                         } elseif (isset($v['value'])) {
                             if ($v['value'] == $defText) {
                                 $defTextArr[] = $v['label'];
                                 break;
                             }
                         } elseif (!is_array($v)) {
                             if ($k == $defText) {
                                 $defTextArr[] = $v;
                                 break;
                             }
                         }
                     }
                     $defText = join(', ', $defTextArr);
                 }
                 if (!empty($feature_data)) {
                 } else {
                     // default value
                     $html .= '<td class="use-default">';
                     $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
                     $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
                     $html .= '</td>';
                 }
             }
             $html .= '<td class="scope-label">';
             if ($element->getScope()) {
                 $html .= $element->getScopeLabel();
             }
             $html .= '</td>';
             if (!empty($feature_data)) {
                 $element->setDisabled(true);
             }
             $html .= '<td class="">';
             if ($element->getHint()) {
                 $html .= '<div class="hint" >';
                 $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
                 $html .= '</div>';
             }
             $html .= '</td>';
             return $this->_decorateRowHtml($element, $html);
         } else {
             $id = $element->getHtmlId();
             $html = '<td class="label"><label for="' . $id . '">' . $element->getLabel() . '</label></td>';
             // $isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
             $isMultiple = $element->getExtType() === 'multiple';
             // replace [value] with [inherit]
             $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
             $options = $element->getValues();
             $addInheritCheckbox = false;
             if ($element->getCanUseWebsiteValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = $this->__('Use Website');
             } elseif ($element->getCanUseDefaultValue()) {
                 $addInheritCheckbox = true;
                 $checkboxLabel = $this->__('Use Default');
             }
             if ($addInheritCheckbox) {
                 $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
                 if ($inherit) {
                     $element->setDisabled(true);
                 }
             }
             if ($element->getTooltip()) {
                 $html .= '<td class="value with-tooltip">';
                 $html .= $this->_getElementHtml($element);
                 $html .= '<div class="field-tooltip"><div>' . $element->getTooltip() . '</div></div>';
             } else {
                 $html .= '<td class="value">';
                 $html .= $this->_getElementHtml($element);
             }
             if ($element->getComment()) {
                 $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
             }
             $html .= '</td>';
             if ($addInheritCheckbox) {
                 $defText = $element->getDefaultValue();
                 if ($options) {
                     $defTextArr = array();
                     foreach ($options as $k => $v) {
                         if ($isMultiple) {
                             if (is_array($v['value']) && in_array($k, $v['value'])) {
                                 $defTextArr[] = $v['label'];
                             }
                         } elseif (isset($v['value'])) {
                             if ($v['value'] == $defText) {
                                 $defTextArr[] = $v['label'];
                                 break;
                             }
                         } elseif (!is_array($v)) {
                             if ($k == $defText) {
                                 $defTextArr[] = $v;
                                 break;
                             }
                         }
                     }
                     $defText = join(', ', $defTextArr);
                 }
                 // default value
                 $html .= '<td class="use-default">';
                 $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
                 $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
                 $html .= '</td>';
             }
             $html .= '<td class="scope-label">';
             if ($element->getScope()) {
                 $html .= $element->getScopeLabel();
             }
             $html .= '</td>';
             $html .= '<td class="">';
             if ($element->getHint()) {
                 $html .= '<div class="hint" >';
                 $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
                 $html .= '</div>';
             }
             $html .= '</td>';
             return $this->_decorateRowHtml($element, $html);
         }
     }
 }
Example #5
0
 /**
  * Retrieve label for the inheritance checkbox
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 protected function _getInheritCheckboxLabel(Varien_Data_Form_Element_Abstract $element)
 {
     $checkboxLabel = Mage::helper('Mage_Adminhtml_Helper_Data')->__('Use Default');
     if ($element->getCanUseWebsiteValue()) {
         $checkboxLabel = Mage::helper('Mage_Adminhtml_Helper_Data')->__('Use Website');
     }
     return $checkboxLabel;
 }