Создать пользователя 1с битрикс
Разберём задачу: требуется зарегистрировать нового пользователя в bitrix с одновременным добавлением его в определённые группы или удалением из этих групп. Ниже в многострочном поле ввода конечный программный код скрипта, а ниже его комментарии что и как работает.
Конечный код регистрации пользователя и присвоения в группы с вставками для тестирования работы.
Комментарии по коду скрипта добавления нового пользователя bitrix и присвоения его группам или удаления из них.
require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';
//Подключаем Bitrix-пролог, чтобы начать использовать фреймворк Bitrix.
global $USER;
// Объявляем глобальную переменную $USER которая является объектом Bitrix, в котором содержится метод Register необходимый далее для регистрации нового пользователя.
var_dump($USER);
Выводим информацию о содержании массива $USER - это тестовая информация, удалите эту строку в рабочем скрипте - она нужна только для предварительного тестирования работы php-скрипта.
echo "- - -\n";
//Эта строчка нужна для визуального отделения одной тестовой информации от другой. Далее по коду аналогичная строчка встречается несколько раз и выполняет аналогичную функцию, повторно комментироваться она не будет. В рабочем скрипте эти строчки не нужны - удалите их.
$arResult = $USER->Register("test123" . mt_rand(1,999999), "", "", "123456", "123456", "[email protected]");
// Регистрируем нового пользователя с логином начинающимся "test123" и заканчивающимся случайным числом от 1 до 999999(Вы можете использовать свой алгоритм), паролем 123456 и e-mail адресом [email protected] полученное в результате работы метода значение присваиваем переменной $arResult. В случаи если работа метода добавления нового пользователя завершилось успешно массив $arResult будет содержать элемент с ключом ["ID"], если же результат работы метода - ошибка: ключа ["ID"] в массиве не будет, зато будет присутствовать информация о ошибке. В дальнейшем для того чтобы понять, успешно ли добавлен новый пользователь в вышеприведённый скрипт опирается только на наличие или отсутствие элемента массива с ключом ["ID"].
var_dump($arResult);
//Выводим информацию о содержании массива $arResult, можно будет увидеть присутствие или отсутствие элемента с ключом ["ID"] о котором шла речь в предыдущем абзаце. Эта строчка в скрипте необходима исключительно для теста и отладки работы, поэтому удалите её в рабочей версии скрипта.
if (isset($arResult["ID"])) $arGroups = CUser::GetUserGroup($arResult["ID"]);
//В первой строке условие о котором шла речь в двух абзацах выше. PHP функция isset возвращает истину(true) в случаи если элемент с ключом ["ID"] присутствует в массиве $arResult. Если условие истинно, выполняется вторая строчка в которой статический метод GetUserGroup класса CUser возвращаем массив с идентификаторами групп пользователей сайта на Bitrix, которым принадлежит пользователь Bitrix с ID содержащимся в $arResult["ID"]. Полученное значение - массив идентификаторов групп пользователей присваивается $arGroups.
var_dump($arGroups);
//Тестовая строчка, для того чтобы наглядно можно было оценить работу скрипта. Выводит содержание массива, содержащий идентификаторы групп пользователей сайта Bitrix для пользователя Id которого находится в $arResult["ID"]. Удалите эту строчка уз рабочего скрипта, после проверки работы.
Код скрипта с вычищенной тестовой информацией.
Получаем поля пользователя битрикс по ID вместе с относящимися пользовательскими полями к данному пользователю
В примере ниже в массив под ключом SELECT передаём массив необходимых для выборки пользовательских полей, например UF_CODE_LKA. Если требуется выбрать все поля, то передаём массив array("UF_*")
Получаем пользовательское поле текущего пользователя
Добавление пользователя битриск сразу генерацией случайного логина, пароля и e-mail, активация пользователя и сразу с добавлением информации в пользовательское поле.
Следующий скрипт проверяет для неавторизированного пользователя bitrix существует ли пользователь с указанным email в системе и получает его ID, а если не существует регистрирует нового пользователя.
Логика работы скрипта следующая: сначала проверяется авторизован ли пользователь в битрикс. Если авторизован то ничего не делаем. Если не авторизован то по указанному e-mail проверяем существует ли в системе пользователь с таким e-mail в поле EMAIL, если нет то по e-mail ищем пользователя по полю LOGIN, если и такого пользователя нет регистрируем пользователя с указанным e-mail и получаем его Id.
В случаи если необходимо выполнить авторизацию это можно сделать строчкой $USER->Authorize($userId);
Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.
Если вы добросовестно изучите курс, то научитесь:
- управлять доступом к системе, сайтами, пользователями, группами пользователей;
- работать с инструментами системы;
- использовать возможности интерфейса по управлению системой;
- работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
- выполнять работу по конфигурированию веб-системы для оптимальной работы.
Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.
Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.
Комментарии к урокам
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 01.10.2021.
Как проходить учебный курс?
Метод добавляет нового пользователя. При успешном выполнении возвращает ID нового пользователя, в противном случае - вернет "false", а в свойстве LAST_ERROR объекта будет содержаться текст ошибки. Нестатический метод.
Примечание: CUser::Add можно вызывать только как метод инициализированного объекта, а не как статический метод класса CUser.Параметры
- 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"
- name - имя файла
- size - размер файла
- tmp_name - временный путь на сервере
- type - тип загружаемого файла
- del - если значение равно "Y", то изображение будет удалено
- MODULE_ID - идентификатор главного модуля - "main"
Смотрите также
Примеры использования
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Читайте также: