Forums / National / Russian / Модули и плагины / список пользователей - идеи

esclkm
#1 2008-12-27 05:50
на странице списка пользователей у нас есть поиск по первому символу. зачем он нужен я до сих пор не понял. Я бы его удалил прочо. Кому он нужен будет тот напишет плагин, а остальные даже не задумаются что он был.
Ибо для русского общества данная штука вестма бесполезна: если у пользователя будет ник "Серый зайчик" куда он попадет? павильно никуда - необходимость плагина никакая.
Да и в целом у нас есть поиск пользователей который весьма неплохо справляется с данной задачей.
а вот фильтрации по экстра полям не хватает - но она должна реализовываться плагинами
да и и откроем сам файл users.inc.php
там гора ненужных запросов в целом которые можно посокращать до минимума

например самые главные запросы
SELECT COUNT(*) FROM $db_users WHERE 1
и
$sql = sed_sql_query("SELECT * FROM $db_users WHERE 1 ORDER BY user_$s $w LIMIT $d,".$cfg['maxusersperpage'])

но я бы сделал по другому
добавил бы переменную
$filteroption="WHERE 1";

затем добавил такую конструкцию:
/* === Hook === */
$extp = sed_getextplugins('users.main');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include_once($cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
а затем только:
	$sql = sed_sql_query("SELECT COUNT(*) FROM $db_users $filteroption");
	$totalusers = sed_sql_result($sql, 0, "COUNT(*)");
	$sql = sed_sql_query("SELECT * FROM $db_users $filteroption ORDER BY user_$s $w LIMIT $d,".$cfg['maxusersperpage']);

в итоге после такой штуки мы смогли бы сделать очень мягкую сортировку пользователей!
В данном случае к этой конструкции очень легко подшить плагины и сделать сортировку по любому из экстра полей. А мне например у меня на файте порой очtym нужна сортировка по курсу или факультету. А такой подход позволит сделать ее очень комфортной и без лишних запросов.
тоже самое можно применить и к list.
единственное после пришивания плагинов останутся небольшие вопросы с пажинацией

спасибо за внимание
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Dayver
#2 2008-12-27 07:28
единственное после пришивания плагинов останутся небольшие вопросы с пажинацией
какие например?......если и делать то предусмотреть полную работоспособность пейджинации а то получится не улучшение и оптимизация, а ущербная недороботка
Pavlo Tkachenko aka Dayver
esclkm
#3 2008-12-27 07:32
формирование линка для пажинации - не работал пока с sed_url.
думаю вопрос весьма решаем и решаем просто. просто эту чась я вижу отчетливо. а эту пока не думал.. но в целом идеи есть. точно есть))

так же можно будет сделать сортировку по нескольким фильтрам)
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
This post was edited by esclkm (2008-12-27 07:52, 15 years ago)
Trustmaster
#4 2008-12-27 15:26
esclkm:
на странице списка пользователей у нас есть поиск по первому символу. зачем он нужен я до сих пор не понял. Я бы его удалил прочо. Кому он нужен будет тот напишет плагин, а остальные даже не задумаются что он был.
Ибо для русского общества данная штука вестма бесполезна: если у пользователя будет ник "Серый зайчик" куда он попадет? павильно никуда - необходимость плагина никакая.
Ну почему же, я иногда смотрю пользователей по алфавиту. А для русских имен есть плагин rusalphafilter.

Но в целом идея плагинов выборки пользователей более чем здравая. Я еще пытался сделать нечто подобное для list и forums.topics, но там это гораздо сложнее, т.е. вся логика завязана на выбор конкретных значений, а не абстрактного запроса. В users это гораздо лучше выходит.

С паджинацией проблем быть не должно.
May the Source be with you!
esclkm
#5 2008-12-27 22:25
согласен что там сложнее. но я у себя на сайте данную штуку реализовал.. правда немного иначе чем сейчас предложил.
ты сам говоришь что есть плагин сортировки по алфавиту - вот его и достаточно
ведь на практике достаточно ввести в поиске первую букву имени и все становится на свои места)
для list и forum.topics - там просто идет работа сразу с двумя базами в этом и вся сложность, но при желании и ее можно ибойти, если не 1 переменной так двумя.

главное, чтобы можно было фильтровать по нескольким условиям
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты