$codename = 'cms_aliases'; //CHECKS user has module clearance if (!$cms_user->hasModuleClearance($codename, CLEARANCE_MODULE_EDIT)) { CMS_grandFather::raiseError('Error, user has no rights on module : ' . $codename); $view->show(); } //instanciate module $cms_module = CMS_modulesCatalog::getByCodename($codename); // Current alias object to manipulate if ($aliasId) { $item = CMS_module_cms_aliases::getByID($aliasId); if (io::isPositiveInteger($item->getParent())) { $parentAlias = CMS_module_cms_aliases::getByID($item->getParent()); } } else { $item = new CMS_resource_cms_aliases(); if (io::isPositiveInteger($fatherId)) { // Parent alias $parentAlias = CMS_module_cms_aliases::getByID($fatherId); } } $items = array(); $selectContent = array(); $aliases = CMS_module_cms_aliases::getAll(false, true); foreach ($aliases as $alias) { if ($alias->getID() != $item->getID() && !$alias->hasParent($item->getID())) { $lineage = $alias->getPath(); $selectContent[$lineage] = array($alias->getID(), $lineage); } } ksort($selectContent);
$content = array('success' => false); switch ($action) { case 'save': $fatherId = sensitiveIO::request('fatherId', 'sensitiveIO::isPositiveInteger'); $newFatherId = sensitiveIO::request('newFatherId', 'sensitiveIO::isPositiveInteger'); $pageId = sensitiveIO::request('page', 'sensitiveIO::isPositiveInteger'); $name = sensitiveIO::request('name'); $redirection = sensitiveIO::request('redirection'); $websites = sensitiveIO::request('websites'); $replaceURL = sensitiveIO::request('replaceURL') ? true : false; $permanent = sensitiveIO::request('permanent') ? true : false; // Current alias object to manipulate if ($aliasId) { $item = CMS_module_cms_aliases::getByID($aliasId); } else { $item = new CMS_resource_cms_aliases(); } //check protected status $protected = sensitiveIO::request('protected') ? true : false; if (!$item->isProtected() || !$protected && $cms_user->hasAdminClearance(CLEARANCE_ADMINISTRATION_EDITVALIDATEALL)) { //set alias websites (needed to know if alias is correct in case of name conflict) $item->setWebsites(explode(',', $websites)); //set parent only if alias has no subaliases if (!$item->hasSubAliases()) { if (io::isPositiveInteger($newFatherId)) { $parent = CMS_module_cms_aliases::getByID($newFatherId); $item->setParent($parent); } else { $item->setParent(false); } //then set alias name