Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Модули Топ комментаторов v2.1 by Glam, помогите настроить под версию 10,5?

Топ комментаторов v2.1 by Glam, помогите настроить под версию 10,5?


     12.10.2015    Модули    763

вопрос
Здравствуйте, подскажите пожалуйста, как настроить модуль Топ комментаторов (он же топ юзерс) v2.1 by Glam на DLE 10.5.

Пациент - http://n-s-t.ru/topusers.html

Решение которое предложили в соседней теме, на 10.5 не работает. Выдаёт ошибку БД.

MySQL Error!
MySQL error in file: /engine/modules/glamusers.php at line 15
Error Number: 1064
The Error returned was:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SQL query:

SELECT user_id, name, foto, signature, comm_num, icq FROM dle_users ORDER BY comm_num DESC LIMIT



Изначальный код ошибки не выдаёт, при этом страница пустая.
<?php
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

$num = "12"; // сколько пользователей выводим в блоке?

$glamusers = dle_cache("glamusers", $config['skin']);
$sql = $db->query("SELECT user_id, name, foto, signature, comm_num, icq FROM ".PREFIX."_users order by comm_num DESC LIMIT 0,$num");
while ($row = $db->get_row($sql)) {
if ($config['allow_alt_url'] == "yes") {
$userlink = "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">";
} else {
$userlink = "<a href=\"/user/".urlencode($row['name'])."/\">";
}
if ($row['foto'] !== "")
$ava = "{$userlink}<img src=\"".$config['http_home_url']."uploads/fotos/".$row['foto']."\" align=\"center\" width=\"50\" height=\"50\" /></a>";
else
$ava = "{$userlink}<img src=\"{THEME}/dleimages/noavatar.png\" align=\"center\" width=\"50\" /></a>";
$nohtml = "'<[\/\!]*?[^<>]*?>'si";
$tpl->load_template('topusers.tpl');
$tpl->set('{ava}', $ava);
$tpl->set('{nickname}', $userlink.$row['name'].'</a>');
$tpl->set('{signature}', preg_replace($nohtml,"",stripslashes($row['signature'])));
$tpl->set('{icq}', $row['icq']);
$tpl->set('{comm_num}', '<a href="/index.php?do=lastcomments&userid='.$row['user_id'].'">'.$row['comm_num'].'</a>');
$tpl->compile('glamusers');
$tpl->clear();
}
$db->free();
?>


Готов отблагодарить за помощь.

Ответил: Pringles


А лучше так:
<?php
if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

$num = "12"; // сколько пользователей выводим в блоке?

$glamusers = dle_cache("glamusers", $config['skin']);

if ($glamusers === false)) {
    $db->query("SELECT user_id, name, foto, signature, comm_num FROM ".PREFIX."_users order by comm_num DESC LIMIT 0,$num");
    while ($row = $db->get_row()) {
        $userlink = ($config['allow_alt_url']) ? $config['http_home_url']."user/".urlencode($row['name'])."/" : "/user/".urlencode($row['name'])."/";
        $ava = ($row['foto'] !== "") ? $config['http_home_url']."uploads/fotos/".$row['foto'] : "{THEME}/dleimages/noavatar.png";
        $tpl->load_template('topusers.tpl');
        $tpl->set('{ava}', "<img src=\"".$ava."\" alt=\"\">");
        $tpl->set('{nickname}', '<a href="'.$userlink.'">'.$row['name'].'</a>');
        $tpl->set('{signature}', preg_replace("'<[\/\!]*?[^<>]*?>'si","",stripslashes($row['signature'])));
        $tpl->set('{comm_num}', '<a href="/index.php?do=lastcomments&userid='.$row['user_id'].'">'.$row['comm_num'].'</a>');
        $tpl->compile('glamusers');
        $tpl->clear();
    }
    $db->free();
    create_cache( "glamusers", $tpl->result['glamusers'], $config['skin'], true );
}
?>

Комментарии пользователей (8)

Pringles
7

101 | 25

Pringles - 13 октября 2015 03:33 - Юзер

***Комментарий удален***

agopri
5

agopri - 13 октября 2015 11:30 - Юзер

Временно выводится топ-комментаторов с помощью вот этого модуля.

Код который предложил Pringles, выдаёт ошибку.
Parse error: syntax error, unexpected ')' in /home/users2/a/agopri/domains/n-s-t.ru/engine/modules/glamusers.php on line 8


Немного допилил временный вариант. Практически идентично получилось со старым модулем. Тему можно закрывать вопрос решен с помощью модуля Top Commentator 2.0 [DLE 10.2 - 10.5].

Pringles
7

101 | 25

Pringles - 13 октября 2015 22:21 - Юзер

в строке 8 одна скобка лишняя, упустил
if ($glamusers === false)) {

замените на
if ($glamusers === false) {

agopri
5

agopri - 14 октября 2015 09:55 - Юзер

Скобку убрал, ошибка пропала. Но модуль так и не заработал.

Gameer
224

1118 | 394

Gameer - 14 октября 2015 11:14 - Эксперт

<?php
if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

$num = "12"; // сколько пользователей выводим в блоке?

$glamusers = dle_cache("glamusers", $config['skin']);

if ($glamusers === false) {
    $db->query("SELECT user_id, name, foto, signature, comm_num FROM ".PREFIX."_users order by comm_num DESC LIMIT 0,$num");
    while ($row = $db->get_row()) {
        $userlink = ($config['allow_alt_url']) ? $config['http_home_url']."user/".urlencode($row['name'])."/" : "/user/".urlencode($row['name'])."/";
        $ava = ($row['foto'] !== "") ? $config['http_home_url']."uploads/fotos/".$row['foto'] : "{THEME}/dleimages/noavatar.png";
        $tpl->load_template('topusers.tpl');
        $tpl->set('{ava}', "<img src=\"".$ava."\" alt=\"\">");
        $tpl->set('{nickname}', '<a href="'.$userlink.'">'.$row['name'].'</a>');
        $tpl->set('{signature}', preg_replace("'<[\/\!]*?[^<>]*?>'si","",stripslashes($row['signature'])));
        $tpl->set('{comm_num}', '<a href="/index.php?do=lastcomments&userid='.$row['user_id'].'">'.$row['comm_num'].'</a>');
        $tpl->compile('glamusers');
    }
    $db->free();
    $tpl->clear();
    $glamusers = $tpl->result['glamusers'];
    create_cache( "glamusers", $tpl->result['glamusers'], $config['skin'], true );
}
echo $glamusers;
?>


Потому что нужно так.

Истина в противоречии.​

agopri
5

agopri - 10 ноября 2015 14:49 - Юзер

На 10,5 модуль заработал, спасибо большое.

Pringles
7

101 | 25

Pringles - 10 ноября 2015 14:36 - Юзер

Topusers 1.0 Вот аналог данного модуля набросал побыстрому, будет все как надо, и установка не требует изменения файлов движка

agopri
5

agopri - 10 ноября 2015 14:57 - Юзер

Спасибо что доработали модуль, обязательно попробую вывод топ журналистов организовать. Решение которое предложил Gameer - 14 октября 2015 11:14, также работает. Забыл сразу отписать.

Ещё раз благодарю за помощь. Вопрос решен.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 09.07.2013 giorgi  Модули