Уникальное поле профиля пользователя

Добрый день,

плагин, позволяет сделать уникальным любое поле в профиле пользователя,не прибегая к каким-либо изменениям ядра.Только системное событие OnBeforeUserFormSave. Работает соответственно так же и в бекенде.

В примере стоит имя пользователя, пример рассчитан на работу с Hybrid Auth - т.е даже если будет совпадение по имени, профиль автоматически создастся при первом входе, но при сохранении возникнет ошибка.

<?php
switch ($modx->event->name) {

    case 'OnBeforeUserFormSave':

        if ($id == 0) return ""; //hack for create new user 
        /**@var user modUser */
        if ($modx->getCount('modUserProfile', array('fullname' => $user->get('fullname'), 'internalKey:!=' => $id))) {
            $modx->error->addField('fullname', 'Указанное имя пользователя уже занято.');
            $modx->event->output('Указанное имя пользователя уже занято.Попробуйте указать другое имя.');
        }
        break;
}
← Предыдущая заметка
Sendex - отправка рассылки при публикации ресурса
Следующая заметка →
AjaxSnippet и аякс пагинация
Комментарии (2)
Мордынский Николай
27.02.2014 18:36

OnBeforeUserFormSave- Fires after a form is submitted but before a User is saved in the manager.

Разве это событие срабатывает на фронтенде?

CleanClean
27.02.2014 18:43

Почему бы и нет?

inetlover
Александр Наумов
27.09.2022 22:16
Василий, спасибо тебе большое! Обалдеть, как круто!
Сергей Лелеко
26.09.2022 10:22
Тоже задействовал! Прекрасная функция!
inetlover
Александр Наумов
19.09.2022 11:56
Компонента Sidebar у Bootstrap нет, значит нужны только стили из Bootstrap-Vue @import &#39;~boot...
bezumkin
Василий Наумкин
13.08.2022 14:41
неужели, все глобальное, так просто можно взять и сделать Да, именно так. Мелкие затыки, конечно ж...
bezumkin
Василий Наумкин
13.08.2022 11:18
Killed говорит, что сервер прибивает задачу, скорее всего у провайдера есть какие-то лимиты по нагру...
bezumkin
Василий Наумкин
11.08.2022 18:46
Класс!! Рад, что тебе нравится! нужно добавить @click=&quot;showCart = true&quot; в: Спасибо, попра...
bezumkin
Василий Наумкин
09.08.2022 14:27
На здоровье!
inetlover
Александр Наумов
30.07.2022 22:58
Василий, спасибо большое! Первый вариант помог, не было вот этой настройки: php_value[sys_temp_dir].
bezumkin
Василий Наумкин
06.07.2022 17:06
Базовый Vue, базовый ES 6: импорт-экспорт модулей, вот это всё. Если что-то будет непонятно - просто...
bezumkin
Василий Наумкин
06.07.2022 14:19
Спасибо, что читаешь!