GetGroupRight($module_id); if ($SONET_RIGHT>="R") : IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].'/bitrix/modules/main/options.php'); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].'/bitrix/modules/main/admin/settings.php'); IncludeModuleLangFile(__FILE__); CModule::IncludeModule('socialnetwork'); if ( $REQUEST_METHOD=="GET" && ($RestoreDefaults ?? null) <> '' && $SONET_RIGHT=="W" && check_bitrix_sessid() ) { COption::RemoveOption("socialnetwork"); $z = CGroup::GetList("id", "asc", array("ACTIVE" => "Y", "ADMIN" => "N")); while($zr = $z->Fetch()) { $APPLICATION->DelGroupRight($module_id, array($zr["ID"])); } } $arSocNetFeaturesSettings = CSocNetAllowed::GetAllowedFeatures(); $arUserPermsVar = array( SONET_RELATIONS_TYPE_NONE => GetMessage("SONET_PVU_NONE"), SONET_RELATIONS_TYPE_FRIENDS => GetMessage("SONET_PVU_FR"), SONET_RELATIONS_TYPE_AUTHORIZED => GetMessage("SONET_PVU_AUTHORIZED"), ); if (!ModuleManager::isModuleInstalled('bitrix24')) { $arUserPermsVar[SONET_RELATIONS_TYPE_ALL] = GetMessage("SONET_PVU_ALL"); } $arGroupPermsVar = array( UserToGroupTable::ROLE_OWNER => GetMessage("SONET_PVG_OWNER"), UserToGroupTable::ROLE_MODERATOR => GetMessage("SONET_PVG_MOD"), UserToGroupTable::ROLE_USER => GetMessage("SONET_PVG_USER"), SONET_ROLES_AUTHORIZED => GetMessage("SONET_PVG_AUTHORIZED"), ); if (!ModuleManager::isModuleInstalled('bitrix24')) { $arGroupPermsVar[SONET_ROLES_ALL] = GetMessage("SONET_PVG_ALL"); } $bIntranet = IsModuleInstalled('intranet'); $arFeatures = array( "forum" => GetMessage("SONET_FEATURE_FORUM"), "blog" => GetMessage("SONET_FEATURE_BLOG"), "photo" => GetMessage("SONET_FEATURE_PHOTO"), ); $arTooltipFields = array( "LOGIN" => GetMessage("SONET_FIELD_LOGIN"), "NAME" => GetMessage("SONET_FIELD_NAME"), "SECOND_NAME" => GetMessage("SONET_FIELD_SECOND_NAME"), "LAST_NAME" => GetMessage("SONET_FIELD_LAST_NAME"), "EMAIL" => GetMessage("SONET_FIELD_EMAIL"), "LAST_LOGIN" => GetMessage("SONET_FIELD_LAST_LOGIN"), "DATE_REGISTER" => GetMessage("SONET_FIELD_DATE_REGISTER"), "PERSONAL_BIRTHDAY" => GetMessage("SONET_FIELD_PERSONAL_BIRTHDAY"), "PERSONAL_PROFESSION" => GetMessage("SONET_FIELD_PERSONAL_PROFESSION"), "PERSONAL_WWW" => GetMessage("SONET_FIELD_PERSONAL_WWW"), "PERSONAL_ICQ" => GetMessage("SONET_FIELD_PERSONAL_ICQ"), "PERSONAL_GENDER" => GetMessage("SONET_FIELD_PERSONAL_GENDER"), "PERSONAL_PHOTO" => GetMessage("SONET_FIELD_PERSONAL_PHOTO"), "PERSONAL_NOTES" => GetMessage("SONET_FIELD_PERSONAL_NOTES"), "PERSONAL_PHONE" => GetMessage("SONET_FIELD_PERSONAL_PHONE"), "PERSONAL_FAX" => GetMessage("SONET_FIELD_PERSONAL_FAX"), "PERSONAL_MOBILE" => GetMessage("SONET_FIELD_PERSONAL_MOBILE"), "PERSONAL_PAGER" => GetMessage("SONET_FIELD_PERSONAL_PAGER"), "PERSONAL_COUNTRY" => GetMessage("SONET_FIELD_PERSONAL_COUNTRY"), "PERSONAL_STATE" => GetMessage("SONET_FIELD_PERSONAL_STATE"), "PERSONAL_CITY" => GetMessage("SONET_FIELD_PERSONAL_CITY"), "PERSONAL_ZIP" => GetMessage("SONET_FIELD_PERSONAL_ZIP"), "PERSONAL_STREET" => GetMessage("SONET_FIELD_PERSONAL_STREET"), "PERSONAL_MAILBOX" => GetMessage("SONET_FIELD_PERSONAL_MAILBOX"), "WORK_COMPANY" => GetMessage("SONET_FIELD_WORK_COMPANY"), "WORK_DEPARTMENT" => GetMessage("SONET_FIELD_WORK_DEPARTMENT"), "WORK_POSITION" => GetMessage("SONET_FIELD_WORK_POSITION"), "MANAGERS" => GetMessage("SONET_FIELD_MANAGERS"), "WORK_WWW" => GetMessage("SONET_FIELD_WORK_WWW"), "WORK_PROFILE" => GetMessage("SONET_FIELD_WORK_PROFILE"), "WORK_LOGO" => GetMessage("SONET_FIELD_WORK_LOGO"), "WORK_NOTES" => GetMessage("SONET_FIELD_WORK_NOTES"), "WORK_PHONE" => GetMessage("SONET_FIELD_WORK_PHONE"), "WORK_FAX" => GetMessage("SONET_FIELD_WORK_FAX"), "WORK_PAGER" => GetMessage("SONET_FIELD_WORK_PAGER"), "WORK_COUNTRY" => GetMessage("SONET_FIELD_WORK_COUNTRY"), "WORK_STATE" => GetMessage("SONET_FIELD_WORK_STATE"), "WORK_CITY" => GetMessage("SONET_FIELD_WORK_CITY"), "WORK_ZIP" => GetMessage("SONET_FIELD_WORK_ZIP"), "WORK_STREET" => GetMessage("SONET_FIELD_WORK_STREET"), "WORK_MAILBOX" => GetMessage("SONET_FIELD_WORK_MAILBOX"), ); $arRes = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER", 0, LANGUAGE_ID); $arTooltipProperties = array(); if (!empty($arRes)) { foreach ($arRes as $key => $val) { $arTooltipProperties[$val["FIELD_NAME"]] = ($val["EDIT_FORM_LABEL"] <> '' ? $val["EDIT_FORM_LABEL"] : $val["FIELD_NAME"]); } } $arRatings = array(); $db_res = CRatings::GetList($aSort = array("ID" => "ASC"), array("ACTIVE" => "Y", "ENTITY_ID" => "USER")); while ($res = $db_res->GetNext()) { $arRatings[$res["ID"]] = "[ ".$res["ID"]." ] ".$res["NAME"]; } if ($bIntranet) { $arTooltipFieldsDefault = array( "EMAIL", "WORK_PHONE", "PERSONAL_PHOTO", "PERSONAL_CITY", "WORK_COMPANY", "WORK_POSITION", ); } else { $arTooltipFieldsDefault = array( "PERSONAL_ICQ", "PERSONAL_BIRTHDAY", "PERSONAL_PHOTO", "PERSONAL_CITY", "WORK_COMPANY", "WORK_POSITION" ); } if ($bIntranet) { $arTooltipPropertiesDefault = array( "UF_DEPARTMENT", "UF_PHONE_INNER", "UF_SKYPE", ); } else { $arTooltipPropertiesDefault = array( "UF_SKYPE", ); } $arTooltipFieldsDefault = serialize($arTooltipFieldsDefault); $arTooltipPropertiesDefault = serialize($arTooltipPropertiesDefault); if ($bIntranet) { $arFeatures["tasks"] = GetMessage("SONET_FEATURE_TASKS"); } $bCalendar = ((IsModuleInstalled("calendar") || $bIntranet) && CBXFeatures::IsFeatureEditable("calendar")); if ($bCalendar) { $arFeatures["calendar"] = GetMessage("SONET_FEATURE_CALENDAR"); } if (IsModuleInstalled('search')) { $arFeatures["search"] = GetMessage("SONET_FEATURE_SEARCH"); } if (!function_exists('set_valign')) { function set_valign($ctrlType, $bIsMultiple = false) { if ( ( in_array($ctrlType, array("select_fields", "select_properties", "select_rating", "select_user_perm", "select_user", "select_group")) && $bIsMultiple == false ) || in_array($ctrlType, array("checkbox", "text")) ) { return ''; } else { return "class=\"adm-detail-valign-top\""; } } } $arAllOptionsCommon = array( array("follow_default_type", GetMessage($bIntranet ? "SONET_LOG_FOLLOW_DEFAULT_TYPE2" : "SONET_LOG_FOLLOW_DEFAULT_TYPE"), "Y", Array("checkbox")), array("allow_livefeed_toall", GetMessage($bIntranet ? "SONET_LOG_ALLOW_TOALL2" : "SONET_LOG_ALLOW_TOALL"), "Y", Array("checkbox")), array("livefeed_toall_rights", GetMessage("SONET_LOG_TOALL_RIGHTS"), 'a:1:{i:0;s:2:"AU";}', Array("hidden")), array("default_livefeed_toall", GetMessage("SONET_LOG_DEFAULT_TOALL"), "Y", Array("checkbox")), array("email_users_all", GetMessage("SONET_LOG_EMAIL_USERS_ALL"), "N", Array("checkbox")), ); if (!IsModuleInstalled("intranet")) { $arAllOptionsCommon[] = array("sonet_log_smart_filter", GetMessage($bIntranet ? "SONET_LOG_SMART_FILTER2" : "SONET_LOG_SMART_FILTER"), "N", Array("checkbox")); } if (IsModuleInstalled("im")) { $arAllOptionsCommon[] = array("use_workgroup_chat", GetMessage("SONET_USE_WORKGROUP_CHAT"), "Y", Array("checkbox")); } $fulltextIndexExists = $DB->IndexExists("b_sonet_log_index", array("CONTENT")); $arAllOptionsCommon[] = array("use_lf_fulltext_index", GetMessage($bIntranet ? "SONET_USE_LF_FULLTEXT_INDEX2" : "SONET_USE_LF_FULLTEXT_INDEX"), ($fulltextIndexExists ? "Y" : "N"), array("checkbox")); $arAllOptions = array( array("allow_frields", GetMessage("SONET_ALLOW_FRIELDS"), "Y", Array("checkbox")), array("allow_tooltip", GetMessage("SONET_ALLOW_TOOLTIP"), "Y", Array("checkbox")), array("group_path_template", GetMessage("SONET_GROUP_PATH_TEMPLATE"), "", Array("text", 40)), array("messages_path", GetMessage("SONET_MESSAGES_PATH"), "/company/personal/messages/", Array("text", 40)), array("tooltip_fields", GetMessage("SONET_TOOLTIP_FIELDS"), $arTooltipFieldsDefault, Array("select_fields", true, 7)), array("tooltip_properties", GetMessage("SONET_TOOLTIP_PROPERTIES"), $arTooltipPropertiesDefault, Array("select_properties", true, 3)), array("tooltip_show_rating", GetMessage("SONET_TOOLTIP_SHOW_RATING"), "N", Array("checkbox")), array("tooltip_rating_id", GetMessage("SONET_TOOLTIP_RATING_ID"), serialize(Array()), Array("select_rating", true, 3)) ); $arAllOptionsUsers = array( array("default_user_viewfriends", GetMessage("SONET_USER_OPERATIONS_viewfriends"), SONET_RELATIONS_TYPE_ALL, Array("select_user_perm")), array("default_user_viewgroups", GetMessage("SONET_USER_OPERATIONS_viewgroups"), SONET_RELATIONS_TYPE_ALL, Array("select_user_perm")), array("default_user_viewprofile", GetMessage("SONET_USER_OPERATIONS_viewprofile"), SONET_RELATIONS_TYPE_ALL, Array("select_user_perm")), array("allow_forum_user", GetMessage("SONET_ALLOW_FORUM_USER"), "Y", Array("checkbox"), "showHideTab", "opt_user_feature_forum"), array("allow_photo_user", GetMessage("SONET_ALLOW_PHOTO_USER"), "Y", Array("checkbox"), "showHideTab", "opt_user_feature_photo"), ); if ($bIntranet) { $arAllOptionsUsers[] = array("allow_files_user", GetMessage("SONET_ALLOW_FILES_USER"), "Y", Array("checkbox"), "showHideTab", "opt_user_feature_files"); $arAllOptionsUsers[] = array("allow_tasks_user", GetMessage("SONET_ALLOW_TASKS_USER"), "Y", Array("checkbox"), "showHideTab", "opt_user_feature_tasks"); } if ($bCalendar) { $arAllOptionsUsers[] = array("allow_calendar_user", GetMessage("SONET_ALLOW_CALENDAR_USER"), "Y", Array("checkbox"), "showHideTab", "opt_user_feature_calendar"); } if (IsModuleInstalled('search')) { $arAllOptionsUsers[] = array("allow_search_user", GetMessage("SONET_ALLOW_SEARCH_USER"), "N", Array("checkbox"), "showHideTab", "opt_user_feature_search"); } $arAllOptionsUsersBlocks = array(); $arAllOptionsUsersBlocks["forum"][] = array("default_forum_operation_full_user", GetMessage("SONET_FORUM_OPERATION_FULL_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["forum"][] = array("default_forum_operation_newtopic_user", GetMessage("SONET_FORUM_OPERATION_NEWTOPIC_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["forum"][] = array("default_forum_operation_answer_user", GetMessage("SONET_FORUM_OPERATION_ANSWER_USER"), (CSocNetUser::IsFriendsAllowed() ? SONET_RELATIONS_TYPE_FRIENDS : SONET_RELATIONS_TYPE_AUTHORIZED), Array("select_user")); $arAllOptionsUsersBlocks["forum"][] = array("default_forum_operation_view_user", GetMessage("SONET_FORUM_OPERATION_VIEW_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); $arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_view_post_user", GetMessage("SONET_BLOG_OPERATION_VIEW_POST_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_premoderate_post_user", GetMessage("SONET_BLOG_OPERATION_PREMODERATE_POST_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_write_post_user", GetMessage("SONET_BLOG_OPERATION_WRITE_POST_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_moderate_post_user", GetMessage("SONET_BLOG_OPERATION_MODERATE_POST_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_full_post_user", GetMessage("SONET_BLOG_OPERATION_FULL_POST_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_view_comment_user", GetMessage("SONET_BLOG_OPERATION_VIEW_COMMENT_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); $arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_premoderate_comment_user", GetMessage("SONET_BLOG_OPERATION_PREMODERATE_COMMENT_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); $arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_write_comment_user", GetMessage("SONET_BLOG_OPERATION_WRITE_COMMENT_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_moderate_comment_user", GetMessage("SONET_BLOG_OPERATION_MODERATE_COMMENT_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); //$arAllOptionsUsersBlocks["blog"][] = array("default_blog_operation_full_comment_user", GetMessage("SONET_BLOG_OPERATION_FULL_COMMENT_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["photo"][] = array("default_photo_operation_write_user", GetMessage("SONET_PHOTO_OPERATION_WRITE_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["photo"][] = array("default_photo_operation_view_user", GetMessage("SONET_PHOTO_OPERATION_VIEW_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); if ($bIntranet) { $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_view_user", GetMessage("SONET_TASKS_OPERATION_VIEW_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_view_all_user", GetMessage("SONET_TASKS_OPERATION_VIEW_ALL_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_create_tasks_user", GetMessage("SONET_TASKS_OPERATION_CREATE_TASKS_USER"), SONET_RELATIONS_TYPE_AUTHORIZED, Array("select_user")); $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_edit_tasks_user", GetMessage("SONET_TASKS_OPERATION_EDIT_TASKS_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_delete_tasks_user", GetMessage("SONET_TASKS_OPERATION_DELETE_TASKS_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["tasks"][] = array("default_tasks_operation_modify_common_views_user", GetMessage("SONET_TASKS_OPERATION_MODIFY_COMMON_VIEWS_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); } if ($bCalendar) { $arAllOptionsUsersBlocks["calendar"][] = array("default_calendar_operation_write_user", GetMessage("SONET_CALENDAR_OPERATION_WRITE_USER"), SONET_RELATIONS_TYPE_NONE, Array("select_user")); $arAllOptionsUsersBlocks["calendar"][] = array("default_calendar_operation_view_user", GetMessage("SONET_CALENDAR_OPERATION_VIEW_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); } if (IsModuleInstalled('search')) { $arAllOptionsUsersBlocks["search"][] = array("default_search_operation_view_user", GetMessage("SONET_SEARCH_OPERATION_VIEW_USER"), SONET_RELATIONS_TYPE_ALL, Array("select_user")); } $arAllOptionsUsersGender = array(); $arAllOptionsUsersGender["male"][] = array("default_user_picture_male", GetMessage("SONET_USER_PICTURE"), false, Array("image")); $arAllOptionsUsersGender["female"][] = array("default_user_picture_female", GetMessage("SONET_USER_PICTURE"), false, Array("image")); $arAllOptionsUsersGender["unknown"][] = array("default_user_picture_unknown", GetMessage("SONET_USER_PICTURE"), false, Array("image")); $arAllOptionsGroups = array( array("allow_forum_group", GetMessage("SONET_ALLOW_FORUM_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_forum"), array("allow_blog_group", GetMessage("SONET_ALLOW_BLOG_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_blog"), array("allow_photo_group", GetMessage("SONET_ALLOW_PHOTO_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_photo"), ); if ($bIntranet) { $arAllOptionsGroups[] = array("allow_files_group", GetMessage("SONET_ALLOW_FILES_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_files"); $arAllOptionsGroups[] = array("allow_tasks_group", GetMessage("SONET_ALLOW_TASKS_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_tasks"); } if ($bCalendar) { $arAllOptionsGroups[] = array("allow_calendar_group", GetMessage("SONET_ALLOW_CALENDAR_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_calendar"); } if (IsModuleInstalled('search')) { $arAllOptionsGroups[] = array("allow_search_group", GetMessage("SONET_ALLOW_SEARCH_GROUP"), "Y", Array("checkbox"), "showHideTab", "opt_group_feature_search"); } $arAllOptionsGroupsBlocks = array(); $arAllOptionsGroupsBlocks["forum"][] = array("default_forum_operation_full_group", GetMessage("SONET_FORUM_OPERATION_FULL_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["forum"][] = array("default_forum_operation_newtopic_group", GetMessage("SONET_FORUM_OPERATION_NEWTOPIC_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["forum"][] = array("default_forum_operation_answer_group", GetMessage("SONET_FORUM_OPERATION_ANSWER_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["forum"][] = array("default_forum_operation_view_group", GetMessage("SONET_FORUM_OPERATION_VIEW_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["forum"][] = array("default_forum_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_view_post_group", GetMessage("SONET_BLOG_OPERATION_VIEW_POST_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_premoderate_post_group", GetMessage("SONET_BLOG_OPERATION_PREMODERATE_POST_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_write_post_group", GetMessage("SONET_BLOG_OPERATION_WRITE_POST_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_moderate_post_group", GetMessage("SONET_BLOG_OPERATION_MODERATE_POST_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_full_post_group", GetMessage("SONET_BLOG_OPERATION_FULL_POST_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_view_comment_group", GetMessage("SONET_BLOG_OPERATION_VIEW_COMMENT_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_premoderate_comment_group", GetMessage("SONET_BLOG_OPERATION_PREMODERATE_COMMENT_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_write_comment_group", GetMessage("SONET_BLOG_OPERATION_WRITE_COMMENT_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_moderate_comment_group", GetMessage("SONET_BLOG_OPERATION_MODERATE_COMMENT_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_operation_full_comment_group", GetMessage("SONET_BLOG_OPERATION_FULL_COMMENT_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["blog"][] = array("default_blog_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); $arAllOptionsGroupsBlocks["photo"][] = array("default_photo_operation_write_group", GetMessage("SONET_PHOTO_OPERATION_WRITE_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["photo"][] = array("default_photo_operation_view_group", GetMessage("SONET_PHOTO_OPERATION_VIEW_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["photo"][] = array("default_photo_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); if ($bIntranet) { $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_view_group", GetMessage("SONET_TASKS_OPERATION_VIEW_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_view_all_group", GetMessage("SONET_TASKS_OPERATION_VIEW_ALL_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_sort_group", GetMessage("SONET_TASKS_OPERATION_SORT_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_create_tasks_group", GetMessage("SONET_TASKS_OPERATION_CREATE_TASKS_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_edit_tasks_group", GetMessage("SONET_TASKS_OPERATION_EDIT_TASKS_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_delete_tasks_group", GetMessage("SONET_TASKS_OPERATION_DELETE_TASKS_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_operation_modify_common_views_group", GetMessage("SONET_TASKS_OPERATION_MODIFY_COMMON_VIEWS_GROUP"), SONET_ROLES_MODERATOR, Array("select_group")); $arAllOptionsGroupsBlocks["tasks"][] = array("default_tasks_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); } if ($bCalendar) { $arAllOptionsGroupsBlocks["calendar"][] = array("default_calendar_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); } if (IsModuleInstalled('search')) { $arAllOptionsGroupsBlocks["search"][] = array("default_search_operation_view_group", GetMessage("SONET_SEARCH_OPERATION_VIEW_GROUP"), SONET_ROLES_USER, Array("select_group")); $arAllOptionsGroupsBlocks["search"][] = array("default_search_create_default", GetMessage("SONET_FUNCTIONALITY_CREATE_DEFAULT"), "Y", Array("checkbox")); } $arAllOptionsGroups[] = array("work_with_closed_groups", GetMessage("SONET_WORK_WITH_CLOSED_GROUPS"), "N", Array("checkbox")); $arAllOptionsGroupsGender = array(); $arAllOptionsGroupsGender[] = array("default_group_picture", GetMessage("SONET_GROUP_PICTURE"), false, Array("image")); $strWarning = ""; if ( $REQUEST_METHOD == "POST" && $Update <> '' && $SONET_RIGHT == "W" && check_bitrix_sessid() ) { $tmp_count = count($arAllOptionsCommon); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsCommon[$i][0]; $val = ${$name} ?? null; if ($arAllOptionsCommon[$i][3][0] == "checkbox" && $val != "Y") $val = "N"; elseif ($name == "livefeed_toall_rights") { if ( is_array($val) && count($val) > 0 ) $val = serialize($val); else $val = serialize(array("G2")); } $prev_val = COption::GetOptionString("socialnetwork", $arAllOptionsCommon[$i][0], $arAllOptionsCommon[$i][2], ""); if ($arAllOptionsCommon[$i][0] == 'use_lf_fulltext_index') { \Bitrix\Socialnetwork\LogIndexTable::getEntity()->enableFullTextIndex("CONTENT", ($val == 'Y')); } if ($val != $prev_val) { if ($arAllOptionsCommon[$i][0] == 'use_lf_fulltext_index') { if ( $DB->type == 'MYSQL' && $val == 'Y' ) { if (!$DB->IndexExists("b_sonet_log_index", array("CONTENT"))) { if ($DB->Query("CREATE fulltext index IXF_SONET_LOG_INDEX on b_sonet_log_index (CONTENT)", true)) { \Bitrix\Socialnetwork\LogIndexTable::getEntity()->enableFullTextIndex("CONTENT"); COption::SetOptionString("socialnetwork", $arAllOptionsCommon[$i][0], $val, $arAllOptionsCommon[$i][1], ""); } else { \Bitrix\Socialnetwork\LogIndexTable::getEntity()->enableFullTextIndex("CONTENT", false); $e = $APPLICATION->GetException(); $strWarning = GetMessage("SONET_USE_LF_FULLTEXT_INDEX_ERROR"); if(is_object($e)) { $strWarning .= ": ".$e->GetString(); } } } else { \Bitrix\Socialnetwork\LogIndexTable::getEntity()->enableFullTextIndex("CONTENT"); } } } else { COption::SetOptionString("socialnetwork", $arAllOptionsCommon[$i][0], $val, $arAllOptionsCommon[$i][1], ""); } } } $dbSites = CSite::GetList('', '', array("ACTIVE" => "Y")); $bFriendsDisabledForAllSites = true; $bFriendsEnabledForAnySite = false; $bFilesDisabledForAllSites = true; $bFilesEnabledForAnySite = false; $bBlogDisabledForAllSites = true; $bBlogEnabledForAnySite = false; $bPhotoDisabledForAllSites = true; $bPhotoEnabledForAnySite = false; $bForumDisabledForAllSites = true; $bForumEnabledForAnySite = false; $bTasksDisabledForAllSites = true; $bTasksEnabledForAnySite = false; $bCalendarDisabledForAllSites = true; $bCalendarEnabledForAnySite = false; while ($arSite = $dbSites->Fetch()) { $tmp_count = count($arAllOptions); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptions[$i][0]."_".$arSite["ID"]; $val = ${$name} ?? null; if ($arAllOptions[$i][3][0] == "checkbox" && $val != "Y") $val = "N"; if ($arAllOptions[$i][3][0] == "select_fields" || $arAllOptions[$i][3][0] == "select_properties" || $arAllOptions[$i][3][0] == "select_rating") if($arAllOptions[$i][3][1] == true): // multiple select if (!is_array($val)) $val = array(); $val = serialize($val); endif; $prev_val = COption::GetOptionString("socialnetwork", $arAllOptions[$i][0], $arAllOptions[$i][2], $arSite["ID"]); COption::SetOptionString("socialnetwork", $arAllOptions[$i][0], $val, $arAllOptions[$i][1], $arSite["ID"]); if ($arAllOptions[$i][0] == "allow_frields") { if ($val == "Y") { $bFriendsDisabledForAllSites = false; $bFriendsEnabledForAnySite = true; } } } $tmp_count = count($arAllOptionsUsers); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsUsers[$i][0]."_".$arSite["ID"]; $val = ${$name} ?? null; if ($arAllOptionsUsers[$i][3][0] == "checkbox" && $val != "Y") $val = "N"; COption::SetOptionString("socialnetwork", $arAllOptionsUsers[$i][0], $val, $arAllOptionsUsers[$i][1], $arSite["ID"]); if ($arAllOptionsUsers[$i][0] == "allow_files_user") { if ($val == "Y") { $bFilesDisabledForAllSites = false; $bFilesEnabledForAnySite = true; } } if ($arAllOptionsUsers[$i][0] == "allow_photo_user") { if ($val == "Y") { $bPhotoDisabledForAllSites = false; $bPhotoEnabledForAnySite = true; } } if ($arAllOptionsUsers[$i][0] == "allow_forum_user") { if ($val == "Y") { $bForumDisabledForAllSites = false; $bForumEnabledForAnySite = true; } } if ($arAllOptionsUsers[$i][0] == "allow_tasks_user") { if ($val == "Y") { $bTasksDisabledForAllSites = false; $bTasksEnabledForAnySite = true; } } if ($arAllOptionsUsers[$i][0] == "allow_calendar_user") { if ($val == "Y") { $bCalendarDisabledForAllSites = false; $bCalendarEnabledForAnySite = true; } } } foreach ($arFeatures as $feature => $feature_name) { $tmp_count = count($arAllOptionsUsersBlocks[$feature]); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsUsersBlocks[$feature][$i][0]."_".$arSite["ID"]; $val = ${$name}; if ($arAllOptionsUsersBlocks[$feature][$i][3][0] == "checkbox" && $val != "Y") $val = "N"; COption::SetOptionString("socialnetwork", $arAllOptionsUsersBlocks[$feature][$i][0], $val, $arAllOptionsUsersBlocks[$feature][$i][1], $arSite["ID"]); } } $arGender = array("male", "female", "unknown"); foreach ($arGender as $gender) { $tmp_count = count($arAllOptionsUsersGender[$gender]); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsUsersGender[$gender][$i][0]."_".$arSite["ID"]; $arPICTURE = $_FILES[$name]; $arPICTURE["del"] = ${$name."_del"} ?? null; $arPICTURE["MODULE_ID"] = "socialnetwork"; if ($old_fid = COption::GetOptionInt("socialnetwork", $arAllOptionsUsersGender[$gender][$i][0], false, $arSite["ID"])) $arPICTURE["old_file"] = $old_fid; $checkRes = CFile::CheckImageFile($arPICTURE, 0, 0, 0); if ($checkRes == '') { $fid = CFile::SaveFile($arPICTURE, "socialnetwork"); if ($arPICTURE["del"] == "Y" || $_FILES[$name]["name"] <> '') COption::SetOptionInt("socialnetwork", $arAllOptionsUsersGender[$gender][$i][0], intval($fid), $arAllOptionsUsersGender[$gender][$i][1], $arSite["ID"]); } else { CAdminMessage::ShowMessage($checkRes); } } } $tmp_count = count($arAllOptionsGroups); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsGroups[$i][0]."_".$arSite["ID"]; $val = ${$name} ?? null; if ( $arAllOptionsGroups[$i][3][0] == "checkbox" && $val != "Y" ) { $val = "N"; } COption::SetOptionString("socialnetwork", $arAllOptionsGroups[$i][0], $val, $arAllOptionsGroups[$i][1], $arSite["ID"]); if ($arAllOptionsUsers[$i][0] == "allow_tasks_group") { if ($val == "Y") { $bTasksDisabledForAllSites = false; $bTasksEnabledForAnySite = true; } } elseif ($arAllOptionsUsers[$i][0] == "allow_calendar_group") { if ($val == "Y") { $bCalendarDisabledForAllSites = false; $bCalendarEnabledForAnySite = true; } } } foreach ($arFeatures as $feature => $feature_name) { $tmp_count = count($arAllOptionsGroupsBlocks[$feature]); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsGroupsBlocks[$feature][$i][0]."_".$arSite["ID"]; $val = ${$name}; if ($arAllOptionsGroupsBlocks[$feature][$i][3][0] == "checkbox" && $val != "Y") $val = "N"; COption::SetOptionString("socialnetwork", $arAllOptionsGroupsBlocks[$feature][$i][0], $val, $arAllOptionsGroupsBlocks[$feature][$i][1], $arSite["ID"]); } } $tmp_count = count($arAllOptionsGroupsGender); for ($i = 0; $i < $tmp_count; $i++) { $name = $arAllOptionsGroupsGender[$i][0]."_".$arSite["ID"]; $arPICTURE = $_FILES[$name]; $arPICTURE["del"] = ${$name."_del"} ?? null; $arPICTURE["MODULE_ID"] = "socialnetwork"; if ($old_fid = COption::GetOptionInt("socialnetwork", $arAllOptionsGroupsGender[$i][0], false, $arSite["ID"])) $arPICTURE["old_file"] = $old_fid; $checkRes = CFile::CheckImageFile($arPICTURE, 0, 0, 0); if ($checkRes == '') { $fid = CFile::SaveFile($arPICTURE, "socialnetwork"); if ($arPICTURE["del"] == "Y" || $_FILES[$name]["name"] <> '') COption::SetOptionInt("socialnetwork", $arAllOptionsGroupsGender[$i][0], intval($fid), $arAllOptionsGroupsGender[$i][1], $arSite["ID"]); } else { CAdminMessage::ShowMessage($checkRes); } } } if ($bFriendsDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("Friends")) { CBXFeatures::SetFeatureEnabled("Friends", false, false); } } elseif( $bFriendsEnabledForAnySite && CBXFeatures::IsFeatureEditable("Friends") && !CBXFeatures::IsFeatureEnabled("Friends") ) { CBXFeatures::SetFeatureEnabled("Friends", true, false); } if ($bFilesDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("PersonalFiles")) { CBXFeatures::SetFeatureEnabled("PersonalFiles", false, false); } } elseif( $bFilesEnabledForAnySite && CBXFeatures::IsFeatureEditable("PersonalFiles") && !CBXFeatures::IsFeatureEnabled("PersonalFiles") ) { CBXFeatures::SetFeatureEnabled("PersonalFiles", true, false); } if ($bBlogDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("PersonalBlog")) { CBXFeatures::SetFeatureEnabled("PersonalBlog", false, false); } } elseif( $bBlogEnabledForAnySite && CBXFeatures::IsFeatureEditable("PersonalBlog") && !CBXFeatures::IsFeatureEnabled("PersonalBlog") ) { CBXFeatures::SetFeatureEnabled("PersonalBlog", true, false); } if ($bPhotoDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("PersonalPhoto")) { CBXFeatures::SetFeatureEnabled("PersonalPhoto", false, false); } } elseif( $bPhotoEnabledForAnySite && CBXFeatures::IsFeatureEditable("PersonalPhoto") && !CBXFeatures::IsFeatureEnabled("PersonalPhoto") ) { CBXFeatures::SetFeatureEnabled("PersonalPhoto", true, false); } if ($bForumDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("PersonalForum")) { CBXFeatures::SetFeatureEnabled("PersonalForum", false, false); } } elseif( $bForumEnabledForAnySite && CBXFeatures::IsFeatureEditable("PersonalForum") && !CBXFeatures::IsFeatureEnabled("PersonalForum") ) { CBXFeatures::SetFeatureEnabled("PersonalForum", true, false); } if ($bTasksDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("Tasks")) { CBXFeatures::SetFeatureEnabled("Tasks", false, false); } } elseif( $bTasksEnabledForAnySite && CBXFeatures::IsFeatureEditable("Tasks") && !CBXFeatures::IsFeatureEnabled("Tasks") ) { CBXFeatures::SetFeatureEnabled("Tasks", true, false); } if ($bCalendarDisabledForAllSites) { if (CBXFeatures::IsFeatureEnabled("Calendar")) { CBXFeatures::SetFeatureEnabled("Calendar", false, false); } } elseif( $bCalendarEnabledForAnySite && CBXFeatures::IsFeatureEditable("Calendar") && !CBXFeatures::IsFeatureEnabled("Calendar") ) { CBXFeatures::SetFeatureEnabled("Calendar", true, false); } CBitrixComponent::clearComponentCache("bitrix:menu"); } if ($strWarning <> '') { CAdminMessage::ShowMessage($strWarning); } $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage("SONET_TAB_SET"), "ICON" => "socialnetwork_settings", "TITLE" => GetMessage("SONET_TAB_SET_ALT")), array("DIV" => "edit2", "TAB" => GetMessage("SONET_TAB_RIGHTS"), "ICON" => "socialnetwork_settings", "TITLE" => GetMessage("SONET_TAB_RIGHTS_ALT")), ); $tabControl = new CAdminTabControl("tabControl", $aTabs); $aSubTabs = array(); foreach ($arFeatures as $key => $value) { $aSubTabs[] = array("DIV" => "opt_user_feature_".$key."_common", "TAB" => $value, 'TITLE' => GetMessage('SONET_SUBTAB_USER_TITLE_FEATURE').' "'.$value.'"'); } $arChildTabControlUserCommon = new CAdminViewTabControl("childTabControlUserCommon", $aSubTabs); $aSubTabs = array(); foreach ($arFeatures as $key => $value) { $aSubTabs[] = array("DIV" => "opt_group_feature_".$key."_common", "TAB" => $value, 'TITLE' => GetMessage('SONET_SUBTAB_GROUP_TITLE_FEATURE').' "'.$value.'"'); } $arChildTabControlGroupCommon = new CAdminViewTabControl("childTabControlGroupCommon", $aSubTabs); $aSiteTabs = array(); $dbSites = CSite::GetList('', '', array("ACTIVE" => "Y")); while ($arSite = $dbSites->Fetch()) { $aSiteTabs[] = array("DIV" => "opt_site_".$arSite["ID"], "TAB" => '['.$arSite["ID"].'] '.htmlspecialcharsbx($arSite["NAME"]), 'TITLE' => GetMessage('SONET_OPTIONS_FOR_SITE').' ['.$arSite["ID"].'] '.htmlspecialcharsbx($arSite["NAME"])); $aSubTabs = array(); foreach ($arFeatures as $key => $value) { $aSubTabs[] = array( "DIV" => "opt_user_feature_".$key."_".$arSite["ID"], "TAB" => $value, "TITLE" => GetMessage("SONET_SUBTAB_USER_TITLE_FEATURE").' "'.$value.'"', "VISIBLE" => (COption::GetOptionString("socialnetwork", "allow_".$key."_user", "Y", $arSite["ID"]) == "Y") ); } $arChildTabControlUser[$arSite["ID"]] = new CAdminViewTabControl("childTabControlUser_".$arSite["ID"], $aSubTabs); $aSubTabsGender = array( array("DIV" => "opt_user_gender_m_".$arSite["ID"], "TAB" => GetMessage("SONET_GENDER_M"), 'TITLE' => GetMessage('SONET_SUBTAB_USER_TITLE_GENDER_M')), array("DIV" => "opt_user_gender_f_".$arSite["ID"], "TAB" => GetMessage("SONET_GENDER_F"), 'TITLE' => GetMessage('SONET_SUBTAB_USER_TITLE_GENDER_F')), array("DIV" => "opt_user_gender_u_".$arSite["ID"], "TAB" => GetMessage("SONET_GENDER_U"), 'TITLE' => GetMessage('SONET_SUBTAB_USER_TITLE_GENDER_U')), ); $arChildTabControlUserGender[$arSite["ID"]] = new CAdminViewTabControl("childTabControlUserGender_".$arSite["ID"], $aSubTabsGender); $aSubTabs = array(); foreach ($arFeatures as $key => $value) { $aSubTabs[] = array( "DIV" => "opt_group_feature_".$key."_".$arSite["ID"], "TAB" => $value, "TITLE" => GetMessage('SONET_SUBTAB_GROUP_TITLE_FEATURE').' "'.$value.'"', "VISIBLE" => (COption::GetOptionString("socialnetwork", "allow_".$key."_group", "Y", $arSite["ID"]) == "Y") ); } $arChildTabControlGroup[$arSite["ID"]] = new CAdminViewTabControl("childTabControlGroup_".$arSite["ID"], $aSubTabs); } $arChildTabControlSite = new CAdminViewTabControl("childTabControlSite", $aSiteTabs); $siteList = array( array("ID" => "all", "NAME" => GetMessage("SONET_ALL_SITES")) ); $rsSites = CSite::GetList("sort", "asc", array("ACTIVE" => "Y")); $i = 1; while($arRes = $rsSites->Fetch()) { $siteList[$i]["ID"] = $arRes["ID"]; $siteList[$i]["NAME"] = $arRes["NAME"]; $i++; } $siteCount = $i; ?> Begin(); ?>