public function analyzePath($v86266ee937d97f812a8e57d22b62ee29 = false) { showWorkTime("analyzePath started"); $vd6fe1d0be6347b8ef2427fa629c04485 = getRequest('path'); $vd6fe1d0be6347b8ef2427fa629c04485 = trim($vd6fe1d0be6347b8ef2427fa629c04485, "/"); if (!is_null(getRequest('scheme'))) { if (preg_replace("/[^\\w]/im", "", getRequest('scheme')) == 'upage') { preg_match_all("/[\\d]+/", $vd6fe1d0be6347b8ef2427fa629c04485, $v7057e8409c7c531a1a6e9ac3df4ed549); $this->current_element_id = $v7057e8409c7c531a1a6e9ac3df4ed549[0][0]; } return; } showWorkTime("analyzePath something"); $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance(); showWorkTime("analyzePath regedit init"); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); showWorkTime("analyzePath umiHierarchy init"); $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance(); showWorkTime("analyzePath mainConfiguration init"); $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current(); showWorkTime("analyzePath outputBuffer init"); if ($v86266ee937d97f812a8e57d22b62ee29 === true) { $this->reset(); } $v5f44c555cfb3ecb28f624fa95617f277 = $v2245023265ae4cf87d02c8b6ba991139->get('seo', 'url-suffix'); $v5e0bdcbddccca4d66d74ba8c1cee1a68 = strrpos($vd6fe1d0be6347b8ef2427fa629c04485, $v5f44c555cfb3ecb28f624fa95617f277); if ($v5e0bdcbddccca4d66d74ba8c1cee1a68 && $v5e0bdcbddccca4d66d74ba8c1cee1a68 + strlen($v5f44c555cfb3ecb28f624fa95617f277) == strlen($vd6fe1d0be6347b8ef2427fa629c04485)) { $vd6fe1d0be6347b8ef2427fa629c04485 = substr($vd6fe1d0be6347b8ef2427fa629c04485, 0, $v5e0bdcbddccca4d66d74ba8c1cee1a68); } if ($v2245023265ae4cf87d02c8b6ba991139->get('seo', 'url-suffix.add')) { def_module::requireSlashEnding(); } if ($v2245023265ae4cf87d02c8b6ba991139->get('seo', 'watch-redirects-history')) { redirects::getInstance()->init(); } $v32660e7b27600e0fde6ff1333c6c0568 = $this->getPathArray(); $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($v32660e7b27600e0fde6ff1333c6c0568); $vaddb1838ab68ee501d3a0e2868a127c9 = array(); $v83878c91171338902e0fe0fb97a8c47a = 0; for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $vb31590b98760b74e7c4e1a809e43152d = $v32660e7b27600e0fde6ff1333c6c0568[$v865c0c0b4ab0e063e5caa3387c1a8741]; if ($v865c0c0b4ab0e063e5caa3387c1a8741 <= 1) { if ($vb31590b98760b74e7c4e1a809e43152d == $this->current_mode || $vb31590b98760b74e7c4e1a809e43152d == $this->current_lang->getPrefix()) { continue; } } $vaddb1838ab68ee501d3a0e2868a127c9[] = $vb31590b98760b74e7c4e1a809e43152d; $vbdcb4bec1c234b49e0a70911cf33ff6f = $this->getSubPathType($vb31590b98760b74e7c4e1a809e43152d); if ($vbdcb4bec1c234b49e0a70911cf33ff6f == "PARAM") { $_REQUEST['param' . $v83878c91171338902e0fe0fb97a8c47a++] = $vb31590b98760b74e7c4e1a809e43152d; } } if (!$this->current_module) { if ($this->current_mode == "admin") { if ($v854203cccade0bbe21be239a208aea49 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//modules/events")) { } else { $v854203cccade0bbe21be239a208aea49 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/default_module_admin"); } $this->autoRedirectToMethod($v854203cccade0bbe21be239a208aea49); } else { $v854203cccade0bbe21be239a208aea49 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/default_module"); } $this->setCurrentModule($v854203cccade0bbe21be239a208aea49); } if (!$this->current_method) { if ($this->current_mode == "admin") { return $this->autoRedirectToMethod($this->current_module); } else { $v2fa70149e2a7e75da2b0303d0a36a944 = $vb1444fb0c07653567ad325aa25d4e37a->getVal("//modules/" . $this->current_module . "/default_method"); } $this->setCurrentMethod($v2fa70149e2a7e75da2b0303d0a36a944); } if ($this->getCurrentMode() == "admin") { return; } $v7057e8409c7c531a1a6e9ac3df4ed549 = false; $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($vaddb1838ab68ee501d3a0e2868a127c9); $vb31590b98760b74e7c4e1a809e43152d = ""; for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $vb31590b98760b74e7c4e1a809e43152d .= "/" . $vaddb1838ab68ee501d3a0e2868a127c9[$v865c0c0b4ab0e063e5caa3387c1a8741]; if (!($vfa816edb83e95bf0c8da580bdfd491ef = $vb81ca7c0ccaa77e7aa91936ab0070695->getIdByPath($vb31590b98760b74e7c4e1a809e43152d, false, $v3dbd53d892aaea70c9f5fefc18fc7e4c))) { $v7057e8409c7c531a1a6e9ac3df4ed549 = false; break; } else { $v7057e8409c7c531a1a6e9ac3df4ed549 = $vfa816edb83e95bf0c8da580bdfd491ef; } } if ($v7057e8409c7c531a1a6e9ac3df4ed549) { if ($v3dbd53d892aaea70c9f5fefc18fc7e4c > 0 && !defined("DISABLE_AUTOCORRECTION_REDIRECT")) { $vd6fe1d0be6347b8ef2427fa629c04485 = $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v7057e8409c7c531a1a6e9ac3df4ed549); if ($v865c0c0b4ab0e063e5caa3387c1a8741 == 0) { if ($this->isModule($vaddb1838ab68ee501d3a0e2868a127c9[0])) { $v7057e8409c7c531a1a6e9ac3df4ed549 = false; break; } } $v7f2db423a49b305459147332fb01cf87->status('301 Moved Permanently'); $v7f2db423a49b305459147332fb01cf87->redirect($vd6fe1d0be6347b8ef2427fa629c04485); } $v8e2dcfd7e7e24b1ca76c1193f645902b = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v7057e8409c7c531a1a6e9ac3df4ed549); if ($v8e2dcfd7e7e24b1ca76c1193f645902b instanceof umiHierarchyElement) { if ($v8e2dcfd7e7e24b1ca76c1193f645902b->getIsDefault()) { $vd6fe1d0be6347b8ef2427fa629c04485 = $vb81ca7c0ccaa77e7aa91936ab0070695->getPathById($v7057e8409c7c531a1a6e9ac3df4ed549); $v7f2db423a49b305459147332fb01cf87->status('301 Moved Permanently'); $v7f2db423a49b305459147332fb01cf87->redirect($vd6fe1d0be6347b8ef2427fa629c04485); } } } elseif (isset($vaddb1838ab68ee501d3a0e2868a127c9[0])) { if ($this->isModule($vaddb1838ab68ee501d3a0e2868a127c9[0])) { $v22884db148f0ffb0d830ba431102b0b5 = $this->getModule($vaddb1838ab68ee501d3a0e2868a127c9[0]); if (isset($vaddb1838ab68ee501d3a0e2868a127c9[1]) && !$v22884db148f0ffb0d830ba431102b0b5->isMethodExists($vaddb1838ab68ee501d3a0e2868a127c9[1])) { $this->setCurrentModule('content'); $this->setCurrentMethod('content'); } } else { $this->setCurrentModule('content'); $this->setCurrentMethod('content'); } } if (($vd6fe1d0be6347b8ef2427fa629c04485 == "" || $vd6fe1d0be6347b8ef2427fa629c04485 == $this->current_lang->getPrefix()) && $this->current_mode != "admin") { if ($v7057e8409c7c531a1a6e9ac3df4ed549 = $vb81ca7c0ccaa77e7aa91936ab0070695->getDefaultElementId($this->getCurrentLang()->getId(), $this->getCurrentDomain()->getId())) { $this->current_element_id = $v7057e8409c7c531a1a6e9ac3df4ed549; } } if ($v8e2dcfd7e7e24b1ca76c1193f645902b = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v7057e8409c7c531a1a6e9ac3df4ed549, true)) { $v599dcce2998a6b40b1e38e8c6006cb0a = umiHierarchyTypesCollection::getInstance()->getType($v8e2dcfd7e7e24b1ca76c1193f645902b->getTypeId()); if (!$v599dcce2998a6b40b1e38e8c6006cb0a) { return false; } $this->current_module = $v599dcce2998a6b40b1e38e8c6006cb0a->getName(); if ($vabf77184f55403d75b9d51d79162a7ca = $v599dcce2998a6b40b1e38e8c6006cb0a->getExt()) { $this->setCurrentMethod($vabf77184f55403d75b9d51d79162a7ca); } else { $this->setCurrentMethod("content"); } $this->current_element_id = $v7057e8409c7c531a1a6e9ac3df4ed549; } if ($this->current_module == "content" && $this->current_method == "content" && !$v7057e8409c7c531a1a6e9ac3df4ed549) { redirects::getInstance()->redirectIfRequired($vd6fe1d0be6347b8ef2427fa629c04485); } }
public function onModifyPageWatchRedirects(umiEventPoint $e) { static $links = array(); $redirects = redirects::getInstance(); $hierarchy = umiHierarchy::getInstance(); $element = $e->getRef('element'); if ($element instanceof umiHierarchyElement == false) { return false; } $elementId = $element->getId(); $link = $hierarchy->getPathById($elementId, false, false, true); if ($e->getMode() == 'before') { $links[$elementId] = $link; return true; } if ($links[$elementId] != $link) { $redirects->add($links[$elementId], $link, 301); } }