/** * Cette m�thode va v�rifier le label de l'url (slug) * Si le label courant est diff�rent du label suppos�, on redirige vers le label suppos� * @author JTO * @since 19/02/2014 */ private function _checkUrlLabel() { $currentUrlLabel = trim($this->getRequest()->slug); $realUrlLabel = trim($this->view->thisnode['url']); $id = (int) $this->view->thisnode['id']; if (!empty($currentUrlLabel) && $this->view->thisnode) { // Cas 1 - Nouvelle url if (!empty($realUrlLabel)) { if ($realUrlLabel != $currentUrlLabel) { $url = Sydney_Tools_Friendlyurls::getFriendlyUrl($id, $realUrlLabel, 'page', new Zend_View_Helper_Url()); $this->redirect($url, array('code' => 301)); } } else { // On est dans l'ancien syst�me d'url ou le titrede la page = le label url // On doit donc calculer le label de l'url SUPPOSE et le confronter // au label re�u dans l'url // Si diff�rent on fait une redirection vers la VRAI url $supposedUrlLabel = Sydney_Tools_Friendlyurls::getUrlLabel($this->view->thisnode['label']); if ($supposedUrlLabel != $currentUrlLabel) { $url = Sydney_Tools_Friendlyurls::getFriendlyUrl($id, $supposedUrlLabel, 'page', new Zend_View_Helper_Url()); $this->redirect($url, array('code' => 301)); } } } }
/** * @since 19/02/2014 */ public function getcleanurlpagebyidnodeAction() { $id = (int) $this->_getParam('id', null); $page = new Pagstructure(); $data = $page->get($id); $label = Sydney_Tools_Sydneyglobals::getConf('general')->url->newFormat && !empty($data['url']) ? $data['url'] : Sydney_Tools_Friendlyurls::getUrlLabel($data['label']); $this->view->resultSet = array('url' => Sydney_Tools_Friendlyurls::getFriendlyUrl($id, $label, 'page', new Zend_View_Helper_Url())); }
/** * @param int $id * @param string $label * @param string $type * @return string */ public function SydneyUrl($id, $label, $type = 'page') { return Sydney_Tools_Friendlyurls::getFriendlyUrl($id, $label, $type, $this); }