Форумы / National / Russian / Тех. поддержка / Соображения по Genoa 0.6.x

Предлагаю внести некоторые изменения в Genoa 0.6.x (новые хуки и хаки)

Yusupov
#35696 01.10.2012 15:29

Предлагаю добавить новый хук в system/core/users/users.inc.php для изменения запроса в БД, формирующего список пользователей.
Назвать его например users.query и добавить вместо строк 153-155:

$sql = sed_sql_query("SELECT COUNT(*) FROM $db_users $sqlmask");
$totalusers = sed_sql_result($sql, 0, "COUNT(*)");
$sql = sed_sql_query("SELECT * FROM $db_users $sqlmask $sqlorder LIMIT $d,{$cfg['maxusersperpage']}");

Следующий код:

/* === Hook === */
$extp = sed_getextplugins('users.query');
if (is_array($extp))
{
	foreach($extp as $k => $pl) include_once($cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');
}
/* ===== */
else
{
	$sql = sed_sql_query("SELECT COUNT(*) FROM $db_users $sqlmask");
	$totalusers = sed_sql_result($sql, 0, "COUNT(*)");
	$sql = sed_sql_query("SELECT * FROM $db_users $sqlmask $sqlorder LIMIT $d,{$cfg['maxusersperpage']}");
}

Также было бы очень удобно сделать разные шаблоны для списков пользователей в зависимости от выбранной группы. То есть в том же файле users.inc.php в строке 81 вместо 

$localskin = sed_skinfile('users');

добавить алиас группы:

$localskin = sed_skinfile(array('users',$sed_groups[$gm]['alias']));

 

Аналогично можно поступить и для страниц пользователей: users.details.inc.php

В строке 80, вместо: 

$mskin = sed_skinfile(array('users', 'details'));

вставить код:

$mskin = sed_skinfile(array('users', 'details', $sed_groups[$urr['user_maingrp']]['alias']));