User Adds Admin — ручное создание пользователей из админ-панели Cotonti
Плагин User Adds Admin предоставляет администратору Cotonti удобный инструмент для ручного создания новых пользователей непосредственно из административной панели.
User Adds Admin — ручное создание пользователей из админ-панели Cotonti
Версия: 1.0.0
Автор: webitproff
Лицензия: BSD
Требования: Cotonti (актуальная версия), модуль users, PHP 8.5+, MySQL 8.0+
Рекомендуемые плагины: usercategories
Репозиторий: github.com/webitproff/usersaddsadmin-cotonti
Оглавление
- Назначение плагина
- Основные возможности
- Структура файлов и папок
- Установка
- Интерфейс плагина
- Вкладка «Список пользователей»
- Вкладка «Создание пользователя»
- Работа с дополнительными полями (extrafields)
- Интеграция с плагином
usercategories - Хуки для разработчиков
- Настройки плагина
- Часто задаваемые вопросы
- Заключение
Назначение плагина
Плагин User Adds Admin предоставляет администратору Cotonti удобный инструмент для ручного создания новых пользователей непосредственно из административной панели. Он позволяет заполнить все стандартные поля профиля, назначить основную и дополнительные группы, а также заполнить дополнительные поля (extrafields), не покидая админ-интерфейс.
Кроме того, плагин включает вкладку со списком уже существующих пользователей с возможностью фильтрации и просмотра основной информации о них.
Плагин работает только со стандартными таблицами Cotonti (cot_users, cot_groups_users) и не изменяет структуру базы данных.
Основные возможности
- Двухвкладочный интерфейс: список пользователей и создание пользователя.
- Просмотр списка пользователей с фильтрами по имени, email, ID, основной группе и категории (если активен
usercategories). - Сводная статистика: общее количество пользователей и количество по группам.
- Форма создания нового пользователя с полями:
- Имя пользователя
- Пароль и подтверждение пароля
- Основная группа
- Дополнительные группы (чекбоксы)
- Страна
- Часовой пояс
- Пол
- Дата рождения
- Бан до (дата/время)
- Скрыть email
- Тема оформления
- Язык
- Дополнительные поля (extrafields), если они зарегистрированы в системе
- Валидация вводимых данных (уникальность имени/email, длина пароля, формат email, совпадение паролей).
- Использование штатной функции
cot_add_user()модуляusersдля корректного создания пользователя. - Поддержка плагина
usercategoriesдля фильтрации по категориям. - Хуки для расширения функциональности.
Структура файлов и папок
plugins/
└── usersaddsadmin/
├── usersaddsadmin.setup.php // Установочный файл (метаданные и настройки)
├── usersaddsadmin.global.php // Глобальный хук (заглушка для совместимости)
├── usersaddsadmin.admin.php // Основной файл административной части
├── inc/
│ └── usersaddsadmin.functions.php // Вспомогательные функции
├── lang/
│ ├── usersaddsadmin.ru.lang.php // Русский языковой файл
│ └── usersaddsadmin.en.lang.php // Английский языковой файл
└── tpl/
└── usersaddsadmin.admin.tpl // Шаблон административной части (XTemplate)
Описание файлов
- usersaddsadmin.setup.php
Содержит метаинформацию плагина: код (usersaddsadmin), название, категорию, описание, версию, автора, лицензию, требования (модульusers), рекомендации (usercategories).
Также содержит настройки:perpage(количество пользователей на странице). - usersaddsadmin.global.php
Подключается глобально через хукglobal. Является заглушкой, обеспечивающей корректную регистрацию плагина в системе. usersaddsadmin.admin.php
Главный скрипт административной части (хукtools). Обрабатывает обе вкладки:list— список пользователей с фильтрами и статистикой;create— форма создания нового пользователя.
Выполняет всю бизнес-логику: извлечение данных, валидацию, создание пользователя через
cot_add_user(), обработку дополнительных групп и extrafields, редиректы.- inc/usersaddsadmin.functions.php
Вспомогательная функцияcot_usersaddsadmin_usercategories_select(), которая строит HTML-селект категорий пользователей для фильтра на вкладке списка (если активен плагинusercategories). - lang/usersaddsadmin.ru.lang.php
Русский языковой файл: все строки интерфейса, названия полей, сообщения. - lang/usersaddsadmin.en.lang.php
Английский языковой файл. - tpl/usersaddsadmin.admin.tpl
Шаблон административной части на XTemplate. Определяет разметку обеих вкладок: форма фильтров, таблица пользователей, статистика, форма создания пользователя.
Установка
- Скопируйте папку
usersaddsadminв каталогplugins/вашего сайта Cotonti. - Зайдите в административную панель Cotonti.
- Перейдите в раздел Расширения.
- Найдите плагин User Adds Admin и нажмите Установить.
- При необходимости настройте параметр
perpage(количество пользователей на странице в списке). - Ссылка на плагин появится в меню администрирования (Администрирование → User Adds Admin).
Интерфейс плагина
После открытия плагина отображаются две вкладки:
- Список пользователей — просмотр и фильтрация существующих пользователей, статистика.
- Создание пользователя — форма для ручного добавления нового пользователя.
Переключение между вкладками выполняется через навигационные вкладки в верхней части страницы.
Вкладка «Список пользователей»
На этой вкладке администратор может просматривать список пользователей и применять фильтры для поиска нужных записей.
Фильтры
- Поиск — текстовое поле; область поиска выбирается переключателем:
- Имя — поиск по полю
user_name. - Email — поиск по полю
user_email. - Имя и Email — поиск по обоим полям.
- Имя — поиск по полю
- ID пользователя — точный фильтр по числовому идентификатору.
- Группа — выбор основной группы пользователя (
user_maingrp). Список групп берётся из таблицыcot_groups. - Категория — фильтр по категории пользователей, если активен плагин
usercategories. Используется полеuser_cats(категории хранятся через запятую). В фильтр включаются все подкатегории выбранной категории.
Статистика
Над таблицей выводится сводная информация:
- Всего пользователей — общее количество записей в таблице
cot_users. - Количество по группам — для каждой группы отображается число пользователей, у которых она является основной.
Таблица пользователей
Таблица содержит следующие колонки:
- ID — идентификатор пользователя.
- Имя — имя пользователя, является ссылкой на публичный профиль (открывается в новой вкладке).
- Email — адрес электронной почты.
- Группа — название основной группы.
- Дата регистрации — отформатированная дата регистрации.
- Бан до — показывает «Да», если пользователь забанен (срок бана ещё не истёк), иначе «Нет».
Под таблицей доступна постраничная навигация (pagination).
Вкладка «Создание пользователя»
Эта вкладка содержит форму для ручного добавления нового пользователя. Все поля, доступные для заполнения, соответствуют стандартным полям таблицы cot_users и дополнительным полям (если они зарегистрированы).
Поля формы
| Поле в БД | Название | Тип элемента | Примечание |
|---|---|---|---|
user_name | Имя | Текстовое поле | Обязательное, минимум 2 символа |
user_email | Текстовое поле | Обязательное, валидный email | |
user_password | Пароль | Поле пароля | Обязательное, минимум 4 символа |
| — | Повторите пароль | Поле пароля | Должно совпадать с паролем |
user_maingrp | Основная группа | Выпадающий список | Группы, кроме гостей, неактивных и забаненных |
| — | Дополнительные группы | Чекбоксы | Выбор групп, в которые также будет добавлен пользователь |
user_country | Страна | Выпадающий список | |
user_timezone | Часовой пояс | Выпадающий список | По умолчанию из настроек системы |
user_gender | Пол | Выпадающий список | |
user_birthdate | Дата рождения | Выпадающие списки (год/месяц/день) | Пустое значение сохраняется как NULL |
user_banexpire | Бан до | Выпадающие списки даты и времени | Пустое = 0 |
user_hideemail | Скрыть email | Переключатель Да/Нет | По умолчанию «Да» |
user_theme | Тема оформления | Выпадающий список (тема:схема) | |
user_lang | Язык | Выпадающий список | По умолчанию из настроек системы |
| extrafields | Дополнительные поля | Согласно типу поля | Отображаются, если включены extrafields |
Поля, которые не отображаются в форме и устанавливаются автоматически при создании пользователя:user_regdate, user_lastlog, user_lastvisit, user_lastip, user_logcount, user_sid, user_sidtime, user_lostpass, user_auth, user_token, user_passsalt, user_passfunc. Часть из них заполняется функцией cot_add_user().
Валидация данных
Перед созданием пользователя выполняются следующие проверки:
- Имя пользователя не содержит запрещённых символов (
<,>,#,',",/) и не короче 2 символов. - Пароль длиной не менее 4 символов.
- Email имеет корректный формат.
- Имя пользователя уникально (отсутствует в
cot_users). - Email уникален, если в настройках Cotonti запрещены дубликаты email (
useremailduplicate). - Пароль и подтверждение пароля совпадают.
- Дата рождения не может быть в будущем.
При обнаружении ошибок пользователь остаётся на форме с отображением сообщений об ошибках и сохранением введённых значений (кроме пароля).
Обработка отправки
- При отправке формы срабатывает защита
cot_shield_protect(). - Данные извлекаются с помощью
cot_import(). - Выполняется валидация.
- Если ошибок нет, вызывается штатная функция
cot_add_user($ruser, null, null, null, $ruser['user_maingrp'], false), которая:- хеширует пароль с солью;
- устанавливает основную группу;
- добавляет запись в
cot_users; - добавляет связь в
cot_groups_users; - устанавливает значения по умолчанию для служебных полей.
- После успешного создания пользователя:
- обрабатываются дополнительные группы (чекбоксы) — добавляются записи в
cot_groups_users; - вызывается
cot_extrafield_movefiles()для перемещения загруженных файлов (если есть); - выводится сообщение об успешном создании;
- происходит перенаправление на вкладку «Список пользователей».
- обрабатываются дополнительные группы (чекбоксы) — добавляются записи в
- Если создание не удалось (например,
cot_add_userвернулfalse), отображается ошибка.
Работа с дополнительными полями (extrafields)
Плагин полностью поддерживает стандартные дополнительные поля пользователей Cotonti, зарегистрированные в таблице cot_users.
- На вкладке создания пользователя для каждого extrafield выводится соответствующее поле ввода (текст, textarea, select, radio, checkbox, файл и т.д.), используя функцию
cot_build_extrafields(). - Значения extrafields передаются в
cot_add_user()внутри массива$ruser, что обеспечивает их корректное сохранение. - Файлы, загруженные через extrafield-поля, перемещаются в нужные директории после создания пользователя с помощью
cot_extrafield_movefiles(). - Если при валидации возникли ошибки, значения extrafields восстанавливаются для повторного отображения.
Интеграция с плагином usercategories
Если установлен и активен плагин usercategories, на вкладке «Список пользователей» появляется фильтр по категориям.
- Категории берутся из структуры
Cot::$structure['usercategories']. - Фильтр учитывает чёрный список категорий, заданный в настройках
usercategories(параметрusercategoriesblacktreecatspage). - Выбранная категория включает все её подкатегории (используется
cot_structure_children()). - Поиск выполняется по полю
user_cats, где категории хранятся через запятую.
Хуки для разработчиков
Плагин предоставляет несколько хуков для расширения функциональности:
usersaddsadmin.add.validate
Вызывается после стандартной валидации формы создания пользователя, но до проверкиcot_error_found(). Позволяет добавить собственные проверки.usersaddsadmin.add.done
Вызывается после успешного создания пользователя и добавления дополнительных групп. Подходит для выполнения дополнительных действий (например, запись в свои таблицы).usersaddsadmin.tags
Вызывается в конце обработки вкладки создания пользователя перед рендерингом шаблона. Позволяет добавить свои теги в шаблон.
Настройки плагина
В настройках плагина доступен один параметр:
perpage— количество пользователей на странице в списке (по умолчанию 20).
Часто задаваемые вопросы
Можно ли создавать пользователей с ролью суперадминистратора?
Да, основную группу можно выбрать из списка доступных групп (кроме гостей, неактивных и забаненных). Если у вас есть права администратора, вы можете назначить любую группу, включая администраторов.
Что произойдёт, если email уже используется?
Если в настройках Cotonti запрещены дубликаты email (опция useremailduplicate выключена), создание будет заблокировано с соответствующей ошибкой. Если дубликаты разрешены, пользователь будет создан.
Поддерживаются ли дополнительные поля пользователей?
Да, плагин автоматически выводит все зарегистрированные extrafields для таблицы cot_users и сохраняет их при создании пользователя.
Можно ли указать дополнительные группы помимо основной?
Да, под основной группой выводится список чекбоксов всех доступных групп. Выбранные группы будут добавлены в таблицу cot_groups_users.
Куда перенаправляет после создания?
После успешного создания происходит перенаправление на вкладку «Список пользователей», где можно увидеть нового пользователя (сортировка по убыванию ID, поэтому он будет первым).
Какие поля нельзя задать через эту форму?
Форма не позволяет задать дату регистрации, счётчик входов, последний IP, последний визит, последний логин и другие служебные поля. Они устанавливаются автоматически системой при создании пользователя.
Заключение
Плагин User Adds Admin — это удобный инструмент для администраторов Cotonti, который упрощает ручное создание новых пользователей с полным контролем над всеми полями профиля. Он сочетает в себе просмотр списка пользователей с фильтрами и полноценную форму создания, используя штатные механизмы Cotonti. Благодаря поддержке extrafields и хуков плагин легко адаптируется под конкретные задачи.
Купить User Adds Admin — ручное создание пользователей из админ-панели Cotonti по низким ценам. Интернет-магазин предлагает заказать User Adds Admin — ручное создание пользователей из админ-панели Cotonti, просмотреть полное описание, детальные характеристики, фото товара и актуальные цены со скидкамиТовар без файла для загрузки
Обсуждение страницы в Telegram
Автор контента
Онлайн
webitproff
Последняя авторизация: 23.08.2026 01:46
- 22.08.2026 23:55
- 22.08.2026 23:57
- Язык:
Связанные и похожие товары
Витрина Market PRO
CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.
English