/** * Do a 301 redirect * * @param $pageUrl string */ public function do301Redirect($pageUrl) { $redirectMap = array(); $this->_redirector->setCode(301); if (($redirectMap = $this->_cache->load('toaster_301redirects', '301redirects')) === null) { $redirectMap = Application_Model_Mappers_RedirectMapper::getInstance()->fetchRedirectMap(); $this->_cache->save('toaster_301redirects', $redirectMap, '301redirects', array(), Helpers_Action_Cache::CACHE_LONG); } if (!empty($redirectMap)) { $pageUrl = $this->_website->getUrl() . $pageUrl; if (isset($redirectMap[$pageUrl]) && $redirectMap[$pageUrl]) { $this->_redirector->gotoUrl($redirectMap[$pageUrl]); } } }
public function removeredirectAction() { if ($this->getRequest()->isPost()) { $ids = $this->getRequest()->getParam('id'); $redirectMapper = Application_Model_Mappers_RedirectMapper::getInstance(); if (is_array($ids)) { foreach ($ids as $id) { $redirectMapper->delete($redirectMapper->find($id)); } } else { $redirectMapper->delete($redirectMapper->find($ids)); } $this->_helper->cache->clean('toaster_301redirects', '301redirects'); $this->_helper->response->success($this->_helper->language->translate('Redirect(s) removed.')); } }
private function _update301Redirects() { $mapper = Application_Model_Mappers_RedirectMapper::getInstance(); $sessionHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('Session'); $cacheHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('Cache'); $websiteHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('Website'); if (!isset($sessionHelper->oldPageUrl) || !$sessionHelper->oldPageUrl) { return null; } if ($sessionHelper->oldPageUrl == $this->_object->getUrl()) { return null; } $mapper->deleteByRedirect($this->_object->getUrl(), $sessionHelper->oldPageUrl); $redirect = new Application_Model_Models_Redirect(); $redirect->setFromUrl($sessionHelper->oldPageUrl); $redirect->setToUrl($this->_object->getUrl()); $redirect->setPageId($this->_object->getId()); $redirect->setDomainFrom($websiteHelper->getUrl()); $redirect->setDomainTo($websiteHelper->getUrl()); $mapper->save($redirect); $cacheHelper->clean('toaster_301redirects', '301redirects'); }