Beispiel #1
0
                    $arError[] = array("code" => "not_add", "title" => GetMessage("ERROR_ADD_GROUP"));
                }
            }
        }
    }
    if (!empty($arError) && ($e = $GLOBALS["APPLICATION"]->GetException())) {
        $message = new CAdminMessage($ID > 0 ? GetMessage("ERROR_EDIT_GROUP") : GetMessage("ERROR_ADD_GROUP"), $e);
    }
    $bInitVars = !empty($arError) ? true : false;
    if (strlen($save) > 0 && empty($arError)) {
        BXClearCache(true, "bitrix/forum/group/");
        LocalRedirect("forum_group.php?lang=" . LANG . "&" . GetFilterParams("filter_", false));
    }
}
if ($ID > 0) {
    $db_group = CForumGroup::GetList(array(), array("ID" => $ID));
    $db_group->ExtractFields("str_", False);
}
if ($bInitVars) {
    $DB->InitTableVarsForEdit("b_forum_group", "", "str_");
}
$sDocTitle = $ID > 0 ? str_replace("#ID#", $ID, GetMessage("FORUM_EDIT_RECORD")) : GetMessage("FORUM_NEW_RECORD");
$APPLICATION->SetTitle($sDocTitle);
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
/*********************************************************************/
/********************  BODY  *****************************************/
/*********************************************************************/
?>

<?php 
$aMenu = array(array("TEXT" => GetMessage("FGN_2FLIST"), "LINK" => "/bitrix/admin/forum_group.php?lang=" . LANG . "&" . GetFilterParams("filter_", false), "ICON" => "btn_list"));
Beispiel #2
0
if (!is_array($arParams)) {
    $arParams = array();
}
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));
Beispiel #3
0
 function Delete($ID)
 {
     global $DB;
     $ID = intVal($ID);
     $aMsg = array();
     $res = CForumGroup::GetByIDEx($ID, LANGUAGE_ID);
     if (!$res) {
         return true;
     }
     $db_res = CForumGroup::GetList(array(), array("PARENT_ID" => $ID));
     if ($db_res->Fetch()) {
         $aMsg[] = array("id" => 'FORUM_GROUP_GROUPS', "text" => str_replace(array("#GROUP_NAME#", "#GROUP_ID#"), array($res["NAME"], $ID), GetMessage("FG_ERROR_CONTENT_GROUP")));
     }
     $db_res = CForumNew::GetList(array(), array("FORUM_GROUP_ID" => $ID));
     if ($db_res->Fetch()) {
         $aMsg[] = array("id" => 'FORUM_GROUP_FORUMS', "text" => str_replace(array("#GROUP_NAME#", "#GROUP_ID#"), array($res["NAME"], $ID), GetMessage("FG_ERROR_CONTENT_FORUM")));
     }
     if (!empty($aMsg)) {
         $e = new CAdminException(array_reverse($aMsg));
         $GLOBALS["APPLICATION"]->ThrowException($e);
         return false;
     }
     if (CACHED_b_forum_group !== false) {
         $GLOBALS["CACHE_MANAGER"]->CleanDir("b_forum_group");
     }
     $DB->Query("DELETE FROM b_forum_group_lang WHERE FORUM_GROUP_ID = " . $ID, true);
     $DB->Query("DELETE FROM b_forum_group WHERE ID = " . $ID, true);
     CAllForumGroup::Resort();
     return true;
 }
Beispiel #4
0
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/forum/include.php";
ClearVars();
IncludeModuleLangFile(__FILE__);
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) {
Beispiel #5
0
                $DB->StartTransaction();
                if (!CForumGroup::Delete($ID)) {
                    $DB->Rollback();
                    if ($ex = $APPLICATION->GetException()) {
                        $lAdmin->AddGroupError($ex->GetString(), $ID);
                    } else {
                        $lAdmin->AddGroupError(GetMessage("ERROR_DEL_GROUP"), $ID);
                    }
                }
                $DB->Commit();
                break;
        }
    }
    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>');
    }
Beispiel #6
0
                                if ($ex = $APPLICATION->GetException()) {
                                    $lAdmin->AddGroupError($ex->GetString(), $ID);
                                } else {
                                    $lAdmin->AddGroupError(GetMessage("ERROR_DEL_GROUP"), $ID);
                                }
                            }
                            $DB->Commit();
                            break;
                    }
                }
            }
            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();