Completed
Push — master ( 249590...ebae0d )
by Michael
05:58
created

viewpost.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
//
3
//  ------------------------------------------------------------------------ //
4
//                XOOPS - PHP Content Management System                      //
5
//                  Copyright (c) 2000-2016 XOOPS.org                        //
6
//                       <https://xoops.org/>                             //
7
//  ------------------------------------------------------------------------ //
8
//  This program is free software; you can redistribute it and/or modify     //
9
//  it under the terms of the GNU General Public License as published by     //
10
//  the Free Software Foundation; either version 2 of the License, or        //
11
//  (at your option) any later version.                                      //
12
//                                                                           //
13
//  You may not change or alter any portion of this comment or credits       //
14
//  of supporting developers from this source code or any supporting         //
15
//  source code which is considered copyrighted (c) material of the          //
16
//  original comment or credit authors.                                      //
17
//                                                                           //
18
//  This program is distributed in the hope that it will be useful,          //
19
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
20
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
21
//  GNU General Public License for more details.                             //
22
//                                                                           //
23
//  You should have received a copy of the GNU General Public License        //
24
//  along with this program; if not, write to the Free Software              //
25
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
26
//  ------------------------------------------------------------------------ //
27
//  Author: phppp (D.J., [email protected])                                  //
28
//  URL: https://xoops.org                                                    //
29
//  Project: Article Project                                                 //
30
//  ------------------------------------------------------------------------ //
31
32
use Xmf\Request;
33
use XoopsModules\Newbb;
34
35
include_once __DIR__ . '/header.php';
36
37
$start    = Request::getInt('start', 0, 'GET');
38
$forum_id = Request::getInt('forum', 0, 'GET');
39
$order    = Request::getString('order', 'DESC', 'GET');
40
41
$uid = Request::getInt('uid', 0, 'GET');
42
43
$status = (Request::getString('status', '', 'GET')
44
           && in_array(Request::getString('status', '', 'GET'), ['active', 'pending', 'deleted', 'new', 'all', 'digest'], true)) ? Request::getString('status', '', 'GET') : '';
