Документация для разработчиков
Темная тема

Add

Описание и параметры

mixed
CUser::Add(
	array fields
)

Метод добавляет нового пользователя. При успешном выполнении возвращает ID нового пользователя, в противном случае - вернет "false", а в свойстве LAST_ERROR объекта будет содержаться текст ошибки. Нестатический метод.

Примечание: CUser::Add можно вызывать только как метод инициализированного объекта, а не как статический метод класса CUser.

Параметры

ПараметрОписание
fields Массив значений полей, в качестве ключей данного массива допустимо использовать:
  • LOGIN* - логин (имя входа)
  • NAME - имя пользователя
  • LAST_NAME - фамилия пользователя
  • SECOND_NAME - отчество пользователя
  • EMAIL* - E-Mail адрес пользователя
  • PASSWORD* - пароль пользователя
  • CONFIRM_PASSWORD* - подтверждение пароля (должно быть равным PASSWORD)
  • GROUP_ID - массив ID групп к которым будет приписан пользователь
  • ACTIVE - флаг активности пользователя [Y|N]
  • LID - ID сайта по умолчанию для уведомлений
  • ADMIN_NOTES - заметки администратора
  • XML_ID - ID пользователя для связи с внешними источниками (например, ID пользователя в какой-либо внешний базе)
  • EXTERNAL_AUTH_ID - код источника [link=89611]внешней авторизации[/link]
  • PERSONAL_PROFESSION - наименование профессии
  • PERSONAL_WWW - персональная WWW-страница
  • PERSONAL_ICQ - ICQ
  • PERSONAL_GENDER - пол ["M" - мужчина; "F" - женщина]
  • PERSONAL_BIRTHDAY - дата рождения в формате текущего сайта (или текущего языка для административной части)
  • PERSONAL_PHOTO - массив описывающий фотографию, допустимы следующие ключи этого массива:
    • name - имя файла
    • size - размер файла
    • tmp_name - временный путь на сервере
    • type - тип загружаемого файла
    • del - если значение равно "Y", то изображение будет удалено
    • MODULE_ID - идентификатор главного модуля - "main"
  • PERSONAL_PHONE - телефон
  • PERSONAL_FAX - факс
  • PERSONAL_MOBILE - мобильный телефон
  • PERSONAL_PAGER - пэйджер
  • PERSONAL_STREET - улица, дом
  • PERSONAL_MAILBOX - почтовый ящик
  • PERSONAL_CITY - город
  • PERSONAL_STATE - область / край
  • PERSONAL_ZIP - индекс
  • PERSONAL_COUNTRY - страна
  • PERSONAL_NOTES - личные заметки
  • TITLE - обращение к пользователю. Поле актуально при добавлении и обновлении.
  • WORK_COMPANY - наименование компании
  • WORK_DEPARTMENT - департамент / отдел
  • WORK_POSITION - должность
  • WORK_WWW - WWW-страница компании
  • WORK_PHONE - рабочий телефон
  • WORK_FAX - рабочий факс
  • WORK_PAGER - рабочий пэйджер
  • WORK_STREET - улица, дом компании
  • WORK_MAILBOX - почтовый ящик компании
  • WORK_CITY - город компании
  • WORK_STATE - область / край компании
  • WORK_ZIP - индекс компании
  • WORK_COUNTRY - страна компании
  • WORK_PROFILE - направления деятельности компании
  • WORK_LOGO - массив описывающий логотип компании, допустимы следующие ключи этого массива:
    • name - имя файла
    • size - размер файла
    • tmp_name - временный путь на сервере
    • type - тип загружаемого файла
    • del - если значение равно "Y", то изображение будет удалено
    • MODULE_ID - идентификатор главного модуля - "main"
  • WORK_NOTES - заметки касаемо работы пользователя
* - обязательные поля.

Смотрите также

Примеры использования

<?
// создадим массив описывающий изображение 
// находящееся в файле на сервере
$arIMAGE = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/photo.gif");
$arIMAGE["MODULE_ID"] = "main";

$user = new CUser;
$arFields = Array(
	"NAME"              => "Сергей",
	"LAST_NAME"         => "Иванов",
	"EMAIL"             => "ivanov@microsoft.com",
	"LOGIN"             => "ivan",
	"LID"               => "ru",
	"ACTIVE"            => "Y",
	"GROUP_ID"          => array(10,11),
	"PASSWORD"          => "123456",
	"CONFIRM_PASSWORD"  => "123456",
	"PERSONAL_PHOTO"    => $arIMAGE
);

$ID = $user->Add($arFields);
if (intval($ID) > 0)
	echo "Пользователь успешно добавлен.";
else
	echo $user->LAST_ERROR;
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Денис Гурьянов
Сообщение не промодерировано, возможны ошибки и неточности.
Цитата
Андрей Кондерский пишет:

PHONE_NUMBER

Связь в примере потеряна!

