From 68aefcf6c5ccc925fe7f6e6d5fc5c512360d954a Mon Sep 17 00:00:00 2001 From: "m.korolev" Date: Fri, 31 Jan 2014 20:11:28 +0400 Subject: [PATCH] Fix USER --- .../classes/general/ICMLLoader.php | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/intaro.intarocrm/classes/general/ICMLLoader.php b/intaro.intarocrm/classes/general/ICMLLoader.php index 87cbe1c5..7c81e8a8 100644 --- a/intaro.intarocrm/classes/general/ICMLLoader.php +++ b/intaro.intarocrm/classes/general/ICMLLoader.php @@ -34,9 +34,43 @@ class ICMLLoader { public function Load() { - global $USER; - if(!isset($USER)) - $USER = new CUser; + if(!isset($_SESSION["SESS_AUTH"]["USER_ID"]) || !$_SESSION["SESS_AUTH"]["USER_ID"]) { + // for agent; to add order User + $rsUser = CUser::GetByLogin('intarocrm'); + + if($arUser = $rsUser->Fetch()) { + $USER = new CUser; + $USER->Authorize($arUser['ID']); + } else { + $login = 'intarocrm'; + $serverName = 0 < strlen(SITE_SERVER_NAME)? SITE_SERVER_NAME : 'server.com'; + $email = $login . '@' . $serverName; + $userPassword = randString(10); + + $user = new CUser; + $arFields = array( + "NAME" => $login, + "LAST_NAME" => $login, + "EMAIL" => $email, + "LOGIN" => $login, + "LID" => "ru", + "ACTIVE" => "Y", + "GROUP_ID" => array(2), + "PASSWORD" => $userPassword, + "CONFIRM_PASSWORD" => $userPassword + ); + + $id = $user->Add($arFields); + + if (!$id) { + self::eventLog('ICrmOrderActions::orderHistory', 'USER', $user->LAST_ERROR); + return; + } + + $USER = new CUser; + $USER->Authorize($id); + } + } $this->isLogged = true;