22 CAccess::RecalculateForUser($USER_ID, $this->
id);
27 CAccess::RecalculateForProvider($this->
id);
60 $USER_ID = intval($USER_ID);
65 $sql = $helper->getInsertIgnore(
67 '(USER_ID, PROVIDER_ID, ACCESS_CODE)',
68 "SELECT UG.USER_ID, '".
$DB->ForSQL($this->id).
"', ".
$DB->Concat(
"'G'",
"UG.GROUP_ID").
"
69 FROM b_user_group UG, b_group G
70 WHERE UG.USER_ID=".$USER_ID.
"
73 AND ((UG.DATE_ACTIVE_FROM IS NULL) OR (UG.DATE_ACTIVE_FROM <= ".
$DB->CurrentTimeFunction().
"))
74 AND ((UG.DATE_ACTIVE_TO IS NULL) OR (UG.DATE_ACTIVE_TO >= ".
$DB->CurrentTimeFunction().
"))
76 SELECT ID, '".
$DB->ForSQL($this->id).
"', 'G2'
89 if ($group[
'DATE_ACTIVE_FROM'] !==
null)
91 $dates[(string)$group[
'DATE_ACTIVE_FROM']] = $group[
'DATE_ACTIVE_FROM'];
93 if ($group[
'DATE_ACTIVE_TO'] !==
null)
95 $dates[(string)$group[
'DATE_ACTIVE_TO']] = $group[
'DATE_ACTIVE_TO'];
99 CAccess::RecalculateForUser($USER_ID, self::ID);
101 foreach ($dates as $date)
103 CAccess::RecalculateForUser($USER_ID, self::ID, $date);
109 $users = UserGroupTable::getList([
110 'filter' => [
'=GROUP_ID' =>
$ID],
111 'cache' => [
'ttl' => 3600],
114 while ($user = $users->fetch())
116 if (($user[
'DATE_ACTIVE_FROM'] ==
'' && $user[
'DATE_ACTIVE_TO'] ==
'') || !$checkTime)
118 CAccess::RecalculateForUser($user[
"USER_ID"], self::ID);
122 if ($user[
'DATE_ACTIVE_FROM'] !=
'')
124 CAccess::RecalculateForUser($user[
"USER_ID"], self::ID, $user[
'DATE_ACTIVE_FROM']);
126 if ($user[
'DATE_ACTIVE_TO'] !=
'')
128 CAccess::RecalculateForUser($user[
"USER_ID"], self::ID, $user[
'DATE_ACTIVE_TO']);
137 if(!
$USER->CanDoOperation(
'view_groups'))
141 $arFinderParams =
array(
142 "PROVIDER" => $this->
id,
146 $search = urldecode(
$_REQUEST[
'search']);
150 while ($arGroup =
$dbRes->NavNext(
false))
153 "ID" =>
"G".$arGroup[
"ID"],
154 "NAME" => $arGroup[
"NAME"],
171 if(!
$USER->CanDoOperation(
'view_groups'))
174 $elements = $last =
"";
175 $arFinderParams =
array(
176 "PROVIDER" => $this->
id,
180 $arLRU = CAccess::GetLastRecentlyUsed($this->
id);
183 while($arGroup =
$res->Fetch())
186 "ID" =>
"G".$arGroup[
"ID"],
187 "NAME" => $arGroup[
"NAME"],
191 $elements .= $element;
193 if(in_array($arItem[
"ID"], $arLRU))
204 "ELEMENTS" => $elements,
214 return array(
"HTML"=>$html);
221 if(preg_match(
'/^G[0-9]+$/',
$code))
222 $aID[] = substr(
$code, 1);
228 while($arGroup =
$res->Fetch())
245 $this->
id = self::ID;
252 $USER_ID = intval($USER_ID);
257 $sql = $helper->getInsertIgnore(
259 '(user_id, provider_id, access_code)',
260 "select ID, '".
$DB->ForSQL($this->id).
"', 'U".$USER_ID.
"'
271 if(!
$USER->CanDoOperation(
'view_all_users'))
274 $search = urldecode(
$_REQUEST[
'search']);
276 $arFinderParams =
array(
277 "PROVIDER" => $this->
id,
285 'NAME_SEARCH' => $search,
286 '!EXTERNAL_AUTH_ID' => \
Bitrix\Main\UserTable::getExternalUserTypes(),
291 || COption::GetOptionString(
"main",
"new_user_registration_email_confirmation",
"N") ==
"Y"
298 $dbRes = CUser::GetList(
'last_name',
'asc',
301 "FIELDS" =>
array(
'ID',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'LOGIN',
'EMAIL'),
302 'NAV_PARAMS' =>
array(
'nTopCount' => 20),
305 while ($arUser =
$dbRes->NavNext(
false))
308 "ID" =>
"U".$arUser[
"ID"],
309 "NAME" => CUser::FormatName(
$nameFormat, $arUser,
true,
false),
325 if(!
$USER->CanDoOperation(
'view_all_users'))
329 $arFinderParams =
array(
330 "PROVIDER" => $this->
id,
334 $arLRU = CAccess::GetLastRecentlyUsed($this->
id);
337 foreach($arLRU as
$i=>
$val)
338 $arLRU[
$i] = substr(
$val, 1);
343 $res = CUser::GetList(
"LAST_NAME",
"asc",
344 array(
"ID" => implode(
"|", $arLRU)),
345 array(
"FIELDS" =>
array(
'ID',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'LOGIN',
'EMAIL'))
347 while($arUser =
$res->Fetch())
350 "ID" =>
"U".$arUser[
"ID"],
351 "NAME" => CUser::FormatName(
$nameFormat, $arUser,
true,
false),
360 "ELEMENTS" => $elements,
370 return array(
"HTML"=>$html);
378 if(!isset($aID[
$code]) && preg_match(
'/^U[0-9]+$/',
$code))
390 $res = CUser::GetList(
'id',
'asc',
391 array(
"ID" => implode(
"|", $aID)),
392 array(
"FIELDS" =>
array(
'ID',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'LOGIN',
'EMAIL'))
394 while($arUser =
$res->Fetch())
398 "name" => CUser::FormatName(
$nameFormat, $arUser,
true,
false),
420 $arFinderParams =
array(
421 "PROVIDER" =>
"other",
426 "ID" =>
"U".
$USER->GetID(),
427 "AVATAR" =>
"/bitrix/js/main/core/images/access/avatar-user-auth.png",
428 "NAME" => (($s = trim(
$USER->GetFormattedName(
false,
false))) <>
''? $s :
$USER->GetLogin()),
437 "AVATAR" =>
"/bitrix/js/main/core/images/access/avatar-user-author.png",
448 "AVATAR" =>
"/bitrix/js/main/core/images/access/avatar-user-everyone.png",
455 if(!isset(
$arParams[
"other"][
"disabled_au"]) ||
$arParams[
"other"][
"disabled_au"] !=
"true")
459 "AVATAR" =>
"/bitrix/js/main/core/images/access/avatar-user-auth.png",
461 "DESC" =>
GetMessage(
"authprov_authorized_desc"),
469 "ELEMENTS" => $elements,
475 return array(
"HTML"=>$html);
483 "AU" =>
array(
"provider"=>
"",
"name"=>
GetMessage(
"authprov_authorized")),
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static GetList($by='c_sort', $order='asc', $arFilter=[], $SHOW_USERS_AMOUNT="N")
RemoveCode($userId, $code)
static GetFinderAppearance($arParams, $arPanels)
static GetFinderItem($arParams, $arItem)
static RecalculateForGroup($ID, $checkTime=true)
GetFormHtml($arParams=false)
static OnAfterSetUserGroup($USER_ID, $groups)
GetFormHtml($arParams=false)
GetFormHtml($arParams=false)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
GetFormHtml($arParams=false)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
IsModuleInstalled($module_id)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)