Exemplo n.º 1
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $pathInfo = trim($request->getPathInfo(), '/');
     $params = explode('/', $pathInfo);
     if (isset($params[0]) && $params[0] == 'miembro' || isset($params[0]) && $params[0] == 'member') {
         //redirect to mymodule/brands/index/brand_name/addidas
         $request->setModuleName('member')->setControllerName('index')->setActionName('index');
         if (isset($params[1])) {
             $request->setParam('member_url', $params[1]);
         }
         $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $pathInfo);
         return true;
     }
     if (isset($params[0]) && $params[0] == 'mwcon') {
         $request->setModuleName('member')->setControllerName('index')->setActionName('signin');
         if (isset($params[1])) {
             $request->setParam('member_id', $params[1]);
         }
         $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $pathInfo);
         return true;
     }
     return false;
 }
Exemplo n.º 2
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::app()->isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $pathInfo = trim($request->getPathInfo(), '/');
     //echo $pathInfo;die();
     $pathInfoAr = explode('/', $pathInfo);
     if ($pathInfoAr[0] == Mage::getStoreConfig('vc_miniblog/blog/router')) {
         if (isset($pathInfoAr[1])) {
             switch ($pathInfoAr[1]) {
                 case 'tag':
                     $request->setModuleName('vc_miniblog')->setControllerName('index')->setActionName('index');
                     $request->setParams(array('tag' => $pathInfoAr[2]));
                     $request->setParams(array('tag' => $pathInfoAr[2]));
                     break;
                 case 'cat':
                     $request->setModuleName('vc_miniblog')->setControllerName('index')->setActionName('index');
                     $request->setParams(array('cat' => $pathInfoAr[2]));
                     break;
                 default:
                     $request->setModuleName('vc_miniblog')->setControllerName('index')->setActionName('postDetail');
                     $request->setParams(array('identifier' => $pathInfoAr[1]));
                     break;
             }
         } else {
             $request->setModuleName('vc_miniblog')->setControllerName('index')->setActionName('index');
         }
         return true;
     }
     return false;
 }
Exemplo n.º 3
0
 public function testShouldAllowAccessForCorrectRole()
 {
     $request = $this->request->setModuleName('admin')->setControllerName('index')->setActionName('index');
     $this->acl->addResource('admin_index');
     $this->acl->allow(Acl::ROLE_GUEST, 'admin_index');
     $plugin = new Acl($this->acl);
     $plugin->setRequest($this->request);
     $plugin->preDispatch();
     $this->assertEquals('admin', $this->request->getModuleName());
     $this->assertEquals('index', $this->request->getControllerName());
     $this->assertEquals('index', $this->request->getActionName());
 }
Exemplo n.º 4
0
 public function match(Zend_Controller_Request_Http $request)
 {
     //default route (404)
     $d = explode('/', Mage::getStoreConfig('web/default/no_route'));
     $request->setModuleName(isset($d[0]) ? $d[0] : 'core')->setControllerName(isset($d[1]) ? $d[1] : 'index')->setActionName(isset($d[2]) ? $d[2] : 'index');
     return true;
 }
Exemplo n.º 5
0
 public function testPassingDefaultModuleShouldNotRenderModuleNameInRedirectUrl()
 {
     $this->request->setModuleName('admin')->setControllerName('class')->setActionName('view');
     $this->redirector->gotoSimple('login', 'account', 'default');
     $test = $this->redirector->getRedirectUrl();
     $this->assertEquals('/account/login', $test, $test);
 }
