/** * Создает новую категорию. * * @param array $frm Данные для создания категории */ function AddCategory($frm) { global $session; session_start(); $objResponse = new xajaxResponse(); $name = $frm['commune_fld_add_category_name']; $is_only_for_admin = $frm['commune_fld_add_category_only_for_admin']; $commune_id = $frm['commune_id']; $om = $frm['om']; $uid = get_uid(false); if ($uid) { $status = commune::GetUserCommuneRel($commune_id, $uid); } if ($status['is_moderator'] == 1 || $status['is_admin'] == 1 || $status['is_author'] == 1 || hasPermissions('communes')) { $error = 0; $name = trim(strip_tags(stripslashes($name))); if ($name == '' || strlen($name) > commune::MAX_CATEGORY_NAME_SIZE) { $error = 1; $objResponse->script("alert('Название раздела не может быть пустым и должно содержать не более " . commune::MAX_CATEGORY_NAME_SIZE . ' ' . ending(commune::MAX_CATEGORY_NAME_SIZE, ' символ', ' символа', ' символов') . "');"); $objResponse->script('communeObj.initCategories();'); } if (commune::issetCategory($name, $commune_id)) { $error = 1; $objResponse->script("alert('Раздел с таким названием уже существует.');"); $objResponse->script('communeObj.initCategories();'); } if (!$error) { commune::addCategory($name, $is_only_for_admin, $commune_id); $objResponse->script("xajax_ShowCategoriesList({$commune_id},1,{$om});"); //$objResponse->script("CommuneCancelAddCategory();"); $objResponse->script('communeObj.initCategories();'); $objResponse->assign('editmsg', 'innerHTML', __commPrntCommentForm($commune_id, $om)); $objResponse->script('xajax_CheckDraftsCommune(); initWysiwyg();'); } } return $objResponse; }