array(
"XML_ID" => "DOCS_DIRECTORS_COMMENTS",
"NAME" => "Комментарии к документам руководства",
"DESCRIPTION" => "Форум комментариев к документам для руководства",
"SORT" => 7,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"DEDUPLICATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "A",
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
WIZARD_DIRECTION_GROUP => "M",
),
),
array(
"XML_ID" => "GROUPS_AND_USERS_FILES_COMMENTS",
"NAME" => "Комментарии к файлам групп и пользователей",
"DESCRIPTION" => "Форум комментариев к файлам в группах и личных профилях",
"SORT" => 8,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"DEDUPLICATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "M",
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
),
),
);
// ────────────────────────────────────────────────
// Сам процесс создания
// ────────────────────────────────────────────────
echo "<h3>Создание служебных форумов комментариев</h3>\n";
echo "Сайт: " . WIZARD_SITE_ID . " | Язык: " . LANGUAGE_ID . "<br><br>\n";
foreach ($arForums as $arForum) {
// Обязательное поле — без него почти всегда не создаётся
$arForum["SITE_ID"] = WIZARD_SITE_ID;
// Проверка на существование
$dbForum = CForumNew::GetList(
array(),
array(
"SITE_ID" => WIZARD_SITE_ID,
"XML_ID" => $arForum["XML_ID"]
)
);
if ($dbForum->Fetch()) {
echo "<span style='color: #666;'>Уже существует: " . $arForum["XML_ID"] . "</span><br>\n";
continue;
}
$forumID = CForumNew::Add($arForum);
if (intval($forumID) > 0) {
echo "<span style='color: green; font-weight: bold;'>Создан: #" . $forumID . " — "
. htmlspecialchars($arForum["NAME"]) . " (" . $arForum["XML_ID"] . ")</span><br>\n";
} else {
$ex = $APPLICATION->GetException();
echo "<span style='color: red; font-weight: bold;'>Ошибка: " . $arForum["XML_ID"] . " — "
. ($ex ? htmlspecialchars($ex->GetString()) : "молча вернул 0 (проверьте SITE_ID, права, группы)") . "</span><br>\n";
}
}
echo "<br><hr><br>";
echo "Скрипт завершён. Текущее время: " . date("Y-m-d H:i:s") . "<br>\n";
echo "Если форумы не появились — проверьте:<br>";
echo "• Реальные ID групп пользователей<br>";
echo "• Существует ли сайт с кодом " . WIZARD_SITE_ID . "<br>";
echo "• Права текущего пользователя на создание форумов<br>"; // ────────────────────────────────────────────────
// Массив форумов — названия и описания можно менять под себя
// ────────────────────────────────────────────────
$arForums = array(
array(
"XML_ID" => "NEWS_COMMENTS",
"NAME" => "Комментарии к новостям",
"DESCRIPTION" => "Форум для комментариев под новостями",
"SORT" => 2,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"DEDUPLICATION" => "N",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["COMMENTS"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "M", // Все зарегистрированные — чтение + ответы
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y", // Администраторы — полный доступ
),
),
array(
"XML_ID" => "PHOTOGALLERY_COMMENTS",
"NAME" => "Комментарии к фотогалерее",
"DESCRIPTION" => "Форум для комментариев к фотографиям",
"SORT" => 3,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"DEDUPLICATION" => "N",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "M",
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
),
),
array(
"XML_ID" => "USERS_AND_GROUPS",
"NAME" => "Обсуждения пользователей и групп",
"DESCRIPTION" => "Форум для обсуждений пользователей и рабочих групп",
"SORT" => 4,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "A", // A = все типы файлов
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"DEDUPLICATION" => "N",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
),
),
array(
"XML_ID" => "DOCS_SHARED_COMMENTS",
"NAME" => "Комментарии к общим документам",
"DESCRIPTION" => "Форум комментариев к общим документам",
"SORT" => 5,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"DEDUPLICATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "M",
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
),
),
array(
"XML_ID" => "DOCS_SALES_COMMENTS",
"NAME" => "Комментарии к документам продаж",
"DESCRIPTION" => "Форум комментариев к документам отдела продаж",
"SORT" => 6,
"ACTIVE" => "Y",
"ALLOW_HTML" => "N",
"ALLOW_ANCHOR" => "Y",
"ALLOW_BIU" => "Y",
"ALLOW_IMG" => "Y",
"ALLOW_LIST" => "Y",
"ALLOW_QUOTE" => "Y",
"ALLOW_CODE" => "Y",
"ALLOW_FONT" => "Y",
"ALLOW_SMILES" => "Y",
"ALLOW_UPLOAD" => "Y",
"ALLOW_NL2BR" => "N",
"MODERATION" => "N",
"DEDUPLICATION" => "N",
"ALLOW_MOVE_TOPIC" => "Y",
"ORDER_BY" => "P",
"ORDER_DIRECTION" => "DESC",
"LID" => LANGUAGE_ID,
"PATH2FORUM_MESSAGE" => "",
"ALLOW_UPLOAD_EXT" => "",
"FORUM_GROUP_ID" => $arGroupID["HIDDEN"],
"ASK_GUEST_EMAIL" => "N",
"USE_CAPTCHA" => "N",
"EVENT1" => "forum",
"EVENT2" => "message",
"EVENT3" => "",
"GROUP_ID" => array(
"2" => "A", // A — полный доступ для всех
WIZARD_PORTAL_ADMINISTRATION_GROUP => "Y",
WIZARD_EMPLOYEES_GROUP => "M",
WIZARD_MARKETING_AND_SALES_GROUP => "M",
),
), /**
* Скрипт для создания служебных форумов комментариев (новости, документы, фотогалерея и т.д.)
* Запускать в php_command_line.php или в отдельном файле через /bitrix/.settings.php
*
* Важно:
* 1. Убедитесь, что модуль forum установлен и включён
* 2. Запускать от имени администратора (ID 1 обычно)
* 3. После запуска проверьте: Контент → Форумы → Список форумов
*/
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("forum");
// ────────────────────────────────────────────────
// Константы и заглушки — здесь обычно меняют
// ────────────────────────────────────────────────
if (!defined("WIZARD_SITE_ID")) {
define("WIZARD_SITE_ID", "s1"); // ← ВНИМАНИЕ! Проверьте ID вашего сайта в b_lang (обычно s1)
}
if (!defined("LANGUAGE_ID")) {
define("LANGUAGE_ID", "ru"); // ← ru / en / ua и т.д. — язык сайта
}
// Группы форумов (ID из таблицы b_forum_group)
// Посмотреть можно в админке: Контент → Форумы → Группы форумов
$arGroupID = array(
"GENERAL" => 2, // ← Изменить при необходимости
"COMMENTS" => 3,
"HIDDEN" => 4,
);
// ID групп пользователей (из b_user_group)
// Администраторы почти всегда 1, остальные — смотрите в админке: Пользователи → Группы
if (!defined("WIZARD_PORTAL_ADMINISTRATION_GROUP")) {
define("WIZARD_PORTAL_ADMINISTRATION_GROUP", 1); // ← Обычно 1 — администраторы
}
define("WIZARD_EMPLOYEES_GROUP", 12); // ← Изменить! Реальный ID группы "Сотрудники"
define("WIZARD_MARKETING_AND_SALES_GROUP", 11); // ← Изменить! Реальный ID группы "Продажи / Маркетинг"
define("WIZARD_DIRECTION_GROUP", 10); // ← Изменить! Реальный ID группы "Руководство"