Exemplo n.º 6
0
 /**
  * Validate and Match Manufacturer Page and modify request
  *
  * @param Zend_Controller_Request_Http $request
  * @return bool
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $router = 'manufacturers';
     $identifier = trim(str_replace('/manufacturers/', '', $request->getPathInfo()), '/');
     $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true));
     Mage::dispatchEvent('manufacturer_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 true;
     }
     if (!$condition->getContinue()) {
         return false;
     }
     $manufacturer = Mage::getModel('zeon_manufacturer/manufacturer');
     $manufacturerId = $manufacturer->checkIdentifier($identifier, Mage::app()->getStore()->getId());
     if (trim($identifier) && $manufacturerId) {
         $request->setModuleName('manufacturers')->setControllerName('index')->setActionName('view')->setParam('manufacturer_id', $manufacturerId);
         $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $router . '/' . $identifier);
         return true;
     }
     return false;
 }
Exemplo n.º 7
0
 /**
  * match the route
  * @param Zend_Controller_Request_Http $request
  * @return bool
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     //if magento is not installed redirect to install
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     //get the url key
     $urlKey = trim($request->getPathInfo(), '/');
     //explode by slash
     $parts = explode('/', $urlKey);
     //if there are not 2 parts (tag/something) in the url we don't care about it.
     //return false and let the rest of the application take care of the url.
     if (count($parts) != 2) {
         return false;
     }
     //if the first part of the url key is not 'tag' we don't care about it
     //return false and let the rest of the application take care of the url
     if ($parts[0] != 'tag') {
         return false;
     }
     $tagName = urldecode($parts[1]);
     //tag name
     //load the tag model
     $tag = Mage::getModel('tag/tag')->loadByName($tagName);
     //if there is no tag with this name available in the current store just do nothing
     if (!$tag->getId() || !$tag->isAvailableInStore()) {
         return false;
     }
     //but if the tag is valid
     //say to magento that the request should be mapped to `tag/product/list/tagId/ID_HERE` - the original url
     $request->setModuleName('tag')->setControllerName('product')->setActionName('list')->setParam('tagId', $tag->getId());
     $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $urlKey);
     return true;
 }
Exemplo n.º 8
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::app()->isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $route = "f";
     $identifier = $request->getPathInfo();
     if (substr(str_replace("/", "", $identifier), 0, strlen($route)) != $route) {
         return false;
     }
     $identifier = substr_replace($request->getPathInfo(), '', 0, strlen("/" . $route . "/"));
     $identifier = str_replace('.html', '', $identifier);
     $identifier = str_replace('.htm', '', $identifier);
     $identifier = str_replace('.php', '', $identifier);
     if ($identifier[strlen($identifier) - 1] == "/") {
         $identifier = substr($identifier, '', -1);
     }
     $identifier = explode('/', $identifier, 3);
     if (isset($identifier[1]) && isset($identifier[0]) && !isset($identifier[2])) {
         $request->setModuleName('f')->setControllerName('index')->setActionName('view')->setParam('id', $identifier[0])->setParam('v', $identifier[1]);
         return true;
     } else {
         return false;
     }
 }
Exemplo n.º 9
0
 public function match(Zend_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));
     Mage::dispatchEvent('magicproduct_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 true;
     }
     if (!$condition->getContinue()) {
         return false;
     }
     if (!in_array($identifier, $this->router)) {
         return false;
     }
     $request->setModuleName('magicproduct')->setControllerName('index')->setActionName('product')->setParam('type', $identifier);
     $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier);
     return true;
 }
 /**
  * Validate and match entities and modify request
  *
  * @access public
  * @param Zend_Controller_Request_Http $request
  * @return bool
  * @author Ultimate Module Creator
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $urlKey = trim($request->getPathInfo(), '/');
     $check = array();
     $check['trainevent'] = new Varien_Object(array('prefix' => Mage::getStoreConfig('wage_trainevent/trainevent/url_prefix'), 'suffix' => Mage::getStoreConfig('wage_trainevent/trainevent/url_suffix'), 'list_key' => Mage::getStoreConfig('wage_trainevent/trainevent/url_rewrite_list'), 'list_action' => 'index', 'model' => 'wage_trainevent/trainevent', 'controller' => 'trainevent', 'action' => 'view', 'param' => 'id', 'check_path' => 0));
     foreach ($check as $key => $settings) {
         if ($settings->getListKey()) {
             if ($urlKey == $settings->getListKey()) {
                 $request->setModuleName('wage_trainevent')->setControllerName($settings->getController())->setActionName($settings->getListAction());
                 $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $urlKey);
                 return true;
             }
         }
         if ($settings['prefix']) {
             $parts = explode('/', $urlKey);
             if ($parts[0] != $settings['prefix'] || count($parts) != 2) {
                 continue;
             }
             $urlKey = $parts[1];
         }
         if ($settings['suffix']) {
             $urlKey = substr($urlKey, 0, -strlen($settings['suffix']) - 1);
         }
         $model = Mage::getModel($settings->getModel());
     }
     return false;
 }
Exemplo n.º 11
0
    public function testCustomInflectorUsesViewRendererTargetWhenPassedInWithReferenceFlag()
    {
        $this->request->setModuleName('bar')
                      ->setControllerName('index')
                      ->setActionName('test');
        $controller = new Bar_IndexController($this->request, $this->response, array());

        $this->helper->view->addBasePath($this->basePath . '/_files/modules/bar/views');

        require_once 'Zend/Filter/PregReplace.php';
        require_once 'Zend/Filter/Word/UnderscoreToSeparator.php';
        
        $inflector = new Zend_Filter_Inflector('test.phtml');
        $inflector->addRules(array(
            ':module'     => array('Word_CamelCaseToDash', 'stringToLower'),
            ':controller' => array('Word_CamelCaseToDash', new Zend_Filter_Word_UnderscoreToSeparator(DIRECTORY_SEPARATOR), 'StringToLower'),
            ':action'     => array(
                'Word_CamelCaseToDash', 
                new Zend_Filter_PregReplace('/[^a-z0-9]+/i', '-'),
                'StringToLower'
            ),
        ));
        $this->helper->setInflector($inflector, true);

        $this->helper->render();
        $body = $this->response->getBody();
        $this->assertContains('Rendered index/test.phtml in bar module', $body);
    }
Exemplo n.º 12
0
 /**
  * Validate and Match Cms Page and modify request
  *
  * @param Zend_Controller_Request_Http $request
  * @return bool
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     if (Mage::app()->getStore()->isAdmin()) {
         return false;
     }
     $pathInfo = $request->getPathInfo();
     // remove suffix if any
     $suffix = Mage::helper('amlanding/url')->getSuffix();
     if ($suffix && '/' != $suffix) {
         $pathInfo = str_replace($suffix, '', $pathInfo);
     }
     $pathInfo = explode('/', trim($pathInfo, '/ '), 2);
     $identifier = $pathInfo[0];
     $params = isset($pathInfo[1]) ? $pathInfo[1] : '';
     /* @var $page Amasty_Xlanding_Model_Page */
     $page = Mage::getModel('amlanding/page');
     $pageId = $page->checkIdentifier($identifier, Mage::app()->getStore()->getId());
     if (!$pageId) {
         return false;
     }
     $params = trim($params, '/ ');
     if ($params) {
         $params = explode('/', $params);
         Mage::register('amshopby_current_params', $params);
     }
     $request->setModuleName('amlanding')->setControllerName('page')->setActionName('view')->setParam('page_id', $pageId)->setParam('am_landing', $identifier);
     return true;
 }
