По-простому обработчик можно так:
Но кроме обработчика желательно какое-то управление для списка тех, кого надо отключить (собственно ваш $arFilter), через пользователя (поле еще одно), через отдельную форму.
| Код |
|---|
AddEventHandler('ldap', 'OnLdapUserFields', 'myUserDesactivate');
function myUserDesactivate($arParams)
{
$arFilter = Array(); //ваши параметры для фильтрации юзеров. у меня и ИДшники были, и логины
$arSelect = Array("FIELDS"=>Array("ID", "LOGIN", "LAST_NAME", "NAME"));
$rsUsers = CUser::GetList(($by="id"), ($order="desc"), $arFilter, $arSelect);
while($arUsers=$rsUsers->GetNext()){
$userDeactiveId[]=$arUsers["ID"];
}
foreach($userDeactiveId as $userID){
$user = new CUser;
$fields = Array("ACTIVE"=> "N");
$user->Update($userID, $fields);
$strError .= $user->LAST_ERROR;
unset($user);
}
} |