Документация для разработчиков
Темная тема

CreateGroup

Описание и параметры

int
CSocNetGroup::CreateGroup(
	int ownerID,
	array arFields,
	bool bAutoSubscribe = true
);

Статический метод создает новую рабочую группу. Для создания группы необходимо задать права пользователей (Параметры INITIATE_PERMS и SPAM_PERMS). Лучше использовать константы (см. ключи массива), но можно использовать и символы:

  • A (Только владелец группы),
  • E (Владелец группы и модераторы группы),
  • K (Все члены группы ).

Примечание: при работе метода вызываются события OnBeforeSocNetGroupAdd и OnSocNetGroupAdd.

Параметры

Параметр Описание С версии
ownerID Код пользователя - владельца новой рабочей группы.
arFields Массив параметров новой группы. Допустимые ключи массива:
SITE_ID - код сайта (обязательное поле),
NAME - название группы (обязательное поле),
DESCRIPTION - описание группы,
VISIBLE - флаг Y/N - видна ли группа в списке групп,
OPENED - флаг Y/N - открыта ли группа для свободного вступления,
SUBJECT_ID - код темы (обязательное поле),
KEYWORDS - ключевые слова,
IMAGE_ID - иконка группы,
INITIATE_PERMS - кто имеет право на приглашение пользователей в группу (обязательное поле): SONET_ROLES_OWNER - только владелец группы, SONET_ROLES_MODERATOR - владелец группы и модераторы группы , SONET_ROLES_USER - все члены группы,
CLOSED - флаг Y/N - является ли группа архивной,
SPAM_PERMS - кто имеет право на отправку сообщений в группу (обязательное поле): SONET_ROLES_OWNER - только владелец группы, SONET_ROLES_MODERATOR - владелец группы и модераторы группы, SONET_ROLES_USER - все члены группы, SONET_ROLES_ALL - все пользователи.
PROJECT Y/N. Является группа проектом или нет. по умолчанию - не является. (С версии 18.0.0)
PROJECT_DATE_FINISH Задаётся окончание проекта. (С версии 18.0.0)
PROJECT_DATE_START Задаётся начало проекта. (С версии 18.0.0)
bAutoSubscribe Автоподписывание на созданную тему. Необязательный параметр. По умолчанию имеет значение True. 10.0.0

Возвращаемое значение

Метод возвращает код вновь созданной группы или false в случае ошибки.

Примеры использования

<?
$arImageID = $GLOBALS["HTTP_POST_FILES"]["GROUP_IMAGE_ID"];
if (StrLen($arImageID["tmp_name"]) > 0)
	CFile::ResizeImage($arImageID, array("width" => 300, "height" => 300), BX_RESIZE_IMAGE_PROPORTIONAL);

$arFields = array(
	"SITE_ID" => SITE_ID,
	"NAME" => $_POST["GROUP_NAME"],
	"DESCRIPTION" => $_POST["GROUP_DESCRIPTION"],
	"VISIBLE" => ($_POST["GROUP_VISIBLE"] == "Y" ? "Y" : "N"),
	"OPENED" => ($_POST["GROUP_OPENED"] == "Y" ? "Y" : "N"),
	"CLOSED" => ($_POST["GROUP_CLOSED"] == "Y" ? "Y" : "N"),
	"SUBJECT_ID" => $_POST["GROUP_SUBJECT_ID"],
	"KEYWORDS" => $_POST["GROUP_KEYWORDS"],
	"IMAGE_ID" => $arImageID,
	"INITIATE_PERMS" => $_POST["GROUP_INITIATE_PERMS"],
	"SPAM_PERMS" => $_POST["GROUP_SPAM_PERMS"],
);

$groupId = CSocNetGroup::CreateGroup($GLOBALS["USER"]->GetID(), $arFields);
if (!$groupId)
{
	if ($e = $GLOBALS["APPLICATION"]->GetException())
		$errorMessage .= $e->GetString();
}
?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024