Example #1
0
 /**
  * Generate secret key for controller and action based on form key
  *
  * @param string $routeName
  * @param string $controller Controller name
  * @param string $action Action name
  * @return string
  */
 public function getSecretKey($routeName = null, $controller = null, $action = null)
 {
     $salt = $this->_coreSession->getFormKey();
     $request = $this->getRequest();
     if (!$routeName) {
         if ($request->getBeforeForwardInfo('route_name') !== null) {
             $routeName = $request->getBeforeForwardInfo('route_name');
         } else {
             $routeName = $request->getRouteName();
         }
     }
     if (!$controller) {
         if ($request->getBeforeForwardInfo('controller_name') !== null) {
             $controller = $request->getBeforeForwardInfo('controller_name');
         } else {
             $controller = $request->getControllerName();
         }
     }
     if (!$action) {
         if ($request->getBeforeForwardInfo('action_name') !== null) {
             $action = $request->getBeforeForwardInfo('action_name');
         } else {
             $action = $request->getActionName();
         }
     }
     $secret = $routeName . $controller . $action . $salt;
     return $this->_coreHelper->getHash($secret);
 }
 /**
  * Retrieve Session Form Key
  *
  * @return string A 16 bit unique key for forms
  */
 public function getFormKey()
 {
     if (Mage::registry('replace_form_key') && !Mage::app()->getRequest()->getParam('form_key', false)) {
         // flag request for ESI processing
         Mage::register('turpentine_esi_flag', true, true);
         return '{{form_key_esi_placeholder}}';
     } else {
         return parent::getFormKey();
     }
 }
Example #3
0
 /**
  * Retrive add to cart url
  *
  * @param Mage_Catalog_Model_Product $product
  * @return string
  */
 public function getAddToCartUrl($product)
 {
     $beforeCompareUrl = $this->_catalogSession->getBeforeCompareUrl();
     $params = array('product' => $product->getId(), Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl), Mage_Core_Model_Url::FORM_KEY => $this->_coreSession->getFormKey());
     return $this->_getUrl('checkout/cart/add', $params);
 }