if ($_REQUEST['action_target'] == 'selected') { $arID = array(); $dbResultList = CSocNetGroup::GetList(array($by => $order), $arFilter, false, false, array("ID")); while ($arResult = $dbResultList->Fetch()) { $arID[] = $arResult['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CSocNetGroup::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("SONET_DELETE_ERROR"), $ID); } } $DB->Commit(); break; } } } $dbResultList = CSocNetGroup::GetList(array($by => $order), $arFilter, false, false, array("ID", "SUBJECT_ID", "NAME", "SITE_ID", "OWNER_ID")); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart();
public static function deleteGroup($arFields) { $groupID = $arFields['GROUP_ID']; if(intval($groupID) <= 0) throw new Exception('Wrong group ID'); $dbRes = CSocNetGroup::GetList(array(), array( "ID" => $groupID, "CHECK_PERMISSIONS" => "Y" )); $arGroup = $dbRes->Fetch(); if(is_array($arGroup)) { if ( $arGroup["OWNER_ID"] == $GLOBALS["USER"]->GetID() || CSocNetUser::IsCurrentUserModuleAdmin(SITE_ID, false) ) { if (!CSocNetGroup::Delete($arGroup["ID"])) throw new Exception('Cannot delete group'); } else throw new Exception('User has no permissions to delete group'); } else throw new Exception('Socialnetwork group not found'); return true; }
$arResult["Group"] = $arGroup; $arResult["CurrentUserPerms"] = CSocNetUserToGroup::InitUserPerms($GLOBALS["USER"]->GetID(), $arResult["Group"], CSocNetUser::IsCurrentUserModuleAdmin()); $arResult["Urls"]["User"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $GLOBALS["USER"]->GetID())); $arResult["Urls"]["Group"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arResult["Group"]["ID"])); if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle($arResult["Group"]["NAME"] . ": " . GetMessage("SONET_C9_TITLE")); } if ($arParams["SET_NAV_CHAIN"] != "N") { $APPLICATION->AddChainItem($arResult["Group"]["NAME"], $arResult["Urls"]["Group"]); $APPLICATION->AddChainItem(GetMessage("SONET_C9_TITLE")); } if (!$arResult["CurrentUserPerms"]["UserCanModifyGroup"]) { $arResult["FatalError"] = GetMessage("SONET_C9_NO_PERMS") . ". "; } else { $arResult["ShowForm"] = "Input"; if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($_POST["save"]) > 0 && check_bitrix_sessid()) { $errorMessage = ""; if (strlen($errorMessage) <= 0 && !CSocNetGroup::Delete($arResult["Group"]["ID"]) && ($e = $APPLICATION->GetException())) { $errorMessage .= $e->GetString(); } if (strlen($errorMessage) > 0) { $arResult["ErrorMessage"] = $errorMessage; } else { $arResult["ShowForm"] = "Confirm"; } } } } } } $this->IncludeComponentTemplate();