Esempio n. 1
0
 /**
  * @covers Mage_Core_Controller_Request_Http::rewritePathInfo
  * @covers Mage_Core_Controller_Request_Http::getOriginalPathInfo
  * @magentoConfigFixture current_store web/url/use_store 1
  */
 public function testRewritePathInfoStoreCodeInUrl()
 {
     $pathInfo = $this->_model->getPathInfo();
     $this->_model->rewritePathInfo('test/path');
     $this->assertNotEquals($pathInfo, $this->_model->getPathInfo());
     $this->assertEquals('test/path', $this->_model->getPathInfo());
     $this->assertEquals($pathInfo, $this->_model->getOriginalPathInfo());
 }
Esempio n. 2
0
 /**
  * Validate and Match Cms Page and modify request
  *
  * @param Mage_Core_Controller_Request_Http $request
  * @return bool
  *
  * @SuppressWarnings(PHPMD.ExitExpression)
  */
 public function match(Mage_Core_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $identifier = trim($request->getPathInfo(), '/');
     $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true));
     $this->_eventManager->dispatch('cms_controller_router_match_before', array('router' => $this, 'condition' => $condition));
     $identifier = $condition->getIdentifier();
     if ($condition->getRedirectUrl()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse();
         $request->setDispatched(true);
         return $this->_controllerFactory->createController('Mage_Core_Controller_Varien_Action_Redirect', array('request' => $request));
     }
     if (!$condition->getContinue()) {
         return null;
     }
     $page = Mage::getModel('Mage_Cms_Model_Page');
     $pageId = $page->checkIdentifier($identifier, Mage::app()->getStore()->getId());
     if (!$pageId) {
         return null;
     }
     $request->setModuleName('cms')->setControllerName('page')->setActionName('view')->setParam('page_id', $pageId);
     $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier);
     return $this->_controllerFactory->createController('Mage_Core_Controller_Varien_Action_Forward', array('request' => $request));
 }
Esempio n. 3
0
 /**
  * 
  * @param Mage_Core_Controller_Request_Http $request
  * @return string
  */
 public function getCurrentUnSecureUrl($request)
 {
     if ($alias = $request->getAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS)) {
         return Mage::getBaseUrl('link', false) . ltrim($alias, '/');
     }
     return Mage::getBaseUrl('link', false) . ltrim($request->getPathInfo(), '/');
 }
 /**
  * Retrieve current secure url
  *
  * @param Mage_Core_Controller_Request_Http $request
  * @return string
  */
 protected function _getCurrentSecureUrl($request)
 {
     return Mage::app()->getStore(Mage_Core_Model_App::ADMIN_STORE_ID)->getBaseUrl('link', true) . ltrim($request->getPathInfo(), '/');
 }
Esempio n. 5
0
 /**
  * Update system data for current VDE environment
  *
  * @param string $areaCode
  * @param Mage_Core_Controller_Request_Http $request
  * @param Mage_Core_Controller_Varien_ActionAbstract $controller
  */
 public function update($areaCode, Mage_Core_Controller_Request_Http $request, Mage_Core_Controller_Varien_ActionAbstract $controller)
 {
     $handle = $request->getParam('handle', '');
     if (empty($handle)) {
         $mode = self::MODE_NAVIGATION;
         if (!$request->isAjax()) {
             $this->_backendSession->setData(self::CURRENT_HANDLE_SESSION_KEY, $controller->getFullActionName());
             $this->_backendSession->setData(self::CURRENT_URL_SESSION_KEY, $request->getPathInfo());
         }
     } else {
         $mode = self::MODE_DESIGN;
     }
     $this->_backendSession->setData(self::CURRENT_MODE_SESSION_KEY, $mode);
     $this->_injectUrlModel($mode);
     $this->_injectLayout($mode, $areaCode);
     $this->_injectLayoutUpdateResourceModel();
     $this->_setTheme();
     $this->_disableCache();
 }
Esempio n. 6
0
 /**
  * Modify request path to imitate basic request
  *
  * @param Mage_Core_Controller_Request_Http $request
  * @return Mage_DesignEditor_Controller_Varien_Router_Standard
  */
 protected function _prepareVdeRequest(Mage_Core_Controller_Request_Http $request)
 {
     $vdeFrontName = $this->_helper->getFrontName();
     $noVdePath = substr($request->getPathInfo(), strlen($vdeFrontName) + 1) ?: '/';
     $request->setPathInfo($noVdePath);
     return $this;
 }
Esempio n. 7
0
 /**
  * Parse request URL params
  *
  * @param Mage_Core_Controller_Request_Http $request
  * @return array
  */
 protected function _parseRequest(Mage_Core_Controller_Request_Http $request)
 {
     $output = array();
     $path = trim($request->getPathInfo(), '/');
     $params = explode('/', $path ? $path : $this->_getDefaultPath());
     foreach ($this->_requiredParams as $paramName) {
         $output[$paramName] = array_shift($params);
     }
     for ($i = 0, $l = sizeof($params); $i < $l; $i += 2) {
         $output['variables'][$params[$i]] = isset($params[$i + 1]) ? urldecode($params[$i + 1]) : '';
     }
     return $output;
 }