Exemplo n.º 13
0
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     $front = Zend_Controller_Front::getInstance();
     // Front controller has error handler plugin
     // if the request is an error request.
     // If the error handler plugin is not registered,
     // we will be unable which MCA to run, so do not continue.
     $errorHandlerClass = 'Zend_Controller_Plugin_ErrorHandler';
     if (!$front->hasPlugin($errorHandlerClass)) {
         return false;
     }
     // Determine new error controller module_ErrorController_ErrorAction
     $plugin = $front->getPlugin($errorHandlerClass);
     $errorController = $plugin->getErrorHandlerController();
     $errorAaction = $plugin->getErrorHandlerAction();
     $module = $request->getModuleName();
     // Create test request module_ErrorController_ErrorAction...
     $testRequest = new Zend_Controller_Request_Http();
     $testRequest->setModuleName($module)->setControllerName($errorController)->setActionName($errorAaction);
     // Set new error controller if available
     if ($front->getDispatcher()->isDispatchable($testRequest)) {
         $plugin->setErrorHandlerModule($module);
     } else {
         return false;
     }
     return true;
 }
Exemplo n.º 14
0
 /**
  *  See if any product matches
  *
  * @param Zend_Controller_Request_Http $request
  * @return bool
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     // Clear session to make sure users can add products and the shopping cart clears properly
     if (isset($_GET['zipcode'])) {
         Mage::helper('urls')->clearSession($_GET['zipcode']);
     }
     // Get basic data
     $identifier = urldecode(strtolower(trim($request->getPathInfo(), '/')));
     $vendorsCollection = Mage::helper('urls')->getVendors();
     $vendorId = false;
     $productSlug = '';
     // Get vendor id
     $vendorId = $this->_detectVendorId($identifier, $vendorsCollection);
     // Get product slug
     preg_match('/.*\\/(.*).html$/', $identifier, $matches);
     $productSlug = $matches[1];
     if ($vendorId) {
         Mage::register('vendorId', $vendorId);
         $productId = Mage::helper('urls')->getProductIdBySlug($productSlug, $vendorId);
         if ('' == $productId || empty($productId)) {
             return false;
         }
         // Point to correct product
         $request->setModuleName('catalog')->setControllerName('product')->setActionName('view')->setParam('id', $productId);
         return true;
     }
     return false;
 }
 /**
  * @group ZF-10725
  * @dataProvider providerViewScriptNameDoesNotIncludeDisallowedCharacters
  */
 public function testViewScriptNameDoesNotIncludeDisallowedCharacters($actionName)
 {
     $this->request->setModuleName('default')->setControllerName('foo')->setActionName($actionName);
     $controller = new Bar_IndexController($this->request, $this->response, array());
     $this->helper->setActionController($controller);
     $scriptName = $this->helper->getViewScript();
     $this->assertEquals('foo/my-bar.phtml', $scriptName);
 }
