</option> <?php } ?> </select> </td> </tr> <?php for ($i = 0; $i < count($arSysLangs); $i++) { if ($bInitVars) { $str_NAME = $_REQUEST["FORUM_GROUP"]["LANG"][$arSysLangs[$i]]["NAME"]; $str_DESCRIPTION = $_REQUEST["FORUM_GROUP"]["LANG"][$arSysLangs[$i]]["DESCRIPTION "]; } else { $arGroupLang = CForumGroup::GetLangByID($ID, $arSysLangs[$i]); $str_NAME = $arGroupLang["NAME"]; $str_DESCRIPTION = $arGroupLang["DESCRIPTION"]; } ?> <tr class="heading"> <td colspan="2">[<?php echo $arSysLangs[$i]; ?> ] <?php echo $arSysLangNames[$i]; ?> </td> </tr> <tr class="adm-detail-required-field"> <td><?php
} if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Forum creation if (CModule::IncludeModule('forum')) { $rsForums = CForumNew::GetList(); while ($arForum = $rsForums->Fetch()) { if ($arForum["NAME"] == GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_FORUM_NAME")) { break; } } if (!$arForum) { $rsForumGroups = CForumGroup::GetList(); while ($arForumGroup = $rsForumGroups->Fetch()) { $arForumGroup = CForumGroup::GetLangByID($arForumGroup["ID"], LANGUAGE_ID); if ($arForumGroup["NAME"] === GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_FORUM_GROUP_NAME")) { break; } } if (!$arForumGroup) { $arFields = array("SORT" => 150, "LANG" => array()); $rsLanguages = CLanguage::GetList($b = "sort", $o = "asc"); while ($arLang = $rsLanguages->Fetch()) { $file = dirname(__FILE__) . "/lang/" . $arLang["LANGUAGE_ID"] . "/books-files.php"; include $file; $arFields["LANG"][] = array("LID" => $arLang["LANGUAGE_ID"], "NAME" => GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_FORUM_GROUP_NAME"), "DESCRIPTION" => ""); } $arForumGroup = array("FORUM_GROUP_ID" => CForumGroup::Add($arFields)); } if ($arForumGroup["FORUM_GROUP_ID"]) {
<?php echo GetMessage("FI_FORUM_LAST_MESS"); ?> </td> </tr> <?php $currentGroupID = -1; while ($ar_Forum = $db_Forum->Fetch()) { if ($USER->IsAdmin()) { $perm = "Y"; } else { $perm = ForumCurrUserPermissions($ar_Forum["ID"]); } if ($currentGroupID != IntVal($ar_Forum["FORUM_GROUP_ID"])) { if (IntVal($ar_Forum["FORUM_GROUP_ID"]) > 0) { $arCurForumGroup = CForumGroup::GetLangByID($ar_Forum["FORUM_GROUP_ID"], LANGUAGE_ID); ?> <tr class="forumbody"> <td class="forumbodytext" colspan="6"> <b><?php echo htmlspecialcharsEx($arCurForumGroup["NAME"]); ?> </b> <?php if (strlen($arCurForumGroup["DESCRIPTION"]) > 0) { ?> <br><?php echo htmlspecialcharsEx($arCurForumGroup["DESCRIPTION"]); ?> <?php }
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/forum/prolog.php"; $ID = intval($_REQUEST["ID"]); $arError = array(); $message = false; $arSysLangs = array(); $db_lang = CLanguage::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y")); while (($arLang = $db_lang->Fetch()) && $arLang) { $arSysLangs[$arLang["LID"]] = htmlspecialcharsbx($arLang["NAME"]); } $arGroups = CForumGroup::GetByLang(LANGUAGE_ID); array_unshift($arGroups, array("ID" => 0, "NAME" => "...")); $gid = $ID ?: $_GET["COPY_ID"]; if ($gid > 0 && ($group = CForumGroup::GetList(array(), array("ID" => $gid))->fetch()) && $group) { $fields = $group + array("LANG" => array()); foreach ($arSysLangs as $lid => $name) { $gLang = CForumGroup::GetLangByID($gid, $lid); $fields["LANG"][$lid] = array("LID" => $lid, "NAME" => $gLang["NAME"], "DESCRIPTION" => $gLang["DESCRIPTION"]); } } else { $fields = array("SORT" => 150, "PARENT_ID" => $_REQUEST["PARENT_ID"] > 0 ? $_REQUEST["PARENT_ID"] : 0, "LANG" => $arSysLangs); foreach ($arSysLangs as $lid => $name) { $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)) {
} BXClearCache(true, "/" . LANG . "/forum/group/"); } $dbResultList = CForumGroup::GetList(array($by => $order), $arFilter); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("GROUP_NAV"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => GetMessage("GROUP_ID"), "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage('FORUM_NAME'), "sort" => "", "default" => true), array("id" => "SORT", "content" => GetMessage("GROUP_SORT"), "sort" => "SORT", "default" => true, "align" => "right"))); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); /*******************************************************************/ while ($arGroup = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arGroup); $row->AddField("ID", $f_ID); $row->AddInputField("SORT", array("size" => 5)); if (in_array("NAME", $arVisibleColumns)) { $arGroupLang = CForumGroup::GetLangByID($f_ID, LANG); $fieldShow = htmlspecialcharsbx($arGroupLang["NAME"]); $row->AddViewField("NAME", '<a title="' . GetMessage("FORUM_EDIT_DESCR") . '" href="' . "forum_group_edit.php?ID=" . $f_ID . "&lang=" . LANG . "&" . GetFilterParams("filter_") . '">' . $fieldShow . '</a>'); } $arActions = array(); if ($forumModulePermissions >= "R" && CForumGroup::CanUserUpdateGroup(0, $USER->GetUserGroupArray())) { $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("FORUM_EDIT_DESCR"), "ACTION" => $lAdmin->ActionRedirect("forum_group_edit.php?ID=" . $f_ID . "&lang=" . LANG . "&" . GetFilterParams("filter_", false)), "DEFAULT" => true); } if ($forumModulePermissions >= "W" && CForumGroup::CanUserDeleteGroup(0, $USER->GetUserGroupArray())) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("FORUM_DELETE_DESCR"), "ACTION" => "if(confirm('" . GetMessage('GROUP_DEL_CONF') . "')) " . $lAdmin->ActionDoGroup($f_ID, "delete")); } $row->AddActions($arActions); } /*******************************************************************/ $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $dbResultList->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0")));
BXClearCache(true, "/" . LANG . "/forum/group/"); } } } $dbResultList = new CAdminResult(CForumGroup::GetList(array($by => $order), $arFilter), $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("GROUP_NAV"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => GetMessage("GROUP_ID"), "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage('FORUM_NAME'), "sort" => "LEFT_MARGIN", "default" => true), array("id" => "SORT", "content" => GetMessage("GROUP_SORT"), "sort" => "SORT", "default" => true, "align" => "right"))); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); /*******************************************************************/ while ($group = $dbResultList->NavNext()) { $row =& $lAdmin->AddRow($group["ID"], $group); $row->AddField("ID", $group["ID"]); $row->AddInputField("SORT", array("size" => 5)); if (in_array("NAME", $arVisibleColumns)) { $arGroupLang = CForumGroup::GetLangByID($group["ID"], LANG); $fieldShow = ($by == "LEFT_MARGIN" ? str_pad("", $group["DEPTH_LEVEL"] - 1, ".") : "") . htmlspecialcharsbx($arGroupLang["NAME"]); $row->AddViewField("NAME", '<a title="' . GetMessage("FORUM_EDIT_DESCR") . '" href="forum_group_edit.php?ID=' . $group["ID"] . "&lang=" . LANG . "&" . GetFilterParams("filter_") . '">' . $fieldShow . '</a>'); } $arActions = array(); if ($forumModulePermissions >= "R" && CForumGroup::CanUserUpdateGroup(0, $USER->GetUserGroupArray())) { $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("FORUM_EDIT_DESCR"), "ACTION" => $lAdmin->ActionRedirect("forum_group_edit.php?ID=" . $group["ID"] . "&lang=" . LANG . "&" . GetFilterParams("filter_", false)), "DEFAULT" => true); } if ($forumModulePermissions >= "W" && CForumGroup::CanUserDeleteGroup(0, $USER->GetUserGroupArray())) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("FORUM_DELETE_DESCR"), "ACTION" => "if(confirm('" . GetMessage('GROUP_DEL_CONF') . "')) " . $lAdmin->ActionDoGroup($group["ID"], "delete")); } $row->AddActions($arActions); } /*******************************************************************/ $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $dbResultList->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0")));