本文整理汇总了PHP中CSocNetFeatures::SetFeature方法的典型用法代码示例。如果您正苦于以下问题:PHP CSocNetFeatures::SetFeature方法的具体用法?PHP CSocNetFeatures::SetFeature怎么用?PHP CSocNetFeatures::SetFeature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSocNetFeatures
的用法示例。
在下文中一共展示了CSocNetFeatures::SetFeature方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Execute
public function Execute()
{
if (!CModule::IncludeModule("socialnetwork")) {
return CBPActivityExecutionStatus::Closed;
}
$rootActivity = $this->GetRootActivity();
$documentId = $rootActivity->GetDocumentId();
$ownerId = CBPHelper::ExtractUsers($this->OwnerId, $documentId, true);
$users = array_unique(CBPHelper::ExtractUsers($this->Users, $documentId, false));
$dbSubjects = CSocNetGroupSubject::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("SITE_ID" => SITE_ID), false, false, array("ID"));
$row = $dbSubjects->fetch();
if (!$row) {
$this->WriteToTrackingService(GetMessage("BPCWG_ERROR_SUBJECT_ID"));
return CBPActivityExecutionStatus::Closed;
}
$subjectId = $row['ID'];
unset($dbSubjects, $row);
$options = array("SITE_ID" => SITE_ID, "NAME" => $this->GroupName, "VISIBLE" => "Y", "OPENED" => "N", "CLOSED" => "N", "SUBJECT_ID" => $subjectId, "INITIATE_PERMS" => SONET_ROLES_OWNER, "SPAM_PERMS" => SONET_ROLES_USER);
$groupId = CSocNetGroup::CreateGroup($ownerId, $options);
if (!$groupId) {
$this->WriteToTrackingService(GetMessage("BPCWG_ERROR_CREATE_GROUP"));
return CBPActivityExecutionStatus::Closed;
}
$features = array();
$allowedFeatures = CSocNetAllowed::GetAllowedFeatures();
foreach ($allowedFeatures as $feature => $arFeature) {
if (is_array($arFeature["allowed"]) && in_array(SONET_ENTITY_GROUP, $arFeature["allowed"])) {
$features[] = $feature;
}
}
foreach ($features as $feature) {
CSocNetFeatures::SetFeature(SONET_ENTITY_GROUP, $groupId, $feature, true);
}
$this->GroupId = $groupId;
foreach ($users as $user) {
if ($user == $ownerId) {
continue;
}
CSocNetUserToGroup::Add(array("USER_ID" => $user, "GROUP_ID" => $groupId, "ROLE" => SONET_ROLES_USER, "=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "=DATE_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP, "INITIATED_BY_USER_ID" => $ownerId, "MESSAGE" => false));
}
return CBPActivityExecutionStatus::Closed;
}
示例2: elseif
$APPLICATION->RestartBuffer();
?>
<script type="text/javascript">
top.BX.reload();
</script><?php
die;
} else {
echo $errorMessage;
die;
}
} elseif ($_SERVER['REQUEST_METHOD'] == 'POST' && array_key_exists("sm_action", $_REQUEST) && $_REQUEST["sm_action"] == "add" && check_bitrix_sessid()) {
if (array_key_exists($_REQUEST["feature"], $arSocNetFeaturesSettings) && in_array($arParams["ENTITY_TYPE"], $arSocNetFeaturesSettings[$_REQUEST["feature"]]["allowed"]) || in_array($_REQUEST['feature'], $arStaticTabs)) {
$dbResultTmp = CSocNetFeatures::GetList(array(), array("ENTITY_ID" => $arParams['ENTITY_ID'], "ENTITY_TYPE" => $arParams['ENTITY_TYPE'], "FEATURE" => $_REQUEST['feature']));
$arResultTmp = $dbResultTmp->Fetch();
if ($arResultTmp) {
CSocNetFeatures::SetFeature($arParams['ENTITY_TYPE'] == SONET_ENTITY_GROUP ? SONET_ENTITY_GROUP : SONET_ENTITY_USER, $arParams['ENTITY_ID'], $_REQUEST["feature"], true, $arResultTmp["FEATURE_NAME"]);
}
$arUserOptions = CUserOptions::GetOption("socialnetwork", "~menu_" . $arParams["ENTITY_TYPE"] . "_" . $arParams["ENTITY_ID"], false, 0);
if (is_array($arUserOptions)) {
$arUserOptions["FEATURES"][$_REQUEST["feature"]]["INDEX"] = count($arUserOptions["FEATURES"]);
}
CUserOptions::SetOption("socialnetwork", "~menu_" . $arParams["ENTITY_TYPE"] . "_" . $arParams["ENTITY_ID"], $arUserOptions, false, 0);
} else {
$errorMessage = GetMessage("SONET_SM_FEATURE_INCORRECT");
}
if (!$errorMessage) {
$APPLICATION->RestartBuffer();
?>
<script type="text/javascript">
top.BX.reload();
</script><?php
示例3: elseif
}
}
if (strlen($errorMessage) <= 0 && array_key_exists("TAB", $arResult) && $arResult["TAB"] != "edit") {
$arResult["GROUP_ID"] = $arParams["GROUP_ID"];
}
if (strlen($arImageID["tmp_name"]) > 0) {
CFile::ResizeImageDeleteCache($arImageID);
}
if (strlen($errorMessage) > 0) {
$arResult["ErrorMessage"] = $errorMessage;
$arResult["bVarsFromForm"] = true;
} elseif ($arResult["GROUP_ID"] > 0) {
/* features */
if (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "edit") {
foreach ($arResult["POST"]["FEATURES"] as $feature => $arFeature) {
$idTmp = CSocNetFeatures::SetFeature(SONET_ENTITY_GROUP, $arResult["GROUP_ID"], $feature, $_POST[$feature . "_active"] == "Y" ? true : false, strlen($arFeature["FeatureName"]) > 0 ? $arFeature["FeatureName"] : false);
if (!$idTmp) {
if ($e = $APPLICATION->GetException()) {
$errorMessage .= $e->GetString();
}
} else {
$bSecondStepSuccess = true;
}
}
}
/* invite */
if (strlen($errorMessage) <= 0 && (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "invite")) {
if (CModule::IncludeModule('extranet') && CModule::IncludeModule('intranet')) {
if ($_POST["EXTRANET_INVITE_ACTION"] == "invite" && strlen($_POST["EMAILS"]) > 0) {
$arEmail = array();
$arIntranetUsersEmails = array();
示例4: foreach
if ($arParams["PAGE_ID"] == "group_features") {
$APPLICATION->AddChainItem($arResult["Group"]["NAME"], $arResult["Urls"]["Group"]);
$APPLICATION->AddChainItem(GetMessage("SONET_C3_GROUP_SETTINGS"));
} else {
$APPLICATION->AddChainItem($strTitleFormatted, $arResult["Urls"]["User"]);
$APPLICATION->AddChainItem(GetMessage("SONET_C3_USER_SETTINGS"));
}
}
$arResult["ShowForm"] = "Input";
if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($_POST["save"]) > 0 && check_bitrix_sessid()) {
$errorMessage = "";
foreach ($arResult["Features"] as $feature => $arFeature) {
if ($feature == "blog" && $arParams["PAGE_ID"] != "group_features") {
$_REQUEST["blog_active"] = "Y";
}
$idTmp = CSocNetFeatures::SetFeature($arParams["PAGE_ID"] == "group_features" ? SONET_ENTITY_GROUP : SONET_ENTITY_USER, $arParams["PAGE_ID"] == "group_features" ? $arResult["Group"]["ID"] : $arResult["User"]["ID"], $feature, $_REQUEST[$feature . "_active"] == "Y" ? true : false, StrLen($_REQUEST[$feature . "_name"]) > 0 ? $_REQUEST[$feature . "_name"] : false);
if ($idTmp && $_REQUEST[$feature . "_active"] == "Y" && (!array_key_exists("hide_operations_settings", $GLOBALS["arSocNetFeaturesSettings"][$feature]) || !$GLOBALS["arSocNetFeaturesSettings"][$feature]["hide_operations_settings"])) {
foreach ($arFeature["Operations"] as $operation => $perm) {
if (!array_key_exists("restricted", $GLOBALS["arSocNetFeaturesSettings"][$feature]["operations"][$operation]) || !in_array($key, $GLOBALS["arSocNetFeaturesSettings"][$feature]["operations"][$operation]["restricted"][$arParams["PAGE_ID"] == "group_features" ? SONET_ENTITY_GROUP : SONET_ENTITY_USER])) {
$id1Tmp = CSocNetFeaturesPerms::SetPerm($idTmp, $operation, $_REQUEST[$feature . "_" . $operation . "_perm"]);
if (!$id1Tmp && ($e = $APPLICATION->GetException())) {
$errorMessage .= $e->GetString();
}
}
}
} elseif ($e = $APPLICATION->GetException()) {
$errorMessage .= $e->GetString();
}
}
if (strlen($errorMessage) > 0) {
$arResult["ErrorMessage"] = $errorMessage;