$report = $forum->isAllowed($groups, 'reply'); $moderator = $xoopsUser ? $forum->isModerator($xoopsUser->uid()) : false; $admin = $xoopsUser ? $xoopsUser->isAdmin() : false; $tbl1 = $db->prefix("mod_bxpress_posts"); $tbl2 = $db->prefix("mod_bxpress_posts_text"); $tbl3 = $db->prefix("mod_bxpress_likes"); $sql = "SELECT\n posts.*,\n texts.*,\n (SELECT COUNT(*) FROM {$tbl1} WHERE parent=posts.id_post) as replies,\n GROUP_CONCAT(tlikes.uid ORDER BY " . ($xoopsUser ? "tlikes.uid=" . $xoopsUser->uid() . ' DESC' : 'tlikes.uid') . ") as liked\n FROM\n {$tbl1} posts\n LEFT JOIN {$tbl3} tlikes ON tlikes.post=posts.id_post\n INNER JOIN {$tbl2} texts ON texts.post_id=posts.id_post\n WHERE\n posts.id_topic='" . $topic->id() . "'\n AND\n texts.post_id=posts.id_post\n GROUP BY\n posts.id_post\n ORDER BY\n posts.post_time ASC,\n posts.parent ASC\n LIMIT\n {$start},{$limit}"; $result = $db->query($sql); $users = array(); $posts_ids = array(); $posts = array(); while ($row = $db->fetchArray($result)) { $post = new bXPost(); $post->assignVars($row); // Permisos de edición y eliminación $canedit = $moderator || $admin ? true : $edit && $post->isOwner(); $candelete = $moderator || $admin ? true : $delete && $post->isOwner(); //Permiso de visualizar mensaje $canshow = $moderator || $admin ? true : false; // Datos del usuario if ($post->user() > 0) { if (!isset($users[$post->user()])) { $users[$post->user()] = new XoopsUser($post->user()); } $bbUser = $users[$post->user()]; $userData = array(); $userData['id'] = $bbUser->uid(); $userData['uname'] = $bbUser->uname(); $userData['name'] = $bbUser->getVar('name') != '' ? $bbUser->getVar('name') : $bbUser->uname(); //$userData['rank'] = $ranks[$bbUser->getVar('rank')]['title']; //$userData['rank_image'] = $ranks[$bbUser->getVar('rank')]['image'];