CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Реализация временных групп
Официальный форум Eleanor CMS » Поддержка пользователей системы Eleanor CMS » Разработка системы
sanes
Натолкните на мысль, где искать реализацию Забанить пользователя? Хотелось бы организовать перенос пользователя во временную группу. Ведь бан по сути - это и есть?
sanes
пока нашел упоминания в файлах
/addons/adminka/modules/users.php
/addons/adminka/modules/user_groups.php
/classes/login/class_account.php

ещё базу покопать надо.. может кто подскажет, как сие сделать..
Alexander
Да. Вы правильно нашли файлы, только user_groups можно не использовать. Я бы сделал так:
В таблице пользователей users создаем новое поле, в котором будем хранить список ближайших групп, например next_groups. Список должен быть в виде массива (хранится в серилизованном виде) в виде TIMESTAMP=>GROUP_ID. Где TIMESTAMP - ключ массива, время после которого пользователю необходимо названить группу с идом GROUP_ID.

По коду.
В файле addons/adminka/modules/users.php (из админки же будем банить) делаем интерфейс для назначения пользователям дополнительных будущих групп. В файле classes/login/class_account.php в функциях AuthByName и AuthByKey в запрос добавляем это поле next_groups, далее небходимо десерилировать его, проверить время и, если оно наступило, переназначить пользователю группу.

Вроде все.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.