%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/socialnetwork.group_create.ex/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/socialnetwork.group_create.ex/include.php |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); use \Bitrix\Socialnetwork\UserToGroupTable; if (!function_exists('__GCE_GetGroup')) { function __GCEGetGroup(&$group_id, &$arGroupProperties = array(), &$arGroupTmp = array(), $tab = false) { global $USER; if (!CModule::IncludeModule("socialnetwork")) { $group_id = 0; return; } $arGroup = CSocNetGroup::getById($group_id); if ($arGroup && ( ( $tab == "edit" && ( $arGroup["OWNER_ID"] == $USER->GetID() || CSocNetUser::IsCurrentUserModuleAdmin() ) ) || ( $tab == "invite" && ( CSocNetUser::IsCurrentUserModuleAdmin() || CSocNetGroup::CanUserInitiate($USER->GetID(), $group_id) ) ) ) ) { $arGroupTmp["NAME"] = $arGroup["NAME"]; $arGroupTmp["DESCRIPTION"] = $arGroup["DESCRIPTION"]; $arGroupTmp["IMAGE_ID_DEL"] = "N"; $arGroupTmp["SUBJECT_ID"] = $arGroup["SUBJECT_ID"]; $arGroupTmp["VISIBLE"] = $arGroup["VISIBLE"]; $arGroupTmp["OPENED"] = $arGroup["OPENED"]; $arGroupTmp["CLOSED"] = $arGroup["CLOSED"]; $arGroupTmp["PROJECT"] = ($arGroup["PROJECT"] == 'Y' ? 'Y' : 'N'); $arGroupTmp["PROJECT_DATE_START"] = ($arGroupTmp["PROJECT"] == 'Y' ? $arGroup["PROJECT_DATE_START"] : false); $arGroupTmp["PROJECT_DATE_FINISH"] = ($arGroupTmp["PROJECT"] == 'Y' ? $arGroup["PROJECT_DATE_FINISH"] : false); $arGroupTmp["KEYWORDS"] = $arGroup["KEYWORDS"]; $arGroupTmp["OWNER_ID"] = $arGroup["OWNER_ID"]; $arGroupTmp["INITIATE_PERMS"] = $arGroup["INITIATE_PERMS"]; $arGroupTmp["SPAM_PERMS"] = $arGroup["SPAM_PERMS"]; $arGroupTmp["IMAGE_ID"] = $arGroup["IMAGE_ID"]; $arGroupTmp["IMAGE_ID_FILE"] = CFile::GetFileArray($arGroup["IMAGE_ID"]); $arGroupTmp["IMAGE_ID_IMG"] = '<img src="'.($arGroupTmp["IMAGE_ID_FILE"] != false ? $arGroupTmp["IMAGE_ID_FILE"]["SRC"] : "/bitrix/images/1.gif").'" height="60" class="sonet-group-create-popup-image" id="sonet_group_create_popup_image" border="0">'; $arGroupTmp["MODERATOR_IDS"] = array(); foreach($arGroupProperties as $field => $arUserField) { if (array_key_exists($field, $arGroup)) { $arGroupProperties[$field]["VALUE"] = $arGroup["~".$field]; $arGroupProperties[$field]["ENTITY_VALUE_ID"] = $arGroup["ID"]; } } $arGroupTmp["IS_EXTRANET_GROUP"] = ( CModule::IncludeModule("extranet") && CExtranet::IsExtranetSocNetGroup($group_id) ? "Y" : "N" ); $res = UserToGroupTable::getList(array( 'filter' => array( 'ROLE' => UserToGroupTable::ROLE_MODERATOR, 'GROUP_ID' => $group_id, '=USER.ACTIVE' => 'Y' ), 'select' => array('USER_ID') )); while($relation = $res->fetch()) { $arGroupTmp["MODERATOR_IDS"][] = $relation['USER_ID']; } } else { $arGroupTmp["VISIBLE"] = "Y"; $arGroupTmp["IS_EXTRANET_GROUP"] = "N"; $group_id = 0; } } } if (!function_exists('__GCE_GetFeatures')) { function __GCE_GetFeatures($group_id, &$arFeatures) { if (!CModule::IncludeModule("socialnetwork")) { return; } $arFeaturesTmp = array(); if (intval($group_id) > 0) { $dbResultTmp = CSocNetFeatures::getList( array(), array("ENTITY_ID" => $group_id, "ENTITY_TYPE" => SONET_ENTITY_GROUP) ); while ($arResultTmp = $dbResultTmp->GetNext()) { $arFeaturesTmp[$arResultTmp["FEATURE"]] = $arResultTmp; } } $arSocNetFeaturesSettings = CSocNetAllowed::getAllowedFeatures(); $sampleKeysList = array( 'tasks' => 1, 'calendar' => 2, 'files' => 3, 'chat' => 4, 'forum' => 5, 'microblog' => 6, 'blog' => 7, 'photo' => 8, 'group_lists' => 9, 'wiki' => 10, 'content_search' => 11, 'marketplace' => 12, ); uksort($arSocNetFeaturesSettings, function($a, $b) use ($sampleKeysList) { $valA = (isset($sampleKeysList[$a]) ? $sampleKeysList[$a] : 100); $valB = (isset($sampleKeysList[$b]) ? $sampleKeysList[$b] : 100); if ($valA > $valB) { return 1; } elseif ($valA < $valB) { return -1; } return 0; }); foreach ($arSocNetFeaturesSettings as $feature => $arFeature) { if ( !is_array($arFeature["allowed"]) || !in_array(SONET_ENTITY_GROUP, $arFeature["allowed"]) ) { continue; } if (intval($group_id) == 0) { $arFeaturesTmp[$feature]["ACTIVE"] = ( $feature == "chat" ? \CUserOptions::getOption("socialnetwork", "default_chat_create_default", "Y") : COption::getOptionString("socialnetwork", "default_".$feature."_create_default", "Y", SITE_ID) ); } $arFeatures[$feature] = array( "FeatureName" => (!empty($arFeaturesTmp) ? $arFeaturesTmp[$feature]["FEATURE_NAME"] : false), "Active" => ( !empty($arFeaturesTmp) && array_key_exists($feature, $arFeaturesTmp) ? ($arFeaturesTmp[$feature]["ACTIVE"] == "Y") // saved : true ) ); } } } ?>