/** * */ public function initControllerRouters($observer) { $request = $observer->getEvent()->getFront()->getRequest(); $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('brand_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; } $route = trim(Mage::getStoreConfig('ves_brand/general_setting/route')); if ($identifier) { if (preg_match("#^" . $route . "(\\.html)?\$#", $identifier, $match)) { $request->setModuleName('venusbrand')->setControllerName('brand')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } return true; } return false; }
/** * Validate and Match Cms Page and modify request * * @param Zend_Controller_Request_Http $request * @return bool * * @SuppressWarnings(PHPMD.ExitExpression) */ 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('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 Mage::getControllerInstance('Mage_Core_Controller_Varien_Action_Forward', $request, Mage::app()->getFrontController()->getResponse()); } 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 Mage::getControllerInstance('Mage_Core_Controller_Varien_Action_Forward', $request, Mage::app()->getFrontController()->getResponse()); }
/** * */ public function initControllerRouters($observer) { Mage::getSingleton('core/session', array('name' => 'adminhtml')); if (!is_null(Mage::registry("_singleton/admin/session"))) { if (Mage::getSingleton('admin/session')->isLoggedIn()) { /*Is admin*/ //do stuff return; } } $request = $observer->getEvent()->getFront()->getRequest(); if (!Mage::app()->isInstalled()) { /* Mage::app()->getFrontController()->getResponse() ->setRedirect(Mage::getUrl('install')) ->sendResponse(); */ return; } $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('blog_controller_router_match_before', array('router' => $this, 'condition' => $condition)); $identifier = $condition->getIdentifier(); $identifier = trim($identifier, "/"); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } $route = trim(Mage::getStoreConfig('ves_blog/general_setting/route')); if ($identifier) { if (preg_match("#^" . $route . "(\\.html)?\$#", $identifier, $match)) { $request->setModuleName('venusblog')->setControllerName('index')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } elseif (str_replace('/rss', '', str_replace($route, '', $identifier)) == '') { $request->setModuleName('venusblog')->setControllerName('rss')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } elseif (preg_match("#" . $route . "/tag/(\\w+)\\.?#", $identifier, $match)) { if (count($match) <= 1) { return false; } $request->setModuleName('venusblog')->setControllerName('list')->setActionName('show')->setParam("tag", $match[1]); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } elseif (preg_match("#" . $route . "/archive/(\\w+)\\.?#", $identifier, $match)) { if (count($match) <= 1) { return false; } $request->setModuleName('venusblog')->setControllerName('list')->setActionName('show')->setParam("archive", $match[1]); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } } return false; }
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 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; }
public function initControllerRouters($observer) { if (!Mage::app()->getStore()->isAdmin()) { Mage::getSingleton('core/session', array('name' => 'adminhtml')); if (!is_null(Mage::registry("_singleton/admin/session"))) { if (Mage::getSingleton('admin/session')->isLoggedIn()) { /*Is admin*/ return; } } $request = $observer->getEvent()->getFront()->getRequest(); if (!Mage::app()->isInstalled()) { return; } $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('productlist_controller_router_match_before', array('router' => $this, 'condition' => $condition)); $identifier = $condition->getIdentifier(); $identifier = trim($identifier, "/"); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } if ($identifier) { $identifier = str_replace('.html', '', $identifier); $idarray = explode('/', $identifier); $rule = Mage::getModel('productlist/rule')->getCollection()->addFieldToFilter('identifier', $identifier)->addStatusFilter()->addDateFilter()->addStoreFilter()->addCustomerGroupFilter()->getFirstItem(); $data = $rule->getData(); $show = Mage::getStoreConfig('productlist/general_setting/show'); if (empty($data) || !$show) { return false; } $request->setModuleName('productlist')->setControllerName('rule')->setActionName('view')->setParam('id', $rule->getId()); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier . '.html'); return true; } return false; } }
public function match(Zend_Controller_Request_Http $request) { $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); $identifier = $condition->getIdentifier(); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } $page = Mage::getModel('searchlandingpage/page')->checkIdentifier($identifier); if (!$page) { return false; } $request->setModuleName('searchlandingpage')->setControllerName('page')->setActionName('view')->setParam('q', $page->getQueryText())->setParam('id', $page->getId()); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; }
/** * */ public function initControllerRouters($observer) { $request = $observer->getEvent()->getFront()->getRequest(); if (!Mage::app()->isInstalled()) { return; } $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('deals_controller_router_match_before', array('router' => $this, 'condition' => $condition)); $identifier = $condition->getIdentifier(); $identifier = trim($identifier, "/"); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } $route = trim(Mage::getStoreConfig('ves_deals/deals_setting/route')); if ($identifier) { if (preg_match("#^" . $route . "(\\.html)?\$#", $identifier, $match)) { $request->setModuleName('vesdeals')->setControllerName('index')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } elseif (str_replace('/rss', '', str_replace($route, '', $identifier)) == '') { $request->setModuleName('vesdeals')->setControllerName('rss')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } elseif (preg_match("#" . $route . "/filter/(\\w+)\\.?#", $identifier, $match)) { if (count($match) <= 1) { return false; } $request->setModuleName('vesdeals')->setControllerName('index')->setActionName('index')->setParam("filter", $match[1]); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; } } return false; }
/** * 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::isInstalled()) { Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse(); exit; } $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } if ($identifier != Mage::helper('productquestions')->faqsPageUrlKey()) { return false; } $request->setModuleName('productquestions')->setControllerName('faq')->setActionName('index'); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; }
/** * Validate and Match News and modify request * * @param Zend_Controller_Request_Http $request * @return bool */ public function match(Zend_Controller_Request_Http $request) { $identifier = trim($request->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('magna_news_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; } $news = Mage::getModel('magna_news/news'); $newsId = $news->checkIdentifier($identifier, Mage::app()->getStore()->getId()); if (!$newsId) { return false; } $request->setModuleName('magna_news')->setControllerName('view')->setActionName('show')->setParam('news_id', $newsId); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; }
/** * Validate and Match FAQ 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 = 'faq'; $identifier = trim(str_replace('/faq/', '', $request->getPathInfo()), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('faq_controller_router_match_before', array('router' => $this, 'condition' => $condition)); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $request->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } $category = Mage::getModel('zeon_faq/category'); $categoryId = $category->checkIdentifier($identifier, Mage::app()->getStore()->getId()); if (!$categoryId && $identifier == 'mfaq') { $request->setModuleName('faq')->setControllerName('index')->setActionName('index'); if (Mage::helper('zeon_faq')->getIsDisplayMfaq()) { $request->setParam('mfaq', 1); } $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $router); return true; } elseif ($categoryId) { $request->setModuleName('faq')->setControllerName('index')->setActionName('index')->setParam('category_id', $categoryId); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $router . '/' . $identifier); return true; } else { return false; } return false; }
/** * * * @return bool */ protected function _cmsRouterMatch() { $router = Mage::app()->getFrontController()->getRouter('cms'); $identifier = trim($this->getPathInfo(), '/'); $condition = new Varien_Object(array('identifier' => $identifier, 'continue' => true)); Mage::dispatchEvent('cms_controller_router_match_before', array('router' => $router, 'condition' => $condition)); $identifier = $condition->getIdentifier(); if ($condition->getRedirectUrl()) { Mage::app()->getFrontController()->getResponse()->setRedirect($condition->getRedirectUrl())->sendResponse(); $this->setDispatched(true); return true; } if (!$condition->getContinue()) { return false; } $page = Mage::getModel('cms/page'); $pageId = $page->checkIdentifier($identifier, Mage::app()->getStore()->getId()); if (!$pageId) { return false; } $this->setModuleName('cms')->setControllerName('page')->setActionName('view')->setParam('page_id', $pageId); $this->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; }