Exemplo n.º 16
0
 /**
  * @group ZF-10725
  */
 public function testActionsWithLeadingCapitalLettersShouldNotInvokeTruncatedViewScripts()
 {
     $this->request->setModuleName('default')->setControllerName('Controller')->setActionName('Action');
     $controller = new Bar_IndexController($this->request, $this->response, array());
     $this->helper->setActionController($controller);
     $scriptName = $this->helper->getViewScript();
     $this->assertEquals('controller/action.phtml', $scriptName);
 }
Exemplo n.º 17
0
 public function testPreDispatchNonWhitelistedActionWithAuthenticatedSession()
 {
     $this->request->setModuleName('default')->setControllerName('foo')->setActionName('home');
     Zend_Auth::getInstance()->getStorage()->write(true);
     $this->plugin->preDispatch($this->request);
     $this->assertEquals('default', $this->request->getModuleName());
     $this->assertEquals('foo', $this->request->getControllerName());
     $this->assertEquals('home', $this->request->getActionName());
 }
Exemplo n.º 18
0
 /**
  * Validate and Match Cms Page and modify request
  *
  * @param Zend_Controller_Request_Http $request
  * @return bool
  */
 public function match(Zend_Controller_Request_Http $request)
 {
     $urlKey = trim($request->getPathInfo(), '/');
     if ($urlKey === 'splash-sitemap.xml') {
         $request->setModuleName($this->_getFrontName())->setControllerName('sitemap')->setActionName('index');
         return true;
     }
     $page = Mage::getModel('splash/page')->setStoreId(Mage::app()->getStore()->getId())->loadByUrlKey($urlKey);
     if (!$page->getId() || !$page->isEnabled()) {
         return false;
     }
     Mage::getConfig()->setNode('mageworx_seo/seosuite/disable_layered_rewrites', true, true);
     Mage::app()->getStore()->setConfig('mageworx_seo/seosuite/disable_layered_rewrites', true);
     Mage::register('splash_page', $page);
     $request->setModuleName($this->_getFrontName())->setControllerName('page')->setActionName('view')->setParam('page_id', $page->getId());
     $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $urlKey);
     return true;
 }
