Example #1
0
 function AddNewUser($SITE_ID, $arFields, &$strError)
 {
     $ID_ADDED = 0;
     $iDepartmentId = intval($arFields["DEPARTMENT_ID"]);
     $bExtranet = $iDepartmentId <= 0;
     $strEmail = trim($arFields["ADD_EMAIL"]);
     $strName = trim($arFields["ADD_NAME"]);
     $strLastName = trim($arFields["ADD_LAST_NAME"]);
     $strPosition = trim($arFields["ADD_POSITION"]);
     $strPassword = self::GeneratePassword($SITE_ID, $bExtranetUser);
     self::setSendPassword($arFields["ADD_SEND_PASSWORD"] == "Y");
     if (strlen($strEmail) <= 0) {
         if (!isset($arFields["ADD_MAILBOX_ACTION"]) || !in_array($arFields["ADD_MAILBOX_ACTION"], array("create", "connect")) || strlen($arFields['ADD_MAILBOX_USER']) <= 0 || strlen($arFields['ADD_MAILBOX_DOMAIN']) <= 0) {
             $strError = GetMessage("BX24_INVITE_DIALOG_ERROR_EMPTY_EMAIL");
         } else {
             // email from mailbox
             $strEmail = $arFields['ADD_MAILBOX_USER'] . "@" . $arFields['ADD_MAILBOX_DOMAIN'];
         }
     }
     if (!$strError) {
         $arUser = array("LOGIN" => $strEmail, "NAME" => $strName, "LAST_NAME" => $strLastName, "EMAIL" => $strEmail, "PASSWORD" => $strPassword, "GROUP_ID" => CIntranetInviteDialog::getUserGroups($SITE_ID, $bExtranet), "WORK_POSITION" => $strPosition, "UF_DEPARTMENT" => $iDepartmentId > 0 ? array($iDepartmentId) : array(0));
         if (!self::getSendPassword()) {
             $arUser["CONFIRM_CODE"] = randString(8);
         }
         $obUser = new CUser();
         $ID_ADDED = $obUser->Add($arUser);
         if (!$ID_ADDED) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 $strError = $e->GetString();
             } else {
                 $strError = $obUser->LAST_ERROR;
             }
         } else {
             if (self::getSendPassword()) {
                 $db_events = GetModuleEvents("main", "OnUserInitialize", true);
                 foreach ($db_events as $arEvent) {
                     ExecuteModuleEventEx($arEvent, array($ID_ADDED, $arUser));
                 }
             }
             $SiteIdToSend = $bExtranet && CModule::IncludeModule("extranet") ? CExtranet::GetExtranetSiteID() : CSite::GetDefSite();
             $rsSites = CSite::GetByID($SiteIdToSend);
             $arSite = $rsSites->Fetch();
             $serverName = strlen($arSite["SERVER_NAME"]) > 0 ? $arSite["SERVER_NAME"] : (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", ""));
             $event = new CEvent();
             if (self::getSendPassword()) {
                 $url = (CMain::IsHTTPS() ? "https" : "http") . "://" . $serverName . $arSite["DIR"];
                 $event->SendImmediate("INTRANET_USER_ADD", $SITE_ID, array("EMAIL_TO" => $arUser["EMAIL"], "LINK" => $url, "PASSWORD" => $strPassword, "USER_TEXT" => GetMessage("BX24_INVITE_DIALOG_INVITE_MESSAGE_TEXT")));
             } else {
                 $dbUser = CUser::GetByID($ID_ADDED);
                 $arUser = $dbUser->Fetch();
                 if (IsModuleInstalled("bitrix24")) {
                     $event->SendImmediate("BITRIX24_USER_INVITATION", $SITE_ID, array("EMAIL_FROM" => $GLOBALS["USER"]->GetEmail(), "EMAIL_TO" => $arUser["EMAIL"], "LINK" => CHTTP::URN2URI("/bitrix/tools/intranet_invite_dialog.php?user_id=" . $ID_ADDED . "&checkword=" . urlencode($arUser["CONFIRM_CODE"]), $serverName), "USER_TEXT" => GetMessage("BX24_INVITE_DIALOG_INVITE_MESSAGE_TEXT")));
                 } else {
                     $event->SendImmediate("INTRANET_USER_INVITATION", $SITE_ID, array("EMAIL_TO" => $arUser["EMAIL"], "LINK" => CHTTP::URN2URI("/bitrix/tools/intranet_invite_dialog.php?user_id=" . $ID_ADDED . "&checkword=" . urlencode($arUser["CONFIRM_CODE"]), $serverName), "USER_TEXT" => GetMessage("BX24_INVITE_DIALOG_INVITE_MESSAGE_TEXT")));
                 }
             }
         }
     }
     return $ID_ADDED;
 }
