instantcms.ru/blogs/u-ch-rta-za-pazuhoi/istorija-komentariev-na-ajaks.html#comment_82018
на instant 1.10.4
При тестировании заметил следующую ошибку, (ставил на уже работающий инстант).
При голосовании заметил что когда добавляю голос, то там уже задним числом выдает еще кого-то, хотя комментарий добавлен только сегодня был.
Итого:
1.Статья добавлена сегодня.
2.Комментарий добавлен сегодня.
3.В статистике пишется +1 к комментарию
4.Открываешь посмотреть историю там еще показывает как будто бы кто-то голосовал, год назад, хотя такого быть не могло.
5.Проблема не с единичным комментарием, так происходит раз через два, часто.
Вот скрин:
Помогите пожалуйста разобраться в чем может быть проблема.
Заранее спасибо.
PS там еще из темы вот этой следует, что необходимо в файл /components/comments/model.php добавить следующий код
function r_User($id){ $sql ="SELECT u.nickname FROM cms_users u LEFT JOIN cms_comments c ON c.user_id = u.id LEFT JOIN cms_ratings r ON r.item_id = c.id WHERE u.id = $id LIMIT 1"; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)) { return false; } $commen = $this->inDB->fetch_assoc($result); return $commen; } /*******************************************************************/ function l_User($id){ $sql ="SELECT u.login FROM cms_users u LEFT JOIN cms_comments c ON c.user_id = u.id LEFT JOIN cms_ratings r ON r.item_id = c.id WHERE u.id = $id LIMIT 1"; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)) { return false; } $commen = $this->inDB->fetch_assoc($result); return $commen; } /*****************************************************************/ public function getRComment($id) { $sql = "SELECT c.*, u.nickname as nickname, u.login as login, r.user_id as ruser,r.points as points,r.pubdate as date FROM cms_comments c LEFT JOIN cms_ratings r ON r.item_id = c.id LEFT JOIN cms_users u ON u.id = c.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE c.id = r.item_id AND c.target_id=$id"; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)) { return false; } while($comment = $this->inDB->fetch_assoc($result)){ $comments[] = $comment; } return $comments; }
public function getRating($id,$target_id) { $sql = "SELECT r.*, u.nickname as nickname, u.login as login,c.id as cid FROM cms_ratings r LEFT JOIN cms_comments c ON c.target_id=$target_id AND r.item_id=c.id LEFT JOIN cms_users u ON u.id = r.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE item_id=$id "; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)) { return false; } while($rating = $this->inDB->fetch_assoc($result)){ $ratings[] = $rating ; } return $ratings; }