CreateGroup
int CSocNetGroup::CreateGroup( int ownerID, array arFields, bool bAutoSubscribe = true );
The static method creates new workgroup. Define user access permissions to create a group (Parameters INITIATE_PERMS and SPAM_PERMS). Use constants are most suitable (see array keys); however, symbols can be used as well:
- A (Only group owner),
- E (Group owner and group moderator),
- K (All group members).
Note: when method is executed, the events are called: [link=191850]OnBeforeSocNetGroupAdd[/link] and [link=191906]OnSocNetGroupAdd[/link].
Parameters
Parameter | Description | Available from version |
---|---|---|
ownerID | User ID - owner of the new workgroup. | |
arFields | Parameter array for the new group. Available array keys: SITE_ID - site ID (required field), NAME - group name (required field), DESCRIPTION - group description, VISIBLE - Y/N flag - group visibility in the group list, OPENED - Y/N flag- is the group open for users to join freely, SUBJECT_ID - topic ID (required field), KEYWORDS - keywords, IMAGE_ID - group icon, INITIATE_PERMS - who has permissions to invite users to the workgroup (required field): SONET_ROLES_OWNER - only the group owner, SONET_ROLES_MODERATOR - group owner and group moderators, SONET_ROLES_USER - all group members, CLOSED - Y/N flag - archive group status, SPAM_PERMS - who has permissions to end messages to the group (required field): SONET_ROLES_OWNER - only the group owner, SONET_ROLES_MODERATOR - group owner and group moderators, SONET_ROLES_USER - all group members, SONET_ROLES_ALL - all users. PROJECT Y/N. Is the group a project or not. Default value - group is not a project. (From version 18.0.0) PROJECT_DATE_FINISH Project finish date is set. (From version 18.0.0) PROJECT_DATE_START Project start date is set. (From version 18.0.0) |
|
bAutoSubscribe | Autosubscription to the created topic. Optional parameter. Default value is true. |
Returned value
The method returns ID of the newly created group or returns false otherwise.
Examples
<? $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(); } ?>
© «Bitrix24», 2001-2024