Example #1
0
 /**
  * Runs before the customer behavior rule is saved to check the evlike settings.
  * @param Varien_Object $o
  */
 public function checkFacebookSettings($o)
 {
     $event = $o->getEvent();
     $this->setRequest($o->getControllerAction()->getRequest());
     $this->setResponse($o->getControllerAction()->getResponse());
     $post_data = $this->getRequest()->getPost();
     if (empty($post_data)) {
         return $this;
     }
     if ($post_data['points_conditions'] != TBT_Rewardssocial_Model_Facebook_Like_Special_Config::ACTION_CODE) {
         return $this;
     }
     $rewards_wiki_url = "https://sweettoothrewards.com/wiki/index.php/Sweet_Tooth_Facebook";
     if (!Mage::helper('rewardssocial/facebook_evlike')->isEvlikeEnabled()) {
         $msg = Mage::helper('rewardssocial')->__("The Facebook Like Module by Retail Evolved has not been installed or is disabled. It is required to reward customers for liking products on Facebook with Sweet Tooth. For more information, please [rewards_wiki_facebook_link]visit this help article[/rewards_wiki_facebook_link]. Your rule was still saved.");
         $msg = Mage::helper('rewardssocial')->getTextWithLinks($msg, 'rewards_wiki_facebook_link', $rewards_wiki_url, array('target' => '_wiki_sweet_tooth_facebook'));
         Mage::getSingleton('core/session')->addError($msg);
         return $this;
     }
     if (!Mage::helper('rewardssocial/facebook_evlike')->isEvlikeValidRewardsConfig()) {
         $evlike_config_url = Mage::helper('rewardssocial/facebook_evlike')->getConfigUrl();
         $msg = Mage::helper('rewardssocial')->__("The Facebook Like Module by Retail Evolved has not been configured properly.  Please visit the [evlike_config_link]Retail Evolved Facebook Like configuration[/evlike_config_link] section and change the Button Type to 'XFBML' or [rewards_wiki_facebook_link]visit this help article[/rewards_wiki_facebook_link]. Your rule was still saved.");
         $msg = Mage::helper('rewardssocial')->getTextWithLinks($msg, 'evlike_config_link', $evlike_config_url);
         $msg = Mage::helper('rewardssocial')->getTextWithLinks($msg, 'rewards_wiki_facebook_link', $rewards_wiki_url, array('target' => '_wiki_sweet_tooth_facebook'));
         Mage::getSingleton('core/session')->addError($msg);
         return $this;
     }
     return $this;
 }
 /**
  * Replace the config entry with search engine when enabling the module
  *
  * @param Varien_Object $observer
  *
  * @return void
  */
 public function setSearchEngine($observer)
 {
     $request = $observer->getControllerAction()->getRequest();
     if ($request->getParam('section') != 'factfinder') {
         return;
     }
     $groups = $request->getPost('groups');
     $website = $request->getParam('website');
     $store = $request->getParam('store');
     if (is_array($groups['search']) && is_array($groups['search']['fields']) && is_array($groups['search']['fields']['enabled']) && isset($groups['search']['fields']['enabled']['value'])) {
         $value = $groups['search']['fields']['enabled']['value'];
     } elseif ($store) {
         $value = Mage::app()->getWebsite($website)->getConfig('factfinder/search/enabled');
     } else {
         $value = (string) Mage::getConfig()->getNode('default/factfinder/search/enabled');
     }
     if (empty($value)) {
         Mage::app()->getConfig()->saveConfig('catalog/search/engine', self::DEFAULT_SEARCH_ENGINE);
         return;
     }
     $errors = Mage::helper('factfinder/backend')->checkConfigData($groups['search']['fields']);
     if (!empty($errors)) {
         foreach ($errors as $error) {
             Mage::getSingleton('adminhtml/session')->addError($error);
         }
         Mage::app()->getConfig()->saveConfig('catalog/search/engine', self::DEFAULT_SEARCH_ENGINE);
         Mage::app()->getConfig()->saveConfig('factfinder/search/enabled', 0);
     } else {
         Mage::app()->getConfig()->saveConfig('catalog/search/engine', self::SEARCH_ENGINE);
     }
     // this also helps with module managing
     Mage::app()->cleanCache();
     if (Mage::helper('core')->isModuleEnabled('Enterprise_PageCache')) {
         Enterprise_PageCache_Model_Cache::getCacheInstance()->clean(Enterprise_PageCache_Model_Processor::CACHE_TAG);
     }
 }