Имеется определенная роль, которой разрешен доступ к администрированию пользователей! Теперь необходимо в разделе УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ выводить только определенных пользователей (например, которые посещали сайт в течение дня). Я уже перелопатил модуль user, нашел где формируется запрос на выдачу пользователей. Но вот как вклиниться в процесс формирования списка пользователей? Подскажите в какую сторону копать!?
Комментарии
Не легче через hook_menu создать отдельную страницу где по составному sql запросу формируется список пользователей ввиде таблицы?
Как вариант! Но мне все-таки хотелось бы изменить тот список! Как говорится, проверяю Друпал на гибкость!
Единственный вариант, что я вижу: на той странице есть фильтр пользователей! Можно, наверное его скрыть, а вместо него к SQL-запросу присобачить то что нам нужно. Но до практической реализации у меня не доходило. Еще кто знает какие способы? Предлагайте варианты, очень интересно!
Как вариант? Зачем разработчики Друпала ночами не спали чтобы сделать систему хуков... наверно чтобы ими не пользовались
Задачу можно решить разными путями! Вы предложили один из них! Но меня интересует как именно повлиять на Друпал, вклиниться в его вывод!
Да легко, заходим в папку модуля users, открываем файл user.module. Идём на 1989 строку, и вставляем следующее:
'title' => t('visited'),
'where' => 'u.access > %d',
'join' => '',
'options' => array(
mktime(0, 0, 0) => t('today'),
(mktime(0, 0, 0) - 7 * 24 * 60 * 60) => t('this week'),
(mktime(0, 0, 0) - 30 * 24 * 60 * 60) => t('this month'),
),
);
Потом идём на http://mysite/admin/user/user и там выбираем параметр фильтрации visited (посещял):
а) today (сегодня)
б) this week (эту неделю)
в) this month (этот месяц)
Спасибо за еще один вариант! Но лезть в ядро друпала тоже не хороший вариант!