Example #2
0
    } elseif ($_REQUEST['show_user'] == 'all') {
        $show_user = '******';
    } else {
        $show_user = '******';
    }
}
$arParams["show_user"] = $show_user;
$outlook_link = 'javascript:' . CIntranetUtils::GetStsSyncURL(array('LINK_URL' => $APPLICATION->GetCurPage()), 'contacts', $arParams["EXTRANET_TYPE"] == "employees" ? true : false);
global $USER;
?>
<div class="employee-search-block">
	<?php 
if (($USER->CanDoOperation('bitrix24_invite') && IsModuleInstalled('bitrix24') || !IsModuleInstalled("bitrix24") && $USER->CanDoOperation('edit_all_users')) && CModule::IncludeModule('intranet') && $arParams['TABLE_VIEW'] != 'group_table') {
    ?>
		<a class="webform-small-button webform-small-button-blue bx24-top-toolbar-add" href="javascript:void(0)" onclick="<?php 
    echo CIntranetInviteDialog::ShowInviteDialogLink();
    ?>
">
			<span class="webform-small-button-icon"></span>
			<span class="webform-small-button-text"><?php 
    echo GetMessage("INTR_COMP_IS_TPL_TOOLBAR_USER_INVITE");
    ?>
</span>
		</a>
	<?php 
}
?>
	<div class="bx24-top-bar-search-wrap employee-search-wrap">
		<?php 
$arFilterValues = $APPLICATION->IncludeComponent("bitrix:intranet.structure.selector", "advanced", $arParams, $component, array('HIDE_ICONS' => 'Y'));
?>
Example #3
0
                         if (StrLen($errorMessage) <= 0) {
                             $errorMessage .= str_replace("#RELATION_ID#", $arRelation["ID"], GetMessage("SONET_GRE_CANT_DELETE_INVITATION"));
                         }
                     }
                 }
                 $APPLICATION->ThrowException($errorMessage, "ERROR_DELETE_RELATION");
             }
         }
     }
     if (strlen($errorMessage) > 0) {
         $arResult["ErrorMessage"] = $errorMessage;
     }
 } elseif (CModule::IncludeModule('extranet') && in_array(CExtranet::GetExtranetSiteID(), $arGroupSites) && intval($_REQUEST["invite_user_id"]) > 0 && check_bitrix_sessid() && CModule::IncludeModule('intranet')) {
     $rsInvitedUser = CUser::GetByID(intval($_REQUEST["invite_user_id"]));
     if (($arInvitedUser = $rsInvitedUser->Fetch()) && (!is_array($arInvitedUser["UF_DEPARTMENT"]) || intval($arInvitedUser["UF_DEPARTMENT"][0]) <= 0) && strlen($arInvitedUser["LAST_LOGIN"]) <= 0 && strlen($arInvitedUser["LAST_ACTIVITY_DATE"]) <= 0) {
         CIntranetInviteDialog::ReinviteUser(SITE_ID, $arInvitedUser["ID"]);
         LocalRedirect($APPLICATION->GetCurPageParam("invite_sent=Y", array("invite_user_id", "employee")));
     }
 }
 $arNavParams = array("nPageSize" => $arParams["ITEMS_COUNT"], "bDescPageNumbering" => false);
 $parser = new CSocNetTextParser(LANGUAGE_ID, $arParams["PATH_TO_SMILE"]);
 $arResult["Requests"] = false;
 $dbRequests = CSocNetUserToGroup::GetList(array("DATE_CREATE" => "ASC"), array("GROUP_ID" => $arResult["Group"]["ID"], "ROLE" => SONET_ROLES_REQUEST, "INITIATED_BY_TYPE" => SONET_INITIATED_BY_USER), false, $arNavParams, array("ID", "USER_ID", "DATE_CREATE", "DATE_UPDATE", "MESSAGE", "USER_NAME", "USER_LAST_NAME", "USER_SECOND_NAME", "USER_LOGIN", "USER_PERSONAL_PHOTO", "USER_PERSONAL_GENDER"));
 if ($dbRequests) {
     $arResult["Requests"] = array();
     $arResult["Requests"]["List"] = false;
     while ($arRequests = $dbRequests->GetNext()) {
         if ($arResult["Requests"]["List"] == false) {
             $arResult["Requests"]["List"] = array();
         }
         $pu = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arRequests["USER_ID"]));
Example #4
0
                             $errorMessage .= $strErrorTmp;
                         }
                     } else {
                         $arUserIDs[] = $ID;
                         $userData['ID'] = $ID;
                         CIntranetInviteDialog::InviteUser($userData, htmlspecialcharsbx($_POST["MESSAGE_TEXT"]), SITE_ID);
                     }
                 }
             }
         }
         if (!empty($errorMessage)) {
             $arResult["ErrorFields"][] = "EXTRANET_BLOCK";
         }
     } elseif ($_POST["EXTRANET_INVITE_ACTION"] == "add" && CModule::IncludeModule("intranet")) {
         $userData = array("ADD_EMAIL" => $_POST["ADD_EMAIL"], "ADD_NAME" => $_POST["ADD_NAME"], "ADD_LAST_NAME" => $_POST["ADD_LAST_NAME"], "ADD_SEND_PASSWORD" => $_POST["ADD_SEND_PASSWORD"]);
         $ID_ADDED = CIntranetInviteDialog::AddNewUser(SITE_ID, $userData, $strError);
         if ($ID_ADDED <= 0) {
             $errorMessage .= (strlen($errorMessage) > 0 ? "<br />" : "") . $strError;
             $arResult["ErrorFields"][] = "EXTRANET_BLOCK";
         } else {
             $arUserIDs[] = $ID_ADDED;
         }
     }
 }
 // send invitations
 if (is_array($arUserIDs) && count($arUserIDs) > 0) {
     foreach ($arUserIDs as $user_id) {
         $isCurrentUserTmp = $USER->GetID() == $user_id;
         $canInviteGroup = CSocNetUserPerms::CanPerformOperation($USER->GetID(), $user_id, "invitegroup", CSocNetUser::IsCurrentUserModuleAdmin());
         $user2groupRelation = CSocNetUserToGroup::GetUserRole($user_id, $arResult["GROUP_ID"]);
         if (!$isCurrentUserTmp && $canInviteGroup && !$user2groupRelation) {
Example #5
0
if ($arParams['bAdmin']) {
    $this->SetViewTarget("sidebar", 100);
    ?>

	<div class="department-profile-events">
		<div class="department-profile-events-title"><?php 
    echo GetMessage("INTR_IS_TPL_ACTIONS");
    ?>
</div>
		<div class="department-profile-events-cont">
			<?php 
    if ($USER->CanDoOperation('bitrix24_invite') && CModule::IncludeModule('bitrix24') && CModule::IncludeModule('intranet')) {
        $arInviteParams["UF_DEPARTMENT"] = $current_section;
        ?>
			<a class="department-profile-events-item department-profile-add-sub" href="javascript:void(0)" onclick="<?php 
        echo CIntranetInviteDialog::ShowInviteDialogLink($arInviteParams);
        ?>
"><i></i><?php 
        echo GetMessage("INTR_IS_TPL_ACTION_INVITE");
        ?>
</a>
			<?php 
    }
    if (isset($_GET['structure_UF_DEPARTMENT'])) {
        $arStructureParams["IBLOCK_SECTION_ID"] = $current_section;
    }
    //parent department
    $arStructureParams["ACTION"] = "ADD";
    ?>
			<a class="department-profile-events-item department-profile-subsection" href="" onclick="BX.IntranetStructure.ShowForm(<?php 
    echo CUtil::PhpToJSObject($arStructureParams);
Example #6
0
                             CUser::Delete($ID_ADDED);
                             $strError = GetMessage("BX24_INVITE_DIALOG_WARNING_CREATE_MAILBOX_ERROR") . " " . $strError;
                         }
                         // update email?
                     }
                 }
             }
         }
     }
     if (!$strError && ($ID_ADDED || $ID_INVITED)) {
         if ($ID_ADDED) {
             $arUserId = array($ID_ADDED);
         } else {
             $arUserId = $ID_INVITED;
         }
         $strError = CIntranetInviteDialog::RequestToSonetGroups($arUserId, $_POST["SONET_GROUPS_CODE"], $_POST["SONET_GROUPS_NAME"], intval($_POST["DEPARTMENT_ID"]) <= 0);
     }
     if ($strError) {
         ob_end_clean();
         echo CUtil::PhpToJsObject(array('ERROR' => $strError));
         die;
     } else {
         ob_end_clean();
         $arResult = array('MESSAGE' => GetMessage("BX24_INVITE_DIALOG_" . ($strAction == "invite" ? "INVITED" : "ADDED"), array("#SITE_DIR#" => $SITE_DIR)));
         if ($strWarning) {
             $arResult["WARNING"] = $strWarning;
         }
         echo CUtil::PhpToJsObject($arResult);
         die;
     }
 }