User Adds Admin — ручное создание пользователей из админ-панели Cotonti

Плагин User Adds Admin предоставляет администратору Cotonti удобный инструмент для ручного создания новых пользователей непосредственно из административной панели.

Опубликовано в: Модули и Плагины для Cotonti

User Adds Admin — ручное создание пользователей из админ-панели Cotonti

Версия: 1.0.0
Автор: webitproff
Лицензия: BSD
Требования: Cotonti (актуальная версия), модуль users, PHP 8.5+, MySQL 8.0+
Рекомендуемые плагины: usercategories
Репозиторий: github.com/webitproff/usersaddsadmin-cotonti


Оглавление

  1. Назначение плагина
  2. Основные возможности
  3. Структура файлов и папок
  4. Установка
  5. Интерфейс плагина
  6. Вкладка «Список пользователей»
    1. Фильтры
    2. Статистика
    3. Таблица пользователей
  7. Вкладка «Создание пользователя»
    1. Поля формы
    2. Валидация данных
    3. Обработка отправки
  8. Работа с дополнительными полями (extrafields)
  9. Интеграция с плагином usercategories
  10. Хуки для разработчиков
  11. Настройки плагина
  12. Часто задаваемые вопросы
  13. Заключение

Назначение плагина

Плагин User Adds Admin предоставляет администратору Cotonti удобный инструмент для ручного создания новых пользователей непосредственно из административной панели. Он позволяет заполнить все стандартные поля профиля, назначить основную и дополнительные группы, а также заполнить дополнительные поля (extrafields), не покидая админ-интерфейс.

Кроме того, плагин включает вкладку со списком уже существующих пользователей с возможностью фильтрации и просмотра основной информации о них.

Плагин работает только со стандартными таблицами Cotonti (cot_users, cot_groups_users) и не изменяет структуру базы данных.

Основные возможности

  • Двухвкладочный интерфейс: список пользователей и создание пользователя.
  • Просмотр списка пользователей с фильтрами по имени, email, ID, основной группе и категории (если активен usercategories).
  • Сводная статистика: общее количество пользователей и количество по группам.
  • Форма создания нового пользователя с полями:
    • Имя пользователя
    • Email
    • Пароль и подтверждение пароля
    • Основная группа
    • Дополнительные группы (чекбоксы)
    • Страна
    • Часовой пояс
    • Пол
    • Дата рождения
    • Бан до (дата/время)
    • Скрыть 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. Определяет разметку обеих вкладок: форма фильтров, таблица пользователей, статистика, форма создания пользователя.

Установка

  1. Скопируйте папку usersaddsadmin в каталог plugins/ вашего сайта Cotonti.
  2. Зайдите в административную панель Cotonti.
  3. Перейдите в раздел Расширения.
  4. Найдите плагин User Adds Admin и нажмите Установить.
  5. При необходимости настройте параметр perpage (количество пользователей на странице в списке).
  6. Ссылка на плагин появится в меню администрирования (Администрирование → User Adds Admin).

Интерфейс плагина

После открытия плагина отображаются две вкладки:

  1. Список пользователей — просмотр и фильтрация существующих пользователей, статистика.
  2. Создание пользователя — форма для ручного добавления нового пользователя.

Переключение между вкладками выполняется через навигационные вкладки в верхней части страницы.

Вкладка «Список пользователей»

На этой вкладке администратор может просматривать список пользователей и применять фильтры для поиска нужных записей.

Фильтры

  • Поиск — текстовое поле; область поиска выбирается переключателем:
    • Имя — поиск по полю 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_emailEmailТекстовое полеОбязательное, валидный 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).
  • Пароль и подтверждение пароля совпадают.
  • Дата рождения не может быть в будущем.

При обнаружении ошибок пользователь остаётся на форме с отображением сообщений об ошибках и сохранением введённых значений (кроме пароля).

Обработка отправки

  1. При отправке формы срабатывает защита cot_shield_protect().
  2. Данные извлекаются с помощью cot_import().
  3. Выполняется валидация.
  4. Если ошибок нет, вызывается штатная функция cot_add_user($ruser, null, null, null, $ruser['user_maingrp'], false), которая:
    • хеширует пароль с солью;
    • устанавливает основную группу;
    • добавляет запись в cot_users;
    • добавляет связь в cot_groups_users;
    • устанавливает значения по умолчанию для служебных полей.
  5. После успешного создания пользователя:
    • обрабатываются дополнительные группы (чекбоксы) — добавляются записи в cot_groups_users;
    • вызывается cot_extrafield_movefiles() для перемещения загруженных файлов (если есть);
    • выводится сообщение об успешном создании;
    • происходит перенаправление на вкладку «Список пользователей».
  6. Если создание не удалось (например, 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, просмотреть полное описание, детальные характеристики, фото товара и актуальные цены со скидками


Рейтинг на основе отзывов:
Звезд получено: 0
Oтзывов всего: 0
Средняя оценка: 0
7 минут чтения
Владелец: Carbonate Sodium

Отзывы к товарам

Отзывов пока нет


Добавить в корзину

Товар без файла для загрузки

 

Обсуждение страницы в Telegram

Автор контента

webitproff

Онлайн

webitproff

Последняя авторизация: 23.08.2026 01:46

Обо мне кратко
Поддержка и разработка веб-проектов на CMF Cotonti: приватные мессенджеры через сайт, открытые и закрытые небольшие социальные сети, торговые площадки и маркетплейсы, портал биржи фриланса и услуг, каталоги товаров оптовых поставщиков, дропшиппинг-платформы, интернет-магазины и многое другое.
Смотреть разработки и скачать
Публичное портфолио моих работ и разработок
Телеграм для сообщений
@webitproff
Телеграм-канал
@s/aBuyFILE
  • 22.08.2026 23:55
  • 22.08.2026 23:57
  • Язык:

Витрина Market PRO

CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.