Beispiel #1
0
}
$arGroups = CForumGroup::GetByLang(LANGUAGE_ID);
array_unshift($arGroups, array("ID" => 0, "NAME" => "..."));
if ((strlen($save) > 0 || strlen($apply) > 0) && $REQUEST_METHOD == "POST" && $forumPermissions == "W" && check_bitrix_sessid()) {
    $arFields = array("SORT" => intVal(intVal($SORT) <= 0 ? 150 : $SORT), "PARENT_ID" => $_REQUEST["FORUM_GROUP"]["PARENT_ID"]);
    for ($i = 0; $i < count($arSysLangs); $i++) {
        $arFields["LANG"][] = array("LID" => $arSysLangs[$i], "NAME" => $_REQUEST["FORUM_GROUP"]["LANG"][$arSysLangs[$i]]["NAME"], "DESCRIPTION" => $_REQUEST["FORUM_GROUP"]["LANG"][$arSysLangs[$i]]["DESCRIPTION"]);
    }
    if (!CForumGroup::CheckFields($ID > 0 ? "UPDATE" : "ADD", $arFields, $ID > 0 ? $ID : false)) {
        $arError[] = array("code" => "error_checkfields", "title" => GetMessage("ERROR_ADD_GROUP_BAD_FIELDS"));
    } else {
        if ($ID > 0) {
            if (!CForumGroup::CanUserUpdateGroup($ID, $USER->GetUserGroupArray())) {
                $arError[] = array("code" => "not_right_for_edit", "title" => GetMessage("ERROR_EDIT_GROUP_NOT_RIGHT"));
            } else {
                $ID1 = CForumGroup::Update($ID, $arFields);
                if (IntVal($ID1) <= 0) {
                    $arError[] = array("code" => "not_edit", "title" => GetMessage("ERROR_EDIT_GROUP"));
                }
            }
        } else {
            if (!CForumGroup::CanUserAddGroup($USER->GetUserGroupArray())) {
                $arError[] = array("code" => "not_right_for_add", "title" => GetMessage("ERROR_ADD_GROUP_NOT_RIGHT"));
            } else {
                $ID = CForumGroup::Add($arFields);
                if (IntVal($ID) <= 0) {
                    $arError[] = array("code" => "not_add", "title" => GetMessage("ERROR_ADD_GROUP"));
                }
            }
        }
    }
Beispiel #2
0
$sTableID = "tbl_forum_group";
$oSort = new CAdminSorting($sTableID, "ID", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
$arFilterFields = array();
$lAdmin->InitFilter($arFilterFields);
$arFilter = array();
if ($lAdmin->EditAction() && $forumModulePermissions >= "W") {
    foreach ($FIELDS as $ID => $arFields) {
        if ($ID <= 0) {
            continue;
        }
        if (!$lAdmin->IsUpdated($ID)) {
            continue;
        }
        if (CForumGroup::CanUserUpdateGroup($ID, $USER->GetUserGroupArray())) {
            if (CForumGroup::Update($ID, $arFields)) {
                BXClearCache(true, "bitrix/forum/group/");
            }
        }
    }
}
if (($arID = $lAdmin->GroupAction()) && $forumModulePermissions >= "W") {
    if ($_REQUEST['action_target'] == 'selected') {
        $arID = array();
        $dbResultList = CForumGroup::GetList(array($by => $order), $arFilter);
        while ($arResult = $dbResultList->Fetch()) {
            $arID[] = $arResult['ID'];
        }
    }
    foreach ($arID as $ID) {
        if (strlen($ID) <= 0) {
Beispiel #3
0
        $fields["LANG"][$lid] = array("LID" => $lid, "NAME" => "", "DESCRIPTION" => "");
    }
}
if ((array_key_exists("save", $_POST) || array_key_exists("apply", $_POST)) && $forumPermissions == "W" && check_bitrix_sessid()) {
    $fields["SORT"] = intval($_POST["SORT"]);
    $fields["PARENT_ID"] = intval($_REQUEST["FORUM_GROUP"]["PARENT_ID"]);
    foreach ($fields["LANG"] as $lid => $name) {
        $fields["LANG"][$lid] = array("LID" => $lid, "NAME" => $_REQUEST["FORUM_GROUP"]["LANG"][$lid]["NAME"], "DESCRIPTION" => $_REQUEST["FORUM_GROUP"]["LANG"][$lid]["DESCRIPTION"]);
    }
    if (!CForumGroup::CheckFields($ID > 0 ? "UPDATE" : "ADD", $fields, $ID > 0 ? $ID : false)) {
        $arError[] = array("code" => "error_checkfields", "title" => GetMessage("ERROR_ADD_GROUP_BAD_FIELDS"));
    } else {
        if ($ID > 0 && !CForumGroup::CanUserUpdateGroup($ID, $USER->GetUserGroupArray())) {
            $arError[] = array("code" => "not_right_for_edit", "title" => GetMessage("ERROR_EDIT_GROUP_NOT_RIGHT"));
        } else {
            if ($ID > 0 && CForumGroup::Update($ID, $fields) != $ID) {
                $arError[] = array("code" => "not_edit", "title" => GetMessage("ERROR_EDIT_GROUP"));
            } else {
                if ($ID <= 0 && !CForumGroup::CanUserAddGroup($USER->GetUserGroupArray())) {
                    $arError[] = array("code" => "not_right_for_add", "title" => GetMessage("ERROR_ADD_GROUP_NOT_RIGHT"));
                } else {
                    if ($ID <= 0 && ($ID = intval(CForumGroup::Add($fields))) && $ID <= 0) {
                        $arError[] = array("code" => "not_add", "title" => GetMessage("ERROR_ADD_GROUP"));
                    } else {
                        BXClearCache(true, "bitrix/forum/group/");
                        LocalRedirect((array_key_exists("save", $_POST) ? "forum_group.php?" : "forum_group_edit.php?ID=" . $ID . "&") . "lang=" . LANG . GetFilterParams("filter_", false));
                    }
                }
            }
        }
    }
Beispiel #4
0
 * @var $APPLICATION CMain
 */
$forumModulePermissions = $APPLICATION->GetGroupRight("forum");
if ($forumModulePermissions == "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
IncludeModuleLangFile(__FILE__);
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/forum/prolog.php";
$sTableID = "tbl_forum_group";
$oSort = new CAdminSorting($sTableID, "LEFT_MARGIN", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
$arFilter = array();
if ($forumModulePermissions >= "W") {
    if ($lAdmin->EditAction()) {
        foreach ($_POST["FIELDS"] as $ID => $arFields) {
            if ($ID > 0 && $lAdmin->IsUpdated($ID) && CForumGroup::CanUserUpdateGroup($ID, $USER->GetUserGroupArray()) && CForumGroup::Update($ID, $arFields)) {
                BXClearCache(true, "bitrix/forum/group/");
            }
        }
    } else {
        if ($arID = $lAdmin->GroupAction()) {
            if ($_REQUEST['action_target'] == 'selected') {
                $arID = array();
                $dbResultList = CForumGroup::GetList(array($by => $order), $arFilter);
                while ($arResult = $dbResultList->Fetch()) {
                    $arID[] = $arResult['ID'];
                }
            }
            foreach ($arID as $ID) {
                if ($ID > 0) {
                    switch ($_REQUEST['action']) {