public static function getCommentTreeByArticleID($id, $parent = -1) { $query = mysql_query("SELECT *, (SELECT username FROM users WHERE id = (SELECT user_id FROM comments AS sub WHERE sub.id = prime.id) ) AS author, (SELECT COUNT(id) FROM comments AS sub WHERE sub.parent_id = prime.id) AS count FROM comments AS prime WHERE parent_id='{$parent}' AND post_id='{$id}'") or die(mysql_error()); $i = 0; $comments = array(); while ($row = mysql_fetch_assoc($query)) { $comments[$i] = new Comment($row['id'], $row['content'], $id, $row['author']); $comments[$i]->prime = $parent; if ($row['count'] > 0) { $comments[$i]->comments = CommentModel::getCommentTreeByArticleID($id, $row['id']); } else { $comments[$i]->comments = array(); } $i++; } return $comments; }
public function view($id, $args = NULL) { if ($_POST['post_comment']) { CommentModel::add($_POST['content'], $_POST['parent_comment'], $_POST['author_id'], $_POST['article_id']); } session_start(); if (Authentification::isLoggedIn()) { ViewsModel::incrementView($id, $_SESSION['id']); } $view = new XView(Article_View); $view->title = 'Article | View'; $view->article = ArticleModel::getArticleById($id); $view->comments = CommentModel::getCommentTreeByArticleID($id, -1); $view->likes = LikesModel::getLikeNumber($id); $view->parent_comment = $args; $this->__common($view); }