45
$mode   = Request::getInt('mode', 0, 'GET');
46
$mode   = (!empty($status) && in_array($status, ['active', 'pending', 'deleted'], true)) ? 2 : $mode;
47
48
///** @var Newbb\ForumHandler $forumHandler */
49
//$forumHandler = Newbb\Helper::getInstance()->getHandler('Forum');
50
///** @var Newbb\PostHandler $postHandler */
51
//$postHandler = Newbb\Helper::getInstance()->getHandler('Post');
52
53
if (empty($forum_id)) {
54
    $forums       = $forumHandler->getByPermission(0, 'view');
55
    $accessForums = array_keys($forums);
56
    $isAdmin      = $GLOBALS['xoopsUserIsAdmin'];
57
} else {
58
    $forumObject       = $forumHandler->get($forum_id);
59
    $forums[$forum_id] = $forumObject;
60
    $accessForums      = [$forum_id];
61
    $isAdmin           = newbbIsAdmin($forumObject);
62
}
63
64
/* Only admin has access to admin mode */
65 View Code Duplication
if (!$isAdmin && 2 === $mode) {
66
    $status = in_array($status, ['active', 'pending', 'deleted'], true) ? '' : $status;
67
    $mode   = 0;
68
}
69
if ($mode) {
70
    $_GET['viewmode'] = 'flat';
71
}
72
//echo $mode.' - '.$status;
73
$post_perpage = $GLOBALS['xoopsModuleConfig']['posts_per_page'];
74
75
$criteria_count = new \CriteriaCompo(new \Criteria('forum_id', '(' . implode(',', $accessForums) . ')', 'IN'));
76
$criteria_post  = new \CriteriaCompo(new \Criteria('p.forum_id', '(' . implode(',', $accessForums) . ')', 'IN'));
77
$criteria_post->setSort('p.post_id');
78
$criteria_post->setOrder($order);
79
80
if (!empty($uid)) {
81
    $criteria_count->add(new \Criteria('uid', $uid));
82
    $criteria_post->add(new \Criteria('p.uid', $uid));
83
}
84
85
$join = null;
86
// START irmtfan solve the status issues and specially status = new issue
87
switch ($status) {
88
    case 'pending':
89
        $criteria_count->add(new \Criteria('approved', 0)); // irmtfan add new criteria
90
        $criteria_post->add(new \Criteria('p.approved', 0)); // irmtfan add new criteria
91
        break;
92
    case 'deleted':
93
        $criteria_count->add(new \Criteria('approved', -1)); // irmtfan add new criteria
94
        $criteria_post->add(new \Criteria('p.approved', -1)); // irmtfan add new criteria
95
        break;
96
    case 'new':
97
        //$criteria_status_count = new \CriteriaCompo(new \Criteria("post_time", (int)($last_visit), ">"));// irmtfan commented and removed
98
        //$criteria_status_post = new \CriteriaCompo(new \Criteria("p.post_time", (int)($last_visit), ">"));// irmtfan commented and removed
99
        $criteria_count->add(new \Criteria('approved', 1)); // irmtfan uncomment
100
        $criteria_post->add(new \Criteria('p.approved', 1)); // irmtfan uncomment
101
        // following is for 'unread' -- not finished -- irmtfan Now it is finished!
102
        if (empty($GLOBALS['xoopsModuleConfig']['read_mode'])) {
103
            //$criteria_status_count->add(new \Criteria('approved', 1));// irmtfan commented and removed
104
            //$criteria_status_post->add(new \Criteria('p.approved', 1));// irmtfan commented and removed
105
        } elseif (2 == $GLOBALS['xoopsModuleConfig']['read_mode']) {
106
            // START irmtfan use read_uid to find the unread posts when the user is logged in
107
            $read_uid = is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->getVar('uid') : 0;
108
            if (!empty($read_uid)) {
109
                $join                 = ' LEFT JOIN ' . $GLOBALS['xoopsDB']->prefix('newbb_reads_topic') . ' AS r ON r.read_item = p.topic_id AND r.uid = ' . $read_uid . ' '; // irmtfan corrected add AS
110
                $criteria_status_post = new \CriteriaCompo();// irmtfan new criteria
111
                $criteria_status_post->add(new \Criteria('p.post_id', 'r.`post_id`', '>')); // irmtfan corrected - should use $value='r.``' to render in XOOPS/class/criteria.php
112
                $criteria_status_post->add(new \Criteria('r.read_id', null, 'IS NULL'), 'OR');// irmtfan corrected - should use "IS NULL" to render in XOOPS/class/criteria.php
113
                $criteria_post->add($criteria_status_post); // irmtfan add the status criteria to post criteria - move here
114
                $criteria_count = $criteria_post;// irmtfan criteria count is equal to criteria post - move here
115
            } else {
116
            }
117
            // END irmtfan use read_uid to find the unread posts when the user is logged in
118
            //$criteria_status_post->add(new \Criteria("p.approved", 1)); // irmtfan commented and removed
119
            //$criteria_status_count =& $criteria_status_post;
120
        } elseif (1 == $GLOBALS['xoopsModuleConfig']['read_mode']) {
121
            $criteria_count->add(new \Criteria('post_time', (int)$last_visit, '>')); // irmtfan add new criteria
122
            $criteria_post->add(new \Criteria('p.post_time', (int)$last_visit, '>')); // irmtfan add new criteria
123
            // START irmtfan fix read_mode = 1 bugs - for all users (member and anon)
124
            $topics         = [];
125
            $topic_lastread = newbbGetCookie('LT', true);
126
            if (count($topic_lastread) > 0) {
127
                foreach ($topic_lastread as $id => $time) {
128
                    if ($time > (int)$last_visit) {
129
                        $topics[] = $id;
130
                    }
131
                }
132
            }
133
            if (count($topics) > 0) {
134
                $criteria_count->add(new \Criteria('topic_id', '(' . implode(',', $topics) . ')', 'NOT IN'));
135
                $criteria_post->add(new \Criteria('p.topic_id', '(' . implode(',', $topics) . ')', 'NOT IN'));
136
            }
137
            // END irmtfan fix read_mode = 1 bugs - for all users (member and anon)
138
            //$criteria_status_count->add(new \Criteria("approved", 1));// irmtfan commented and removed
139
            //$criteria_status_post->add(new \Criteria("p.approved", 1));// irmtfan commented and removed
140
        }
141
        break;
142
    default:
143
        $criteria_count->add(new \Criteria('approved', 1)); // irmtfan add new criteria
144
        $criteria_post->add(new \Criteria('p.approved', 1)); // irmtfan add new criteria
145
        break;
146
}
147
//$criteria_count->add($criteria_status_count); // irmtfan commented and removed
148
//$criteria_post->add($criteria_status_post); // irmtfan commented and removed
149
// END irmtfan solve the status issues and specially status = new issue
150
///** @var Newbb\KarmaHandler $karmaHandler */
151
//$karmaHandler = Newbb\Helper::getInstance()->getHandler('Karma');
152
$user_karma = $karmaHandler->getUserKarma();
153
154
$valid_modes     = ['flat', 'compact'];
155
$viewmode_cookie = newbbGetCookie('V');
156
157
if ('compact' === Request::getString('viewmode', '', 'GET')) {
158
    newbbSetCookie('V', 'compact', $forumCookie['expire']);
159
}
160
161
$viewmode = Request::getString('viewmode', (!empty($viewmode_cookie) ? $viewmode_cookie : (@$valid_modes[$GLOBALS['xoopsModuleConfig']['view_mode'] - 1])), 'GET');
162
$viewmode = in_array($viewmode, $valid_modes) ? $viewmode : $valid_modes[0];
163
164
$postCount = $postHandler->getPostCount($criteria_count, $join);// irmtfan add join for read_mode = 2
165
$posts     = $postHandler->getPostsByLimit($criteria_post, $post_perpage, $start, $join);// irmtfan add join for read_mode = 2
166
167
$poster_array = [];
168
if (count($posts) > 0) {
169
    foreach (array_keys($posts) as $id) {
170
        /** @var Newbb\Post[] $posts */
171
        $poster_array[$posts[$id]->getVar('uid')] = 1;
172
    }
173
}
174
175
$xoops_pagetitle                = $xoopsModule->getVar('name') . ' - ' . _MD_NEWBB_VIEWALLPOSTS;
176
$xoopsOption['xoops_pagetitle'] = $xoops_pagetitle;
177
$xoopsOption['template_main']   = 'newbb_viewpost.tpl';
178
179
include_once $GLOBALS['xoops']->path('header.php');
180
include_once __DIR__ . '/include/functions.time.php';
181
include_once __DIR__ . '/include/functions.render.php';
182
183
//global $xoTheme;
184
//$xoTheme->addScript('/Frameworks/textsanitizer/xoops.js');
185
186
if (!empty($forum_id)) {
187
    if (!$forumHandler->getPermission($forumObject, 'view')) {
188
        redirect_header(XOOPS_URL . '/index.php', 2, _MD_NEWBB_NORIGHTTOACCESS);
189
    }
190
    if ($forumObject->getVar('parent_forum')) {
191
        $parent_forumObject = $forumHandler->get($forumObject->getVar('parent_forum'), ['forum_name']);
192
        $parentforum        = [
193
            'id'   => $forumObject->getVar('parent_forum'),
194
            'name' => $parent_forumObject->getVar('forum_name')
195
        ];
196
        unset($parent_forumObject);
197
        $xoopsTpl->assign_by_ref('parentforum', $parentforum);
198
    }
199
    $xoopsTpl->assign('forum_name', $forumObject->getVar('forum_name'));
200
    $xoopsTpl->assign('forum_moderators', $forumObject->dispForumModerators());
201
202
    $xoops_pagetitle = $forumObject->getVar('forum_name') . ' - ' . _MD_NEWBB_VIEWALLPOSTS . ' [' . $xoopsModule->getVar('name') . ']';
203
    $xoopsTpl->assign('forum_id', $forumObject->getVar('forum_id'));
204
    // irmtfan new method
205 View Code Duplication
    if (!empty($GLOBALS['xoopsModuleConfig']['rss_enable'])) {
206
        $xoopsTpl->assign('xoops_module_header', '
207
            <link rel="alternate" type="application/xml+rss" title="' . $xoopsModule->getVar('name') . '-' . $forumObject->getVar('forum_name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php?f=' . $forum_id . '" />
208
            ' . @$xoopsTpl->get_template_vars('xoops_module_header'));
209
    }
210 View Code Duplication
} elseif (!empty($GLOBALS['xoopsModuleConfig']['rss_enable'])) {
211
    $xoopsTpl->assign('xoops_module_header', '
212
        <link rel="alternate" type="application/xml+rss" title="' . $xoopsModule->getVar('name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php" />
213
    ' . @$xoopsTpl->get_template_vars('xoops_module_header'));
214
}
215
// irmtfan remove and move to footer.php
216
//$xoopsTpl->assign('xoops_module_header', $xoops_module_header);
217
$xoopsTpl->assign('xoops_pagetitle', $xoops_pagetitle);
218
// irmtfan - remove icon_path and use newbbDisplayImage
219
$xoopsTpl->assign('anonym_avatar', newbbDisplayImage('anonym'));
220
$userid_array = [];
221 View Code Duplication
if (count($poster_array) > 0) {
222
    /** @var \XoopsMembershipHandler $memberHandler */
223
    $memberHandler = xoops_getHandler('member');
224
    $userid_array  = array_keys($poster_array);
225
    $user_criteria = '(' . implode(',', $userid_array) . ')';
226
    $users         = $memberHandler->getUsers(new \Criteria('uid', $user_criteria, 'IN'), true);
227
} else {
228
    $user_criteria = '';
229
    $users         = null;
230
}
231
232
$online = [];
233
234
if ($GLOBALS['xoopsModuleConfig']['wol_enabled']) {
235
    if (!empty($user_criteria)) {
236
        //        /** @var Newbb\OnlineHandler $onlineHandler */
237
        //        $onlineHandler = Newbb\Helper::getInstance()->getHandler('Online');
238
        $onlineHandler->init($forum_id);
239
    }
240
}
241
242
$viewtopic_users = [];
243
244 View Code Duplication
if (count($userid_array) > 0) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
245
    require $GLOBALS['xoops']->path('modules/' . $xoopsModule->getVar('dirname', 'n') . '/class/user.php');
246
    $userHandler         = new Newbb\UserHandler($GLOBALS['xoopsModuleConfig']['groupbar_enabled'], $GLOBALS['xoopsModuleConfig']['wol_enabled']);
247
    $userHandler->users  = $users;
248
    $userHandler->online = $online;
249
    $viewtopic_users     = $userHandler->getUsers();
250
}
251
252
$pn = 0;
253
//$topicHandler = Newbb\Helper::getInstance()->getHandler('Topic');
254
static $suspension = [];
255
foreach (array_keys($posts) as $id) {
256
    ++$pn;
257
258
    /** @var Newbb\Post $post */
259
    $post       = $posts[$id];
260
    $post_title = $post->getVar('subject');
261
262
    if ($posticon = $post->getVar('icon')) {
263
        $post_image = '<a name="' . $post->getVar('post_id') . '"><img src="' . XOOPS_URL . '/images/subject/' . htmlspecialchars($posticon) . '" alt="" /></a>';
264
    } else {
265
        $post_image = '<a name="' . $post->getVar('post_id') . '"><img src="' . XOOPS_URL . '/images/icons/no_posticon.gif" alt="" /></a>';
266
    }
267
    $poster = [
268
        'uid'  => 0,
269
        'name' => $post->getVar('poster_name') ?: $myts->htmlSpecialChars($GLOBALS['xoopsConfig']['anonymous']),
270
        'link' => $post->getVar('poster_name') ?: $myts->htmlSpecialChars($GLOBALS['xoopsConfig']['anonymous'])
271
    ];
272
    if ($post->getVar('uid') > 0 && isset($viewtopic_users[$post->getVar('uid')])) {
273
        $poster = $viewtopic_users[$post->getVar('uid')];
274
    }
275
    if ($isAdmin || $post->checkIdentity()) {
276
        $post_text       = $post->getVar('post_text');
277
        $post_attachment = $post->displayAttachment();
278 View Code Duplication
    } elseif ($GLOBALS['xoopsModuleConfig']['enable_karma'] && $post->getVar('post_karma') > $user_karma) {
279
        $post_text       = "<div class='karma'>" . sprintf(_MD_NEWBB_KARMA_REQUIREMENT, $user_karma, $post->getVar('post_karma')) . '</div>';
280
        $post_attachment = '';
281
    } elseif ($GLOBALS['xoopsModuleConfig']['allow_require_reply'] && $post->getVar('require_reply')) {
282
        $post_text       = "<div class='karma'>" . _MD_NEWBB_REPLY_REQUIREMENT . '</div>';
283
        $post_attachment = '';
284
    } else {
285
        $post_text       = $post->getVar('post_text');
286
        $post_attachment = $post->displayAttachment();
287
    }
288
289
    $thread_buttons = [];
290
291
    if ($GLOBALS['xoopsModuleConfig']['enable_permcheck']) {
292
        if (!isset($suspension[$post->getVar('forum_id')])) {
293
            //            /** @var Newbb\ModerateHandler $moderateHandler */
294
            //            $moderateHandler                       = Newbb\Helper::getInstance()->getHandler('Moderate');
295
            $suspension[$post->getVar('forum_id')] = !$moderateHandler->verifyUser(-1, '', $post->getVar('forum_id'));
296
        }
297
298 View Code Duplication
        if ($isAdmin
299
            || (!$suspension[$post->getVar('forum_id')] && $post->checkIdentity()
300
                && $post->checkTimelimit('delete_timelimit'))) {
301
            $thread_buttons['delete']['image'] = newbbDisplayImage('p_delete', _DELETE);
302
            $thread_buttons['delete']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/delete.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
303
            $thread_buttons['delete']['name']  = _DELETE;
304
        }
305 View Code Duplication
        if ($isAdmin
306
            || !$suspension[$post->getVar('forum_id')] && $post->checkIdentity()
307
               && $post->checkTimelimit('edit_timelimit')) {
308
            $thread_buttons['edit']['image'] = newbbDisplayImage('p_edit', _EDIT);
309
            $thread_buttons['edit']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/edit.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
310
            $thread_buttons['edit']['name']  = _EDIT;
311
        }
312
        if (is_object($GLOBALS['xoopsUser']) && !$suspension[$post->getVar('forum_id')]) {
313
            $thread_buttons['reply']['image'] = newbbDisplayImage('p_reply', _MD_NEWBB_REPLY);
314
            $thread_buttons['reply']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/reply.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
315
            $thread_buttons['reply']['name']  = _MD_NEWBB_REPLY;
316
317
            $thread_buttons['quote']['image'] = newbbDisplayImage('p_quote', _MD_NEWBB_QUOTE);
318
            $thread_buttons['quote']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/reply.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id') . '&amp;quotedac=1';
319
            $thread_buttons['quote']['name']  = _MD_NEWBB_QUOTE;
320
        }
321
    } else {
322
        $thread_buttons['delete']['image'] = newbbDisplayImage('p_delete', _DELETE);
323
        $thread_buttons['delete']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/delete.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
324
        $thread_buttons['delete']['name']  = _DELETE;
325
        $thread_buttons['edit']['image']   = newbbDisplayImage('p_edit', _EDIT);
326
        $thread_buttons['edit']['link']    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/edit.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
327
        $thread_buttons['edit']['name']    = _EDIT;
328
        $thread_buttons['reply']['image']  = newbbDisplayImage('p_reply', _MD_NEWBB_REPLY);
329
        $thread_buttons['reply']['link']   = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/reply.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
330
        $thread_buttons['reply']['name']   = _MD_NEWBB_REPLY;
331
    }
332
333
    if (!$isAdmin && $GLOBALS['xoopsModuleConfig']['reportmod_enabled']) {
334
        $thread_buttons['report']['image'] = newbbDisplayImage('p_report', _MD_NEWBB_REPORT);
335
        $thread_buttons['report']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/report.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
336
        $thread_buttons['report']['name']  = _MD_NEWBB_REPORT;
337
    }
338
    $thread_action = [];
339
340
    $xoopsTpl->append('posts', [
341
        'post_id'         => $post->getVar('post_id'),
342
        'topic_id'        => $post->getVar('topic_id'),
343
        'forum_id'        => $post->getVar('forum_id'),
344
        'post_date'       => newbbFormatTimestamp($post->getVar('post_time')),
345
        'post_image'      => $post_image,
346
        'post_title'      => $post_title,
347
        'post_text'       => $post_text,
348
        'post_attachment' => $post_attachment,
349
        'post_edit'       => $post->displayPostEdit(),
350
        'post_no'         => $start + $pn,
351
        'post_signature'  => $post->getVar('attachsig') ? @$poster['signature'] : '',
352
        //                                 'poster_ip'       => ($isAdmin && $GLOBALS['xoopsModuleConfig']['show_ip']) ? long2ip($post->getVar('poster_ip')) : '',
353
        'poster_ip'       => ($isAdmin && $GLOBALS['xoopsModuleConfig']['show_ip']) ? $post->getVar('poster_ip') : '',
354
        'thread_action'   => $thread_action,
355
        'thread_buttons'  => $thread_buttons,
356
        'poster'          => $poster
357
    ]);
358
359
    unset($thread_buttons, $poster);
360
}
361
unset($viewtopic_users, $forums);
362
363 View Code Duplication
if (!empty($GLOBALS['xoopsModuleConfig']['show_jump'])) {
364
    include_once __DIR__ . '/include/functions.forum.php';
365
    $xoopsTpl->assign('forum_jumpbox', newbbMakeJumpbox($forum_id));
366
}
367
368
if ($postCount > $post_perpage) {
369
    include $GLOBALS['xoops']->path('class/pagenav.php');
370
    $nav = new \XoopsPageNav($postCount, $post_perpage, $start, 'start', 'forum=' . $forum_id . '&amp;viewmode=' . $viewmode . '&amp;status=' . $status . '&amp;uid=' . $uid . '&amp;order=' . $order . '&amp;mode=' . $mode);
371
    //if (isset($GLOBALS['xoopsModuleConfig']['do_rewrite'])) $nav->url = formatURL(Request::getString('SERVER_NAME', '', 'SERVER')) . $nav->url;
372 View Code Duplication
    if ('select' === $GLOBALS['xoopsModuleConfig']['pagenav_display']) {
373
        $navi = $nav->renderSelect();
374
    } elseif ('image' === $GLOBALS['xoopsModuleConfig']['pagenav_display']) {
375
        $navi = $nav->renderImageNav(4);
376
    } else {
377
        $navi = $nav->renderNav(4);
378
    }
379
380
    $xoopsTpl->assign('pagenav', $navi);
381
} else {
382
    $xoopsTpl->assign('pagenav', '');
383
}
384
385
$xoopsTpl->assign('lang_forum_index', sprintf(_MD_NEWBB_FORUMINDEX, htmlspecialchars($GLOBALS['xoopsConfig']['sitename'], ENT_QUOTES)));
386
387
switch ($status) {
388
    case 'active':
389
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_ADMIN . ']';
390
        break;
391
    case 'pending':
392
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_PENDING . ']';
393
        break;
394
    case 'deleted':
395
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_DELETED . ']';
396
        break;
397
    case 'new':
398
        $lang_title = _MD_NEWBB_NEWPOSTS;
399
        break;
400
    default:
401
        $lang_title = _MD_NEWBB_VIEWALLPOSTS;
402
        break;
403
}
404
if ($uid > 0) {
405
    $lang_title .= ' (' . XoopsUser::getUnameFromId($uid) . ')';
406
}
407
$xoopsTpl->assign('lang_title', $lang_title);
408
// irmtfan up to p_up
409
$xoopsTpl->assign('p_up', newbbDisplayImage('up', _MD_NEWBB_TOP));
410
$xoopsTpl->assign('groupbar_enable', $GLOBALS['xoopsModuleConfig']['groupbar_enabled']);
411
$xoopsTpl->assign('anonymous_prefix', $GLOBALS['xoopsModuleConfig']['anonymous_prefix']);
412
$xoopsTpl->assign('down', newbbDisplayImage('down', _MD_NEWBB_BOTTOM));
413
414
$all_link       = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start";
415
$post_link      = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id;
416
$newpost_link   = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . '&amp;status=new';
417
$digest_link    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=digest";
418
$unreplied_link = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=unreplied";
419
$unread_link    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=unread";
420
421
$xoopsTpl->assign('all_link', $all_link);
422
$xoopsTpl->assign('post_link', $post_link);
423
$xoopsTpl->assign('newpost_link', $newpost_link);
424
$xoopsTpl->assign('digest_link', $digest_link);
425
$xoopsTpl->assign('unreplied_link', $unreplied_link);
426
$xoopsTpl->assign('unread_link', $unread_link);
427
428
$viewmode_options = [];
429 View Code Duplication
if ('DESC' === $order) {
430
    $viewmode_options[] = [
431
        'link'  => XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?viewmode=flat&amp;order=ASC&amp;forum=' . $forum_id,
432
        'title' => _OLDESTFIRST
433
    ];
434
} else {
435
    $viewmode_options[] = [
436
        'link'  => XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?viewmode=flat&amp;order=DESC&amp;forum=' . $forum_id,
437
        'title' => _NEWESTFIRST
438
    ];
439
}
440
441
//$xoopsTpl->assign('viewmode_compact', ($viewmode=="compact")?1:0);
442
$xoopsTpl->assign_by_ref('viewmode_options', $viewmode_options);
443
$xoopsTpl->assign('menumode', $menumode);
444
$xoopsTpl->assign('menumode_other', $menumode_other);
445
446
$xoopsTpl->assign('viewer_level', $isAdmin ? 2 : is_object($GLOBALS['xoopsUser']));
447
$xoopsTpl->assign('uid', $uid);
448
$xoopsTpl->assign('mode', $mode);
449
$xoopsTpl->assign('status', $status);
450
// irmtfan move to footer.php
451
include_once __DIR__ . '/footer.php';
452
include $GLOBALS['xoops']->path('footer.php');
453