15if (!defined(
'XOOPS_ROOT_PATH') || !is_object($xoopsModule)) {
19require_once XOOPS_ROOT_PATH.
'/include/comment_constants.php';
21if (XOOPS_COMMENT_APPROVENONE !== $xoopsModuleConfig[
'com_rule']) {
22 $gperm_handler = & xoops_gethandler(
'groupperm');
23 $groups = ($xoopsUser) ? $xoopsUser -> getGroups() : XOOPS_GROUP_ANONYMOUS;
24 $xoopsTpl->assign(
'xoops_iscommentadmin', $gperm_handler->checkRight(
'system_admin', LEGACY_SYSTEM_COMMENT, $groups));
26 $t_root =& XCube_Root::getSingleton();
27 $t_root->mLanguageManager->loadPageTypeMessageCatalog(
'comment');
28 $comment_config = $xoopsModule->getInfo(
'comments');
29 $com_itemid = (
'' !== trim($comment_config[
'itemName']) && isset($_GET[$comment_config[
'itemName']])) ? (
int)$_GET[$comment_config[
'itemName']] : 0;
31 if ($com_itemid > 0) {
32 $com_mode = isset($_GET[
'com_mode']) ? htmlspecialchars(trim($_GET[
'com_mode']), ENT_QUOTES) :
'';
33 if (
'' == $com_mode) {
34 if (is_object($xoopsUser)) {
35 $com_mode = $xoopsUser->getVar(
'umode');
37 $com_mode = $xoopsConfig[
'com_mode'];
40 $xoopsTpl->assign(
'comment_mode', $com_mode);
41 if (!isset($_GET[
'com_order'])) {
42 if (is_object($xoopsUser)) {
43 $com_order = $xoopsUser->getVar(
'uorder');
45 $com_order = $xoopsConfig[
'com_order'];
48 $com_order = (int)$_GET[
'com_order'];
50 if (XOOPS_COMMENT_OLD1ST !== $com_order) {
51 $xoopsTpl->assign([
'comment_order' => XOOPS_COMMENT_NEW1ST,
'order_other' => XOOPS_COMMENT_OLD1ST]);
52 $com_dborder =
'DESC';
54 $xoopsTpl->assign([
'comment_order' => XOOPS_COMMENT_OLD1ST,
'order_other' => XOOPS_COMMENT_NEW1ST]);
58 if (is_object($xoopsUser) && $xoopsUser->isAdmin($xoopsModule->getVar(
'mid'))) {
64 $com_id = isset($_GET[
'com_id']) ? (int)$_GET[
'com_id'] : 0;
65 $com_rootid = isset($_GET[
'com_rootid']) ? (int)$_GET[
'com_rootid'] : 0;
66 $comment_handler =& xoops_gethandler(
'comment');
67 if (
'flat' == $com_mode) {
68 $comments =& $comment_handler->getByItemId($xoopsModule->getVar(
'mid'), $com_itemid, $com_dborder);
69 include_once XOOPS_ROOT_PATH.
'/class/commentrenderer.php';
73 $renderer->setComments($comments);
74 $renderer->renderFlatView($admin_view);
75 } elseif (
'thread' == $com_mode) {
77 $comment_url = $comment_config[
'pageName'] .
'?';
82 if (isset($comment_config[
'extraParams']) && is_array($comment_config[
'extraParams'])) {
83 foreach ($comment_config[
'extraParams'] as $extra_key) {
85 if (isset($GLOBALS[$extra_key])) {
86 $comment_url .= $extra_key .
'='. htmlspecialchars($GLOBALS[$extra_key], ENT_NOQUOTES).
'&';
87 } elseif (isset($_REQUEST[$extra_key])) {
88 $comment_url .= $extra_key .
'='. htmlspecialchars($_REQUEST[$extra_key], ENT_NOQUOTES).
'&';
90 $comment_url .= $extra_key .
'=&';
95 $xoopsTpl->assign(
'comment_url', $comment_url.$comment_config[
'itemName'].
'='.$com_itemid.
'&com_mode=thread&com_order='.$com_order);
96 if (!empty($com_id) && !empty($com_rootid) && ($com_id != $com_rootid)) {
98 $comments =& $comment_handler->getThread($com_rootid, $com_id);
99 if (
false !== $comments) {
100 require_once XOOPS_ROOT_PATH.
'/class/commentrenderer.php';
102 $renderer->setComments($comments);
103 $renderer->renderThreadView($com_id, $admin_view);
107 $top_comments =& $comment_handler->getTopComments($xoopsModule->getVar(
'mid'), $com_itemid, $com_dborder);
108 $c_count = is_countable($top_comments) ? count($top_comments) : 0;
110 for ($i = 0; $i < $c_count; $i++) {
111 $comments =& $comment_handler->getThread($top_comments[$i]->getVar(
'com_rootid'), $top_comments[$i]->getVar(
'com_id'));
112 if (
false !== $comments) {
113 require_once XOOPS_ROOT_PATH.
'/class/commentrenderer.php';
115 $renderer->setComments($comments);
116 $renderer->renderThreadView($top_comments[$i]->getVar(
'com_id'), $admin_view);
124 $top_comments =& $comment_handler->getTopComments($xoopsModule->getVar(
'mid'), $com_itemid, $com_dborder);
125 $c_count = is_countable($top_comments) ? count($top_comments) : 0;
127 for ($i = 0; $i < $c_count; $i++) {
128 $comments =& $comment_handler->getThread($top_comments[$i]->getVar(
'com_rootid'), $top_comments[$i]->getVar(
'com_id'));
129 include_once XOOPS_ROOT_PATH.
'/class/commentrenderer.php';
131 $renderer->setComments($comments);
132 $renderer->renderNestView($top_comments[$i]->getVar(
'com_id'), $admin_view);
137 $renderSystem =& $t_root->getRenderSystem($t_root->mContext->mBaseRenderSystemName);
138 $renderTarget =& $renderSystem->createRenderTarget(
'main');
140 $renderTarget->setTemplateName(
'legacy_comment_navi.html');
141 $renderTarget->setAttribute(
'pageName', $comment_config[
'pageName']);
143 $modeOptions = [
'nest' => _NESTED,
'flat' => _FLAT,
'thread' => _THREADED];
144 $renderTarget->setAttribute(
'modeOptions', $modeOptions);
145 $renderTarget->setAttribute(
'com_mode', $com_mode);
147 $orderOptions = [0 => _OLDESTFIRST, 1 => _NEWESTFIRST];
148 $renderTarget->setAttribute(
'orderOptions', $orderOptions);
149 $renderTarget->setAttribute(
'com_order', $com_order);
151 $renderTarget->setAttribute(
'itemName', $comment_config[
'itemName']);
152 $renderTarget->setAttribute(
'com_itemid', $com_itemid);
153 $renderTarget->setAttribute(
'com_anonpost', $xoopsModuleConfig[
'com_anonpost']);
155 $postcomment_link =
'';
156 if (!empty($xoopsModuleConfig[
'com_anonpost']) || is_object($xoopsUser)) {
157 $postcomment_link =
'comment_new.php?com_itemid=' . $com_itemid .
'&com_order=' . $com_order .
'&com_mode=' . $com_mode;
167 if (isset($comment_config[
'extraParams']) && is_array($comment_config[
'extraParams'])) {
168 foreach ($comment_config[
'extraParams'] as $extra_key) {
172 if (isset($GLOBALS[$extra_key])) {
173 $fetchParams[$extra_key] = $GLOBALS[$extra_key];
174 } elseif (isset($_REQUEST[$extra_key])) {
175 $fetchParams[$extra_key] = xoops_getrequest($extra_key);
182 foreach ($fetchParams as $key => $value) {
183 $link_extra .=
'&' . $key .
'=' . $value;
187 $renderTarget->setAttribute(
'extraParams', $fetchParams);
188 $renderTarget->setAttribute(
'link_extra', $link_extra);
189 $renderTarget->setAttribute(
'postcomment_link', $postcomment_link);
191 $renderSystem->render($renderTarget);
197 [
'commentsnav' => $renderTarget->getResult(),
'editcomment_link' =>
'comment_edit.php?com_itemid=' . $com_itemid .
'&com_order=' . $com_order .
'&com_mode=' . $com_mode .
'' . htmlspecialchars($link_extra, ENT_QUOTES),
'deletecomment_link' =>
'comment_delete.php?com_itemid=' . $com_itemid .
'&com_order=' . $com_order .
'&com_mode=' . $com_mode .
'' . $link_extra,
'replycomment_link' =>
'comment_reply.php?com_itemid=' . $com_itemid .
'&com_order=' . $com_order .
'&com_mode=' . $com_mode .
'' . $link_extra]
202 [
'lang_from' => _CM_FROM,
'lang_joined' => _CM_JOINED,
'lang_posts' => _CM_POSTS,
'lang_poster' => _CM_POSTER,
'lang_thread' => _CM_THREAD,
'lang_edit' => _EDIT,
'lang_delete' => _DELETE,
'lang_reply' => _REPLY,
'lang_subject' => _CM_REPLIES,
'lang_posted' => _CM_POSTED,
'lang_updated' => _CM_UPDATED,
'lang_notice' => _CM_NOTICE]