Пример #1
0
 function OnUserInitialize($user_id, $arFields = array())
 {
     if (intval($user_id) <= 0) {
         return false;
     }
     if (CModule::IncludeModule("im")) {
         $bIM = true;
     }
     $dbRelation = CSocNetUserToGroup::GetList(array(), array("USER_ID" => $user_id, "ROLE" => SONET_ROLES_REQUEST, "INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP), false, false, array("ID", "GROUP_ID"));
     while ($arRelation = $dbRelation->Fetch()) {
         if (CSocNetUserToGroup::UserConfirmRequestToBeMember($user_id, $arRelation["ID"], false) && defined("BX_COMP_MANAGED_CACHE")) {
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_G" . $arRelation["GROUP_ID"]);
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_U" . $user_id);
             if ($bIM) {
                 CIMNotify::DeleteByTag("SOCNET|INVITE_GROUP|" . $user_id . "|" . intval($arRelation["ID"]));
             }
         }
     }
 }
Пример #2
0
             }
         }
     } elseif ($_REQUEST["action"] == "reject") {
         if (!CSocNetUserRelations::RejectRequestToBeFriend($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["eventID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 $errorMessage .= $e->GetString();
             }
         }
     }
     if (strlen($errorMessage) > 0) {
         echo $errorMessage;
     }
 } elseif ($_REQUEST["EventType"] == "GroupRequest" && IntVal($_REQUEST["eventID"]) > 0) {
     $errorMessage = "";
     if ($_REQUEST["action"] == "add") {
         if (!CSocNetUserToGroup::UserConfirmRequestToBeMember($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["eventID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 $errorMessage .= $e->GetString();
             }
         }
     } elseif ($_REQUEST["action"] == "reject") {
         if (!CSocNetUserToGroup::UserRejectRequestToBeMember($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["eventID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 $errorMessage .= $e->GetString();
             }
         }
     }
     if (strlen($errorMessage) > 0) {
         echo $errorMessage;
     }
 } elseif ($_REQUEST["EventType"] == "Message" && IntVal($_REQUEST["eventID"]) > 0) {
Пример #3
0
 public static function OnAfterUserAuthorize($arParams)
 {
     if (isset($arParams['update']) && $arParams['update'] === false) {
         return false;
     }
     if ($arParams['user_fields']['ID'] <= 0) {
         return false;
     }
     if (array_key_exists('CONFIRM_CODE', $arParams['user_fields']) && strlen(trim($arParams['user_fields']['CONFIRM_CODE'])) >= 0 && CModule::IncludeModule("socialnetwork")) {
         $dbRelation = CSocNetUserToGroup::GetList(array(), array("USER_ID" => $arParams['user_fields']['ID'], "ROLE" => SONET_ROLES_REQUEST, "INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP), false, false, array("ID", "GROUP_ID"));
         while ($arRelation = $dbRelation->Fetch()) {
             if (CSocNetUserToGroup::UserConfirmRequestToBeMember($arParams['user_fields']['ID'], $arRelation["ID"], false)) {
                 if (defined("BX_COMP_MANAGED_CACHE")) {
                     $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_G" . $arRelation["GROUP_ID"]);
                     $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_U" . $arParams['user_fields']['ID']);
                 }
                 if (CModule::IncludeModule("im")) {
                     CIMNotify::DeleteByTag("SOCNET|INVITE_GROUP|" . $arParams['user_fields']['ID'] . "|" . intval($arRelation["ID"]));
                 }
             }
         }
     }
 }
Пример #4
0
                 }
             }
         }
     }
 }
 //Handling confirmation with e-mail links
 if ($_SERVER["REQUEST_METHOD"] == "GET" && isset($_GET["CONFIRM"])) {
     $errorMessage = "";
     //ACCESS CHECK: only user himself and socnet admin are allowed to confirm
     if ($GLOBALS["USER"]->GetID() != $arParams["USER_ID"] && !CSocNetUser::IsCurrentUserModuleAdmin()) {
         $errorMessage = GetMessage("SONET_URE_NO_PERMS");
     }
     if (isset($_GET["INVITE_GROUP"])) {
         $relationID = intval($_GET["INVITE_GROUP"]);
         if ($_GET["CONFIRM"] == "Y") {
             if (CSocNetUserToGroup::UserConfirmRequestToBeMember($arParams["USER_ID"], $relationID, $bAutoSubscribe)) {
                 $infoMessage = GetMessage("SONET_URE_GROUP_CONFIRM", array('#GROUP#' => getRelatedGroup($relationID)));
             } else {
                 if ($e = $APPLICATION->GetException()) {
                     $errorMessage .= $e->GetString();
                 }
             }
         } elseif ($_GET["CONFIRM"] == "N") {
             $group = getRelatedGroup($relationID);
             if ($group && CSocNetUserToGroup::UserRejectRequestToBeMember($arParams["USER_ID"], $relationID)) {
                 $infoMessage = GetMessage("SONET_URE_GROUP_REJECT", array("#GROUP#" => $group));
             } else {
                 if ($e = $APPLICATION->GetException()) {
                     $errorMessage .= $e->GetString();
                 }
             }