Ejemplo n.º 1
0
 public function adminSystemConfigSavedAtosSection(Varien_Event_Observer $observer)
 {
     $model = Mage::getModel('salesrule/rule');
     $data = Mage::app()->getRequest()->getPost();
     $store = $observer->getStore();
     $website = $observer->getWebsite();
     if ($store) {
         $scope = 'stores';
         $scopeId = (int) Mage::getConfig()->getNode('stores/' . $store . '/system/store/id');
     } elseif ($website) {
         $scope = 'websites';
         $scopeId = (int) Mage::getConfig()->getNode('websites/' . $website . '/system/website/id');
     } else {
         $scope = 'default';
         $scopeId = 0;
     }
     $validateResult = $model->validateData(new Varien_Object($data));
     if ($validateResult !== true) {
         foreach ($validateResult as $errorMessage) {
             Mage::getSingleton('core/session')->addError($errorMessage);
         }
         # $this->_redirect('*/*/edit', array('_current' => array('section', 'website', 'store')));
         # return;
     } else {
         if (isset($data['rule'])) {
             if (count($data['rule']['conditions']) > 1) {
                 Mage::getConfig()->saveConfig('atos/securecode/conditions', serialize(array('conditions' => $data['rule']['conditions'])), $scope, $scopeId);
             } else {
                 Mage::getConfig()->deleteConfig('atos/securecode/conditions', $scope, $scopeId);
             }
             unset($data['rule']);
         }
     }
 }
Ejemplo n.º 2
0
    public function saveConfig(Varien_Event_Observer $observer)
    {
        // Defaults for "global" scope
        $scope = 'default';
        $scopeId = 0;
        $websiteCode = $observer->getWebsite();
        $storeCode = $observer->getStore();
        if ($websiteCode) {
            $scope = 'website';
            $website = Mage::getModel('core/website')->load($websiteCode);
            $scopeId = $website->getId();
        }
        if ($storeCode) {
            $scope = 'store';
            $store = Mage::getModel('core/store')->load($storeCode);
            $scopeId = $store->getId();
        }
        $enableEmail = Mage::getStoreConfig('zendesk/frontend_features/contact_us', $storeCode);
        $currentEmail = Mage::getStoreConfig('contacts/email/recipient_email', $storeCode);
        $oldEmail = Mage::getStoreConfig('zendesk/hidden/contact_email_old', $storeCode);
        $zendeskEmail = Mage::helper('zendesk')->getSupportEmail($storeCode);
        if ($enableEmail) {
            // If the email is already set, then do nothing
            if ($currentEmail !== $zendeskEmail) {
                // Ensure the email address value exists and is valid
                if (Zend_Validate::is($zendeskEmail, 'EmailAddress')) {
                    Mage::getModel('core/config')->saveConfig('zendesk/hidden/contact_email_old', $currentEmail, $scope, $scopeId);
                    Mage::getModel('core/config')->saveConfig('contacts/email/recipient_email', $zendeskEmail, $scope, $scopeId);
                }
            }
        } else {
            // If the email hasn't been set, then we don't need to restore anything, otherwise overwrite the current
            // email address with the saved one
            if ($currentEmail === $zendeskEmail) {
                // If the old email is the Zendesk email then we still need to disable it, so set it to the "general"
                // contact email address
                if ($oldEmail === $zendeskEmail) {
                    $oldEmail = Mage::getStoreConfig('trans_email/ident_general/email', $storeCode);
                }
                Mage::getModel('core/config')->saveConfig('contacts/email/recipient_email', $oldEmail, $scope, $scopeId);
            }
        }
        // If the zendesk domain is not found in the web widget snippet (wrapped with quotes), generate it again
        $zDomain = Mage::getStoreConfig('zendesk/general/domain', $storeCode);
        $widgetSnippet = Mage::getStoreConfig('zendesk/frontend_features/web_widget_code_snippet', $storeCode);
        // Case insensitive search with single and double quotes, still better performance than 1 regexp search
        if ($zDomain && stripos($widgetSnippet, "'{$zDomain}'") === false && stripos($widgetSnippet, '"' . $zDomain . '"') === false) {
            $webWidgetSnippet = <<<EOJS
<!-- Start of Zendesk Widget script -->
<script>/*<![CDATA[*/window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("https://assets.zendesk.com/embeddable_framework/main.js","{$zDomain}");/*]]>*/</script>
<!-- End of Zendesk Widget script -->
EOJS;
            Mage::getModel('core/config')->saveConfig('zendesk/frontend_features/web_widget_code_active', 1);
            Mage::getModel('core/config')->saveConfig('zendesk/frontend_features/web_widget_code_snippet', $webWidgetSnippet);
        } elseif (empty($zDomain)) {
            Mage::getModel('core/config')->saveConfig('zendesk/frontend_features/web_widget_code_snippet', '');
        }
    }
 /**
  * @param Varien_Event_Observer $observer
  */
 public function createByWebsite(Varien_Event_Observer $observer)
 {
     /** @var $website Mage_Core_Model_Website */
     $website = $observer->getWebsite();
     if (!$website->isObjectNew()) {
         return;
     }
     $service = $this->getFactory()->getServiceConfigPaymentMethodCreate();
     $service->executeByWebsite($website);
 }
