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-2025, «1С-Битрикс», 2025