По описанию мы получаем подтверждённый номер телефона для пользователя с идентификатором равным 1.
Далее в случае, если мы находим, извлекаем всего одну запись с телефоном пользователя и сохраняем в переменную $PHONE_NUMBER,
если мы хотим добавить пользователя с этим телефоном, надо добавление в этом же условии делать и в массив $arFields c ключом "PHONE_NUMBER" должны передавать
переменную $PHONE_NUMBER, либо же прям $item['PHONE_NUMBER'].

У вас в примере добавление происходит в ней условий и в массив $arFields с ключом "PHONE_NUMBER" вы передаёте переменную $phone, не особо понятно откуда она взялась и зачем тогда выше
получали телефон, будьте внимательнее.

// выборка пользователя с подтвержденным номером
// Поле: "PHONE_NUMBER" Номер телефона для регистрации
// Получить НОМЕР ТЕЛЕФОНА
$userId = 1; // ID пользователя
$PhoneAuthTable = \Bitrix\Main\UserPhoneAuthTable::getList($parameters = array(
  'filter' => array('USER_ID' => $userId) // выборка пользователя с подтвержденным номером
));
if($item = $PhoneAuthTable->fetch()) {
  $PHONE_NUMBER = $item['PHONE_NUMBER'];

 $name = 'имя';
 $login = 'login_user';
 $email = 'user@mail.ru';

  // Добавить Пользователя с НОМЕРОМ телефона для Авторизации
 $user     = new CUser;
 $arFields = array(
    "NAME" => $name,
    "LOGIN" => $login,
    "EMAIL" => $email,
    "PHONE_NUMBER" => $PHONE_NUMBER , // Номер телефона
    "LID" => "s1",
    "ACTIVE" => "Y",
    "PASSWORD" => 'pass@word',
    "CONFIRM_PASSWORD" => 'pass@word',
    "GROUP_ID" => array(1, 2)
 );
 $new_user_id = $user->Add($arFields);
}
2
Андрей Кондерский
Код
// выборка пользователя с подтвержденным номером
// Поле: "PHONE_NUMBER" Номер телефона для регистрации
// Получить НОМЕР ТЕЛЕФОНА
$user_id = '1'; // ID пользователя
$PhoneAuthTable = \Bitrix\Main\UserPhoneAuthTable::getList($parameters = array(
   'filter'=>array('USER_ID' =>$user_id) // выборка пользователя с подтвержденным номером
));
if($item = $PhoneAuthTable->fetch()){
    //print_r($item);
   $PHONE_NUMBER = $item['PHONE_NUMBER'];
}
// Добавить Пользователя с НОМЕРОМ телефона для Авторизации
$user     = new CUser;
$arFields = array(
   "NAME" => $name,
   "LOGIN" => $login,
   "EMAIL" => $email,
   "PHONE_NUMBER" => $phone, // Номер телефона
   "LID" => "s1",
   "ACTIVE" => "Y",
   "PASSWORD" => 'pass@word',
   "CONFIRM_PASSWORD" => 'pass@word',
   "GROUP_ID" => array(1, 2)
);
$new_user_id = $user->Add($arFields);
2
Максим Ермаков
Если включена регистрация по номеру телефона, то нужно добавить обязательное поле PHONE_NUMBER
Код
$user     = new CUser;
    $arFields = array(
        "NAME" => $name,
        "LOGIN" => $login,
        "EMAIL" => $email,
        "PHONE_NUMBER" => $phone,
        "LID" => "ru",
        "ACTIVE" => "Y",
        "PASSWORD" => $pass,
        "CONFIRM_PASSWORD" => $pass,
        "GROUP_ID" => array(10, 11)
    );
    $new_user_ID    = $user->Add($arFields);
2
Александр Баланцев
А если нужно добавить единичное пользовательское поле

Код
"UF_PROD_KEY"       => $key
1
antiviruspro
Если нужно добавить множественное пользовательское поле, то передаем в массиве:

Код
"UF_PROD_KEY"       => array($key)
2
Григорий Федоринов
Значения пользовательских полей пользователя передаются так же, как и "обычных" полей, например:

Код
"UF_TEXT_1"=>"xxx"
2
Mikhail Kryachek
Для того, чтобы привязать пользователя к определенным группам, необходимо воспользоваться методом CUser::Update() или CUSer::Add() и полем "GROUP_ID" во входном массиве.
в $arFields["GROUP_ID"] должно быть примерно следующее:

Цитата
[GROUP_ID] => Array
       (
           [0] => Array
               (
                   [GROUP_ID] => 10
                   [DATE_ACTIVE_FROM] => 24.07.2007
                   [DATE_ACTIVE_TO] => 24.07.2008
               )

           [1] => Array
               (
                   [GROUP_ID] => 20
                   [DATE_ACTIVE_FROM] =>
                   [DATE_ACTIVE_TO] =>
               )

       )  

Где интересующая нас часть
Цитата
           [0] => Array
               (
                   [GROUP_ID] => 10 //ID группы
                   [DATE_ACTIVE_FROM] => 24.07.2007 //начальное время активности
                   [DATE_ACTIVE_TO] => 24.07.2008 //конечное время активности
               )
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх