$cms_message = ''; $content = array('success' => false); switch ($action) { case 'save': $all_languages = CMS_languagesCatalog::getAllLanguages($codename); $parentId = sensitiveIO::request('parentId', 'sensitiveIO::isPositiveInteger'); $icon = sensitiveIO::request('icon'); $defaultLabel = sensitiveIO::request('label_' . $module->getDefaultLanguageCodename()); // Current category object to manipulate $item = new CMS_moduleCategory($categoryId); //check protected status $protected = sensitiveIO::request('protected') ? true : false; if (!$item->isProtected() || !$protected && $cms_user->hasAdminClearance(CLEARANCE_ADMINISTRATION_EDITVALIDATEALL)) { $item->setAttribute('language', $cms_language); $item->setAttribute('moduleCodename', $codename); $item->setProtected($protected); if (!$parentId) { $parentCategory = $item->getParent(); } else { // Parent category $parentCategory = CMS_moduleCategories_catalog::getById($parentId); } $parentCategory->setAttribute('language', $cms_language); //check mandatory fields if (!$defaultLabel) { $cms_message .= $cms_language->getMessage(MESSAGE_FORM_ERROR_MANDATORY_FIELDS); break; } else { // If insertion, must be saved once added to its parent $newParentCategory = CMS_moduleCategories_catalog::getById($parentId); if (!$newParentCategory->hasError()) {