Example #1
1
 /**
  * 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());
 }
Example #2
1
 /**
  *
  */
 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;
 }
Example #3
0
 /**
  *
  */
 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;
 }
Example #4
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;
 }
Example #5
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;
 }
Example #6
0
 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;
     }
 }
Example #7
0
 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;
 }
Example #8
0
 /**
  *
  */
 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;
 }
Example #9
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::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;
 }
Example #10
0
 /**
  * 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;
 }
Example #12
0
 public function noCookiesAction()
 {
     $redirect = new Varien_Object();
     Mage::dispatchEvent('controller_action_nocookies', array('action' => $this, 'redirect' => $redirect));
     if ($url = $redirect->getRedirectUrl()) {
         $this->_redirectUrl($url);
     } elseif ($redirect->getRedirect()) {
         $this->_redirect($redirect->getPath(), $redirect->getArguments());
     } else {
         $this->loadLayout(array('default', 'noCookie'));
         $this->renderLayout();
     }
     $this->getRequest()->setDispatched(true);
 }
Example #13
0
 /**
  *
  *
  * @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;
 }