Ejemplo n.º 4
0
 public function saveConfig(Varien_Event_Observer $observer)
 {
     // Defaults for "global" scope
     $scope = 'default';
     $scopeId = 0;
     $websiteCode = $observer->getWebsite();
     $storeCode = $observer->getStore();
     if ($websiteCode) {
         $scope = 'website';
         $website = Mage::getModel('core/website')->load($websiteCode);
         $scopeId = $website->getId();
     }
     if ($storeCode) {
         $scope = 'store';
         $store = Mage::getModel('core/store')->load($storeCode);
         $scopeId = $store->getId();
     }
     $enableEmail = Mage::getStoreConfig('zendesk/features/contact_us', $storeCode);
     $currentEmail = Mage::getStoreConfig('contacts/email/recipient_email', $storeCode);
     $oldEmail = Mage::getStoreConfig('zendesk/hidden/contact_email_old', $storeCode);
     $zendeskEmail = Mage::helper('zendesk')->getSupportEmail($storeCode);
     if ($enableEmail) {
         // If the email is already set, then do nothing
         if ($currentEmail !== $zendeskEmail) {
             // Ensure the email address value exists and is valid
             if (Zend_Validate::is($zendeskEmail, 'EmailAddress')) {
                 Mage::getModel('core/config')->saveConfig('zendesk/hidden/contact_email_old', $currentEmail, $scope, $scopeId);
                 Mage::getModel('core/config')->saveConfig('contacts/email/recipient_email', $zendeskEmail, $scope, $scopeId);
             }
         }
     } else {
         // If the email hasn't been set, then we don't need to restore anything, otherwise overwrite the current
         // email address with the saved one
         if ($currentEmail === $zendeskEmail) {
             // If the old email is the Zendesk email then we still need to disable it, so set it to the "general"
             // contact email address
             if ($oldEmail === $zendeskEmail) {
                 $oldEmail = Mage::getStoreConfig('trans_email/ident_general/email', $storeCode);
             }
             Mage::getModel('core/config')->saveConfig('contacts/email/recipient_email', $oldEmail, $scope, $scopeId);
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * Try to get default store id from observer
  *
  * @param Varien_Event_Observer $observer
  * @return mixed
  * @throws Mage_Core_Exception
  */
 protected function getDefaultStoreId(Varien_Event_Observer $observer)
 {
     $website = $observer->getWebsite();
     if ($website) {
         $website = Mage::app()->getWebsite($website)->getDefaultGroup()->getDefaultStoreId();
     }
     return $website;
 }