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

Добрый день,
плагин, позволяет сделать уникальным любое поле в профиле пользователя,не прибегая к каким-либо изменениям ядра.Только системное событие 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;
}

2 комментария

Мордынский Николай
OnBeforeUserFormSave- Fires after a form is submitted but before a User is saved in the manager.
Разве это событие срабатывает на фронтенде?
Clean
Почему бы и нет?
bezumkin.ru
Личный сайт Василия Наумкина
Прямой эфир
Дмитрий
08.02.2025 09:09:01
Спасибо за ответ. Есть желание разобраться самому. Прочитал все ваши статьи и понял, что VESP перспе...
Василий Наумкин
04.02.2025 19:27:08
Я таким давно не занимаюсь и с MODX не работаю. Попробуйте обратиться к ребятам с modx.pro.
Василий Наумкин
23.12.2024 05:33:00
В MODX сначала создали проблему, автоматически генерируя адреса, а потом "решили" заморозкой. Так ч...
Дмитрий
14.12.2024 09:10:38
Василий, прошу прощения, тупанул, не разобрался сразу. Фреймворк отличный! "Чистый лист" на vue, рис...
Василий Наумкин
05.12.2024 20:01:14
В итоге основная ошибка была в неправильном общем root в Nginx, из-за чего запросы не улетали на фай...
inna
06.11.2024 15:47:13
Да. Все работает. Спасибо.
Василий Наумкин
01.07.2024 11:56:41
Да, верно, именно так. А в контроллере, скорее всего, ловить данные методом post.
Василий Наумкин
26.06.2024 09:38:15
О, точно, вылезает если не залогинен. Спасибо, исправил!
Василий Наумкин
20.03.2024 21:21:52
Volledig!
Андрей
14.03.2024 13:47:10
Василий! Как всегда очень круто! Моё почтение!
Уровни подписки
Спасибо!
500 ₽ в месяц
Эта подписка ничего не даёт, просто возможность сказать спасибо за мои заметки. Подписчики отмечаются зелёненьким цветом в комментариях.
Большое спасибо!
1 000 ₽ в месяц
И эта подписка не даёт ничего, кроме оранжевого цвета в комментариях и возможности сказать спасибо, но уже большое!