Для того чтобы создать свой блок статистики нужны знания php и mysql
Покажу на примере топа "Просматриваемые профили", который уже вшит в хак.
Для начала нам нужно придумать уникальный ключ и название, в данном случае visitors и "Просматриваемые профили" соответственно.
Далее по порядку:
- создаем запрос.
шаблон запроса выглядит так:
PHP код:
$top_query = $vbulletin->db->query_read("
SELECT $q_select
FROM " . TABLE_PREFIX . "$q_from
ORDER BY $q_order
LIMIT $result
");
В плагине imDM - Advanced Statistics - Custom Top Start Build изменяем переменные $q_select, $q_from, $q_order, когда $keyword равен нашему ключу, т.е. visitors
PHP код:
if ($keyword == 'visitors')
{
$q_select = 'userid, username, usergroupid, displaygroupid, profilevisits';
$q_from = 'user';
$q_order = 'profilevisits DESC';
}
- в плагине imDM - Advanced Statistics - Custom Top End Build заносим нужные данные в массив кеша.
PHP код:
if ($keyword == 'visitors')
{
$top['username'] = imdm_trim($top['username'], $utrim);
$column1 = array($top['userid'], $top['username'], fetch_musername($top));
$column2 = vb_number_format($top['profilevisits']);
}
$column1 - для левой стороны колонки, $column2 - для правой
- выводим заголовки топа в плагине imDM - Advanced Statistics - Custom Top Start.
PHP код:
if ($keyword == 'visitors')
{
$head1 = $vbphrase['username'];
$head2 = 'Visiters';
}
- выводим данные из кеша в плагине imDM - Advanced Statistics - Custom Top End
PHP код:
if ($keyword == 'visitors')
{
$colum1 = "<a href='member.php?u=" . $top['c1'][0] . "' title='" . $top['c1'][1] . "'>" . $top['c1'][2] . "</a>";
}
$top['c1'] - левая колонка из кеша, $top['c2'] - правая. По умолчанию $column2 равен $top['c2'], в данном случае нас это устраивает, т.к. нам нужно вывести просто число.
- в плагине настройке Дополнительные топ модули добавляем модуль топа к выбору в админке.
Добавляем нашу пару ключ-название в настройку Дополнительные топ модули
- обновляем кеш у учетом только что добавленной топ статистики по ссылке _http://site.ru/admincp/cronadmin.php?do=runcron&varname=imdmupdtop
После этих манипуляций наш новый модуль будет доступен в блоке неактивных модулей.