Exemplo n.º 19
0
 public function testPostDispatchDoesNotRenderViewWhenNoViewRendererSet()
 {
     $this->request->setModuleName('bar')->setControllerName('index')->setActionName('index');
     $this->front->setParam('noViewRenderer', true);
     $controller = new Bar_IndexController($this->request, $this->response, array());
     $this->helper->postDispatch();
     $body = $this->response->getBody();
     $this->assertTrue(empty($body));
 }
 public function testCorrectViewHelperPathShouldBePropagatedWhenSubControllerInvoked()
 {
     require_once $this->basePath . '/_files/modules/foo/controllers/Admin/IndexController.php';
     $this->request->setModuleName('foo')->setControllerName('admin_index')->setActionName('use-helper');
     $controller = new Foo_Admin_IndexController($this->request, $this->response, array());
     $this->helper->render();
     $body = $this->response->getBody();
     $this->assertContains('fooUseHelper invoked', $body, 'Received ' . $body);
 }
Exemplo n.º 21
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $route = Mage::helper('prodfaqs')->getListIdentifier();
     $identifier = trim($request->getPathInfo(), '/');
     $identifier = str_replace(Mage::helper('prodfaqs')->getSeoUrlSuffix(), '', $identifier);
     if ($identifier == $route) {
         $request->setModuleName('prodfaqs')->setControllerName('index')->setActionName('index');
         return true;
     } elseif (strpos($identifier, $route . '/search') === 0) {
         $request->setModuleName('prodfaqs')->setControllerName('index')->setActionName('search')->setParam('id', (int) $request->getParam('id'));
         return true;
     } elseif (strpos($identifier, $route) === 0 && strlen($identifier) > strlen($route) && strpos($identifier, '-questions') === false) {
         $identifier = trim(substr($identifier, strlen($route)), '/');
         $topicId = Mage::getModel('prodfaqs/topic')->checkIdentifier($identifier, Mage::app()->getStore()->getId());
         if (!$topicId) {
             return false;
         }
         $request->setModuleName('prodfaqs')->setControllerName('index')->setActionName('view')->setParam('id', $topicId);
         $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier);
         return true;
     } elseif (strpos($identifier, $route) === 0 && strpos($identifier, '-questions') >= 0) {
         $product_identifier = trim(substr($identifier, strlen($route)), '/');
         $product_identifier = str_replace('-questions', '', $product_identifier);
         //Now get the product id from this identifier
         $store_id = Mage::app()->getStore()->getId();
         $collection = Mage::getResourceModel('catalog/product_collection')->setStoreId($store_id);
         Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
         Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
         $collection->addAttributeToFilter(array(array('attribute' => 'url_key', 'eq' => $product_identifier)));
         $data = $collection->getData();
         if ($data) {
             $prod_id = $data[0]['entity_id'];
             $request->setModuleName('prodfaqs')->setControllerName('index')->setActionName('productfaqs')->setParam('id', $prod_id);
             return true;
         } else {
             return false;
         }
     }
     return false;
 }
Exemplo n.º 22
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::app()->isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $route = Mage::helper('clnews')->getRoute();
     $identifier = $request->getPathInfo();
     if (substr(str_replace("/", "", $identifier), 0, strlen($route)) != $route) {
         return false;
     }
     $identifier = substr_replace($request->getPathInfo(), '', 0, strlen("/" . $route . "/"));
     $identifier = str_replace(Mage::helper('clnews')->getNewsitemUrlSuffix(), '', $identifier);
     if (substr($request->getPathInfo(), 0, 7) !== '/clnews') {
         if ($identifier == '') {
             $request->setModuleName('clnews')->setControllerName('index')->setActionName('index');
             return true;
         } elseif (substr($identifier, 0, 9) === 'category/') {
             $len = strcspn($identifier, '/');
             $key = substr($identifier, $len + 1);
             $request->setModuleName('clnews')->setControllerName('index')->setActionName('index')->setParam('category', $key);
             return true;
         } elseif (substr($identifier, 0, 4) === 'rss/') {
             $request->setModuleName('clnews')->setControllerName('rss')->setActionName('index');
             return true;
         } elseif ($pos = strpos($identifier, '/print/article/')) {
             $param = substr($identifier, $pos + 15);
             $param = trim(str_replace('/', '', $param));
             $request->setModuleName('clnews')->setControllerName('newsitem')->setActionName('print')->setParam('article', $param);
             return true;
         } elseif (substr($identifier, 0, 9) === 'newsitem/') {
             $str = str_replace('newsitem/view/id/', '', $identifier);
             $len = strcspn($identifier, '/');
             $id = substr($identifier, 0, $len);
             $request->setModuleName('clnews')->setControllerName('newsitem')->setActionName('view')->setParam('id', $id);
             return true;
         } elseif ($pos = strpos($identifier, '/q/')) {
             $param = substr($identifier, $pos + 2);
             $param = trim(str_replace('/', '', $param));
             $request->setModuleName('clnews')->setControllerName('index')->setActionName('index')->setParam('q', $param);
             return true;
         } elseif (substr($identifier, 0, 15) !== 'adminhtml_news/' && strpos($identifier, '/') && substr($request->getPathInfo(), 0, strlen($route) + 2) === '/' . $route . '/' && strpos($identifier, 'category/') === false) {
             $len = strcspn($identifier, '/');
             $category = substr($identifier, 0, $len);
             $key = substr($identifier, $len + 1);
             $request->setModuleName('clnews')->setControllerName('newsitem')->setActionName('view')->setParams(array('category' => $category, 'key' => $key));
             return true;
         } elseif (substr($request->getPathInfo(), 0, strlen($route) + 2) === '/' . $route . '/') {
             $request->setModuleName('clnews')->setControllerName('newsitem')->setActionName('view')->setParam('key', $identifier);
             return true;
         }
     }
     return false;
 }
Exemplo n.º 23
0
 /**
  * @issue ZF-2738
  */
 public function testStockInflectorWorksWithDottedRequestParts()
 {
     $this->request->setModuleName('foo')->setControllerName('car.bar')->setActionName('baz');
     $controller = new Bar_IndexController($this->request, $this->response, array());
     $this->helper->setActionController($controller);
     $viewScriptPaths = $this->helper->view->getAllPaths();
     $expectedPathRegex = DIRECTORY_SEPARATOR == '\\' ? '#modules\\\\foo\\\\views\\\\scripts\\\\$#' : '#modules/foo/views/scripts/$#';
     $this->assertRegExp($expectedPathRegex, $viewScriptPaths['script'][0]);
     $this->assertEquals($this->helper->getViewScript(), 'car-bar/baz.phtml');
 }
Exemplo n.º 24
0
 public function testPostDispatchQuitsWithFalseUserErrorHandlerParam()
 {
     $front = Zend_Controller_Front::getInstance();
     $front->resetInstance();
     $front->setParam('noErrorHandler', true);
     $this->response->setException(new Zend_Controller_Dispatcher_Exception('Testing controller exception'));
     $this->request->setModuleName('foo')->setControllerName('bar')->setActionName('baz');
     $this->plugin->postDispatch($this->request);
     $this->assertNull($this->request->getParam('error_handler'));
 }
