/** * Change URL path of page * * @param string $pageId * @param string $newUrlPath * @return bool|null */ protected static function changePageUrlPath($pageId, $newUrlPath) { $pageBeforeChange = ipPage($pageId); if (ipGetOption('Config.trailingSlash', 1)) { if (mb_substr($newUrlPath, -1) != '/') { $newUrlPath .= '/'; } } else { if (mb_substr($newUrlPath, -1) == '/') { $newUrlPath = mb_substr($newUrlPath, 0, -1); } } if ($newUrlPath == $pageBeforeChange->getUrlPath()) { return false; } $allocatedPath = UrlAllocator::allocatePath($pageBeforeChange->getLanguageCode(), $newUrlPath); ipDb()->update('page', array('urlPath' => $allocatedPath), array('id' => $pageId)); $pageAfterChange = ipPage($pageId); $oldUrl = $pageBeforeChange->getLink(); if (substr($oldUrl, -1) == '/') { $oldUrl = substr($oldUrl, 0, -1); } $newUrl = $pageAfterChange->getLink(); if (substr($newUrl, -1) == '/') { $newUrl = substr($newUrl, 0, -1); } ipEvent('ipUrlChanged', array('oldUrl' => $oldUrl, 'newUrl' => $newUrl)); return null; }