/library/includes/comments.php line 30
Тут понятно, не работал допуск гостей к комментариям.
if (!$systemUser->isValid() && $config->mod_lib < 2) {
/library/includes/lastcom.php line 26
Группировка в запросе была непредсказуемой, и не логичной(зачем выводить 20 комментариев из одной и той же статьи?).
Дополнительно можно вынести из цикла запрос(пример закомментирован) к юзер нейму.
$stmt = $db->query('SELECT lbc.`user_id`, lbc.`text`, lbc.`time`, lbt.`name`, lbt.`comm_count`, lbt.`id` /*, usr.name as userName */
FROM `cms_library_comments` lbc
JOIN (
SELECT `sub_id`, max(`time`) as `mtime` FROM `cms_library_comments` GROUP BY `sub_id`) as t1
ON lbc.`sub_id`= t1.`sub_id` AND lbc.`time` = t1.`mtime`
JOIN `library_texts` lbt ON lbc.`sub_id`=lbt.`id`
/* JOIN `users` usr ON usr.id=lbc.user_id */
ORDER BY lbc.`time` DESC LIMIT 20');
$res = $stmt->fetchAll();
if ($res) {
$i = 0;
foreach ($res as $row) {
/home/ua0sqq/domains/johncms.loc/library/includes/top.php line 37-41
Странный подсчет строк был, чем то мне Индию напоминает)))
if ($sort == 'read' || $sort == 'comm') {
$total = $db->query('SELECT COUNT(*) FROM `library_texts` WHERE ' . ($sort == 'comm' ? '`comm_count`' : '`count_views`') . ' > 0')->fetchColumn();
} else {
$total = $db->query('SELECT COUNT(*) FROM `cms_library_rating` WHERE `point`>0')->fetchColumn();
}
Там же, строка 52 непредсказуемая группировка
$stmt = $db->query("SELECT DISTINCT lbt. * , lbr.st_id, (
SELECT avg( `point` ) FROM `cms_library_rating` WHERE `st_id` = lbt.`id`) AS `avg`
FROM `library_texts` lbt
JOIN `cms_library_rating` lbr ON lbr.st_id = lbt.id
ORDER BY `avg` DESC LIMIT " . $start . ',' . $kmess);