예제 #1
0
<?php

require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
IncludeModuleLangFile(__FILE__);
$errorMessage = "";
if (check_bitrix_sessid()) {
    $GROUP_ID = intval($_REQUEST['GROUP_ID']);
    $USER_ID = intval($_REQUEST['USER_ID']);
    if ($GROUP_ID && $USER_ID && CModule::IncludeModule('socialnetwork')) {
        $arGroup = CSocNetGroup::GetByID($GROUP_ID);
        if (intval($arGroup["OWNER_ID"]) != $USER_ID) {
            if ($arGroup) {
                $CurrentUserPerms = CSocNetUserToGroup::InitUserPerms($GLOBALS["USER"]->GetID(), $arGroup, CSocNetUser::IsCurrentUserModuleAdmin($arGroup["SITE_ID"]));
                if ($CurrentUserPerms["UserCanModifyGroup"]) {
                    $res = CSocNetUserToGroup::SetOwner($USER_ID, $GROUP_ID, $arGroup);
                    if (!$res && ($e = $GLOBALS["APPLICATION"]->GetException())) {
                        $errorMessage = $e->GetString();
                    }
                    if (strlen($errorMessage) <= 0) {
                        echo '<script>window.location.reload();</script>';
                    } else {
                        echo '<script>alert(\'' . CUtil::JSEscape($errorMessage) . '\');</script>';
                    }
                } else {
                    echo '<script>alert(\'Access denied!\');</script>';
                }
            } else {
                echo '<script>alert(\'Group error!\');</script>';
            }
        } else {
            // new owner is equal to old one
예제 #2
0
     die;
 }
 $arRelationID = array();
 $arRelalationData = array();
 $rsRelation = CSocNetUserToGroup::GetList(array("ID" => "DESC"), array("USER_ID" => $arUserID, "GROUP_ID" => $arGroup["ID"]), false, false, array("ID", "USER_ID", "GROUP_ID", "ROLE"));
 while ($arRelation = $rsRelation->Fetch()) {
     $arRelationID[] = $arRelation["ID"];
     $arRelalationData[] = $arRelation;
 }
 if ($_POST['ACTION'] == 'U2M' && !CSocNetUserToGroup::TransferMember2Moderator($GLOBALS["USER"]->GetID(), $arGroup["ID"], $arRelationID, CSocNetUser::IsCurrentUserModuleAdmin())) {
     echo CUtil::PhpToJsObject(array('ERROR' => 'USER_ACTION_FAILED: ' . (($e = $APPLICATION->GetException()) ? $e->GetString() : "")));
     die;
 } elseif ($_POST['ACTION'] == 'M2U' && !CSocNetUserToGroup::TransferModerator2Member($GLOBALS["USER"]->GetID(), $arGroup["ID"], $arRelationID, CSocNetUser::IsCurrentUserModuleAdmin())) {
     echo CUtil::PhpToJsObject(array('ERROR' => 'USER_ACTION_FAILED: ' . (($e = $APPLICATION->GetException()) ? $e->GetString() : "")));
     die;
 } elseif ($_POST['ACTION'] == 'SETOWNER' && !CSocNetUserToGroup::SetOwner($arUserID[0], $arGroup["ID"], $arGroup)) {
     echo CUtil::PhpToJsObject(array('ERROR' => 'USER_ACTION_FAILED: ' . (($e = $APPLICATION->GetException()) ? $e->GetString() : "")));
     die;
 } elseif ($_POST['ACTION'] == 'BAN' && !CSocNetUserToGroup::BanMember($GLOBALS["USER"]->GetID(), $arGroup["ID"], $arRelationID, CSocNetUser::IsCurrentUserModuleAdmin())) {
     echo CUtil::PhpToJsObject(array('ERROR' => 'USER_ACTION_FAILED: ' . (($e = $APPLICATION->GetException()) ? $e->GetString() : "")));
     die;
 } elseif ($_POST['ACTION'] == 'UNBAN' && !CSocNetUserToGroup::UnBanMember($GLOBALS["USER"]->GetID(), $arGroup["ID"], $arRelationID, CSocNetUser::IsCurrentUserModuleAdmin())) {
     echo CUtil::PhpToJsObject(array('ERROR' => 'USER_ACTION_FAILED: ' . (($e = $APPLICATION->GetException()) ? $e->GetString() : "")));
     die;
 } elseif ($_POST['ACTION'] == 'EX') {
     foreach ($arRelalationData as $relationData) {
         //group owner can't exclude himself from the group
         if ($relationData["ROLE"] == SONET_ROLES_OWNER) {
             echo CUtil::PhpToJsObject(array('ERROR' => 'SONET_GUE_T_OWNER_CANT_EXCLUDE_HIMSELF'));
             die;
         }