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

Добрый день,

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

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

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

CleanClean
27.02.2014 14:43

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

bezumkin
Василий Наумкин
01.06.2023 02:28
Молодец, я очень рад! Мне когда приходится по работе сталкиваться с другими системами - это боль.
inetlover
Александр Наумов
31.05.2023 18:12
Понял, спасибо!
Nurbol Boken
28.05.2023 10:07
Спасибо большое!
futuris
Futuris
26.05.2023 08:05
Можно и так. Главное - варианты есть, если хочешь ковырять VESP). Virtual Box я использовал на дескт...
futuris
Futuris
21.05.2023 14:51
Да, теперь появились! Спасибо за твое терпение!
bezumkin
Василий Наумкин
15.05.2023 06:11
Молодец!
bezumkin
Василий Наумкин
09.05.2023 01:01
Не знаю даже, что ответить. По идее работать должно везде, возможно просто глюк, который лечится пер...
futuris
Futuris
05.05.2023 09:49
Блин, вот оказывается из-за чего! Извини Василий, не было злого умысла!) Я видно уже припарился и ко...
bezumkin
Василий Наумкин
29.04.2023 05:08
Думаю, что не помогут
futuris
Futuris
28.04.2023 14:37
Не то слово!