Exemplo n.º 25
0
 public function match(Zend_Controller_Request_Http $request)
 {
     $identifier = trim($request->getPathInfo(), '/');
     $page = Mage::getSingleton('cms/page');
     $page->setStoreId(Mage::app()->getStore()->getId());
     if (!$page->load($identifier)->getId()) {
         return false;
     }
     $request->setModuleName(isset($d[0]) ? $d[0] : 'cms')->setControllerName(isset($d[1]) ? $d[1] : 'page')->setActionName(isset($d[2]) ? $d[2] : 'view')->setParam('page_id', $page->getId());
     return true;
 }
Exemplo n.º 26
0
 public function match(Zend_Controller_Request_Http $request)
 {
     $sku = substr($request->getRequestUri(), 10);
     $productID = Mage::getModel('catalog/product')->getIdBySku($sku);
     //        $product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
     //        echo $product->getName()."<br>";
     //        echo "<img src='".$product->getImageUrl()."' />";
     //        die();
     $request->setModuleName('catalog')->setControllerName('product')->setActionName('view')->setParam('id', $productID);
     return true;
 }
Exemplo n.º 27
0
 /**
  */
 public function testPreDispatch()
 {
     $this->acl->addRole('guest');
     $request = new Zend_Controller_Request_Http();
     $request->setModuleName('1');
     $request->setControllerName('2');
     $request->setActionName('3');
     $this->object->preDispatch($request);
     self::assertEquals('default', $request->getModuleName());
     self::assertEquals('error', $request->getControllerName());
     self::assertEquals('denied', $request->getActionName());
 }
Exemplo n.º 28
0
 public function match(Zend_Controller_Request_Http $request)
 {
     if (!Mage::app()->isInstalled()) {
         Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse();
         exit;
     }
     $pathInfo = trim($request->getPathInfo(), '/');
     //echo $pathInfo;die();
     $pathInfoAr = explode('/', $pathInfo);
     //if ($pathInfoAr[0] == Mage::getStoreConfig('vc_shopbybrands/general/router')) {
     if ($pathInfoAr[0] == Mage::getStoreConfig('vc_shopbybrands/general/router')) {
         if (isset($pathInfoAr[1])) {
             $request->setModuleName('vc_shopbybrands')->setControllerName('brands')->setActionName('view');
             $request->setParams(array('identifier' => str_replace('.html', '', $pathInfoAr[1])));
         } else {
             $request->setModuleName('vc_shopbybrands')->setControllerName('brands')->setActionName('index');
         }
         return true;
     }
     return false;
 }
Exemplo n.º 29
0
 public function testPredispatchWithTwigTemplateEngine()
 {
     $this->request->setModuleName('foo')->setControllerName('index')->setActionName('bar');
     $controller = new Foo_IndexController($this->request, $this->response, array());
     $this->helper->setActionController($controller);
     $view = new Ano_View();
     $engine = new Ano_View_Engine_PhpEngine($view);
     $view->addTemplateEngine('twig', $engine);
     $this->helper->setView($view);
     $this->helper->preDispatch();
     $this->assertSame($engine, $this->helper->view->getTemplateEngine());
 }
Exemplo n.º 30
0
 /**
  * @group ZF-4318
  */
 public function testServerVariableHttpsToOffDoesNotBuildHttpsUrl()
 {
     // Set Preconditions from Issue:
     $_SERVER['HTTPS'] = "off";
     $_SERVER['HTTP_HOST'] = 'localhost';
     $_SERVER['SERVER_PORT'] = 80;
     $this->redirector->setUseAbsoluteUri(true);
     $this->request->setModuleName('admin')->setControllerName('class')->setActionName('view');
     $this->redirector->gotoUrl('/bar/baz');
     $test = $this->redirector->getRedirectUrl();
     $this->assertNotContains('https://', $test);
     $this->assertEquals('http://localhost/bar/baz', $test);
 }