Completed
Branch master (4e8684)
by Michael
05:31 queued 02:57
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
//                       <http://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: http://xoops.org                                                    //
29
//  Project: Article Project                                                 //
30
//  ------------------------------------------------------------------------ //
31
32
use Xmf\Request;
33
34
include_once __DIR__ . '/header.php';
35
36
$start    = Request::getInt('start', 0, 'GET');
37
$forum_id = Request::getInt('forum', 0, 'GET');
38
$order    = Request::getString('order', 'DESC', 'GET');
39
40
$uid = Request::getInt('uid', 0, 'GET');
41
42
$status = (Request::getString('status', '', 'GET')
43
           && in_array(Request::getString('status', '', 'GET'), ['active', 'pending', 'deleted', 'new', 'all', 'digest'], true)) ? Request::getString('status', '', 'GET') : '';
44
$mode   = Request::getInt('mode', 0, 'GET');
45
$mode   = (!empty($status) && in_array($status, ['active', 'pending', 'deleted'], true)) ? 2 : $mode;
46
47
/** @var \NewbbForumHandler $forumHandler */
48
$forumHandler = xoops_getModuleHandler('forum', 'newbb');
49
/** @var \NewbbPostHandler $postHandler */
50
$postHandler = xoops_getModuleHandler('post', 'newbb');
51
52
if (empty($forum_id)) {
53
    $forums       = $forumHandler->getByPermission(0, 'view');
54
    $accessForums = array_keys($forums);
55
    $isadmin      = $GLOBALS['xoopsUserIsAdmin'];
56
} else {
57
    $forum_obj         = $forumHandler->get($forum_id);
58
    $forums[$forum_id] = $forum_obj;
59
    $accessForums      = [$forum_id];
60
    $isadmin           = newbb_isAdmin($forum_obj);
61
}
62
63
/* Only admin has access to admin mode */
64 View Code Duplication
if (!$isadmin && $mode === 2) {
65
    $status = in_array($status, ['active', 'pending', 'deleted'], true) ? '' : $status;
66
    $mode   = 0;
67
}
68
if ($mode) {
69
    $_GET['viewmode'] = 'flat';
70
}
71
//echo $mode.' - '.$status;
72
$post_perpage = $GLOBALS['xoopsModuleConfig']['posts_per_page'];
73
74
$criteria_count = new CriteriaCompo(new Criteria('forum_id', '(' . implode(',', $accessForums) . ')', 'IN'));
75
$criteria_post  = new CriteriaCompo(new Criteria('p.forum_id', '(' . implode(',', $accessForums) . ')', 'IN'));
76
$criteria_post->setSort('p.post_id');
77
$criteria_post->setOrder($order);
78
79
if (!empty($uid)) {
80
    $criteria_count->add(new Criteria('uid', $uid));
81
    $criteria_post->add(new Criteria('p.uid', $uid));
82
}
83
84
$join = null;
85
// START irmtfan solve the status issues and specially status = new issue
86
switch ($status) {
87
    case 'pending':
88
        $criteria_count->add(new Criteria('approved', 0)); // irmtfan add new criteria
89
        $criteria_post->add(new Criteria('p.approved', 0)); // irmtfan add new criteria
90
        break;
91
    case 'deleted':
92
        $criteria_count->add(new Criteria('approved', -1)); // irmtfan add new criteria
93
        $criteria_post->add(new Criteria('p.approved', -1)); // irmtfan add new criteria
94
        break;
95
    case 'new':
96
        //$criteria_status_count = new CriteriaCompo(new Criteria("post_time", (int)($last_visit), ">"));// irmtfan commented and removed
97
        //$criteria_status_post = new CriteriaCompo(new Criteria("p.post_time", (int)($last_visit), ">"));// irmtfan commented and removed
98
        $criteria_count->add(new Criteria('approved', 1)); // irmtfan uncomment
99
        $criteria_post->add(new Criteria('p.approved', 1)); // irmtfan uncomment
100
        // following is for 'unread' -- not finished -- irmtfan Now it is finished!
101
        if (empty($GLOBALS['xoopsModuleConfig']['read_mode'])) {
102
            //$criteria_status_count->add(new Criteria('approved', 1));// irmtfan commented and removed
103
            //$criteria_status_post->add(new Criteria('p.approved', 1));// irmtfan commented and removed
104
        } elseif ($GLOBALS['xoopsModuleConfig']['read_mode'] == 2) {
105
            // START irmtfan use read_uid to find the unread posts when the user is logged in
106
            $read_uid = is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->getVar('uid') : 0;
107
            if (!empty($read_uid)) {
108
                $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
109
                $criteria_status_post = new CriteriaCompo();// irmtfan new criteria
110
                $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
111
                $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
112
                $criteria_post->add($criteria_status_post); // irmtfan add the status criteria to post criteria - move here
113
                $criteria_count = $criteria_post;// irmtfan criteria count is equal to criteria post - move here
114
            } else {
115
            }
116
            // END irmtfan use read_uid to find the unread posts when the user is logged in
117
            //$criteria_status_post->add(new Criteria("p.approved", 1)); // irmtfan commented and removed
118
            //$criteria_status_count =& $criteria_status_post;
119
        } elseif ($GLOBALS['xoopsModuleConfig']['read_mode'] == 1) {
120
            $criteria_count->add(new Criteria('post_time', (int)$last_visit, '>')); // irmtfan add new criteria
121
            $criteria_post->add(new Criteria('p.post_time', (int)$last_visit, '>')); // irmtfan add new criteria
122
            // START irmtfan fix read_mode = 1 bugs - for all users (member and anon)
123
            $topics         = [];
124
            $topic_lastread = newbb_getcookie('LT', true);
125
            if (count($topic_lastread) > 0) {
126
                foreach ($topic_lastread as $id => $time) {
127
                    if ($time > (int)$last_visit) {
128
                        $topics[] = $id;
129
                    }
130
                }
131
            }
132
            if (count($topics) > 0) {
133
                $criteria_count->add(new Criteria('topic_id', '(' . implode(',', $topics) . ')', 'NOT IN'));
134
                $criteria_post->add(new Criteria('p.topic_id', '(' . implode(',', $topics) . ')', 'NOT IN'));
135
            }
136
            // END irmtfan fix read_mode = 1 bugs - for all users (member and anon)
137
            //$criteria_status_count->add(new Criteria("approved", 1));// irmtfan commented and removed
138
            //$criteria_status_post->add(new Criteria("p.approved", 1));// irmtfan commented and removed
139
        }
140
        break;
141
    default:
142
        $criteria_count->add(new Criteria('approved', 1)); // irmtfan add new criteria
143
        $criteria_post->add(new Criteria('p.approved', 1)); // irmtfan add new criteria
144
        break;
145
}
146
//$criteria_count->add($criteria_status_count); // irmtfan commented and removed
147
//$criteria_post->add($criteria_status_post); // irmtfan commented and removed
148
// END irmtfan solve the status issues and specially status = new issue
149
/** @var \NewbbKarmaHandler $karmaHandler */
150
$karmaHandler = xoops_getModuleHandler('karma', 'newbb');
151
$user_karma   = $karmaHandler->getUserKarma();
152
153
$valid_modes     = ['flat', 'compact'];
154
$viewmode_cookie = newbb_getcookie('V');
155
156
if ('compact' === Request::getString('viewmode', '', 'GET')) {
157
    newbb_setcookie('V', 'compact', $forumCookie['expire']);
158
}
159
160
$viewmode = Request::getString('viewmode', (!empty($viewmode_cookie) ? $viewmode_cookie : (@$valid_modes[$GLOBALS['xoopsModuleConfig']['view_mode'] - 1])), 'GET');
161
$viewmode = in_array($viewmode, $valid_modes) ? $viewmode : $valid_modes[0];
162
163
$postCount = $postHandler->getPostCount($criteria_count, $join);// irmtfan add join for read_mode = 2
164
$posts     = $postHandler->getPostsByLimit($criteria_post, $post_perpage, $start, $join);// irmtfan add join for read_mode = 2
165
166
$poster_array = [];
167
if (count($posts) > 0) {
168
    foreach (array_keys($posts) as $id) {
169
        /** @var \NewbbPost[] $posts */
170
        $poster_array[$posts[$id]->getVar('uid')] = 1;
171
    }
172
}
173
174
$xoops_pagetitle                = $xoopsModule->getVar('name') . ' - ' . _MD_NEWBB_VIEWALLPOSTS;
175
$xoopsOption['xoops_pagetitle'] = $xoops_pagetitle;
176
$xoopsOption['template_main']   = 'newbb_viewpost.tpl';
177
178
include_once $GLOBALS['xoops']->path('header.php');
179
include_once __DIR__ . '/include/functions.time.php';
180
include_once __DIR__ . '/include/functions.render.php';
181
182
//global $xoTheme;
183
//$xoTheme->addScript('/Frameworks/textsanitizer/xoops.js');
184
185
if (!empty($forum_id)) {
186
    if (!$forumHandler->getPermission($forum_obj, 'view')) {
187
        redirect_header(XOOPS_URL . '/index.php', 2, _MD_NEWBB_NORIGHTTOACCESS);
188
    }
189
    if ($forum_obj->getVar('parent_forum')) {
190
        $parent_forum_obj = $forumHandler->get($forum_obj->getVar('parent_forum'), ['forum_name']);
191
        $parentforum      = [
192
            'id'   => $forum_obj->getVar('parent_forum'),
193
            'name' => $parent_forum_obj->getVar('forum_name')
194
        ];
195
        unset($parent_forum_obj);
196
        $xoopsTpl->assign_by_ref('parentforum', $parentforum);
197
    }
198
    $xoopsTpl->assign('forum_name', $forum_obj->getVar('forum_name'));
199
    $xoopsTpl->assign('forum_moderators', $forum_obj->dispForumModerators());
200
201
    $xoops_pagetitle = $forum_obj->getVar('forum_name') . ' - ' . _MD_NEWBB_VIEWALLPOSTS . ' [' . $xoopsModule->getVar('name') . ']';
202
    $xoopsTpl->assign('forum_id', $forum_obj->getVar('forum_id'));
203
    // irmtfan new method
204 View Code Duplication
    if (!empty($GLOBALS['xoopsModuleConfig']['rss_enable'])) {
205
        $xoopsTpl->assign('xoops_module_header', '
206
            <link rel="alternate" type="application/xml+rss" title="' . $xoopsModule->getVar('name') . '-' . $forum_obj->getVar('forum_name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php?f=' . $forum_id . '" />
207
            ' . @$xoopsTpl->get_template_vars('xoops_module_header'));
208
    }
209 View Code Duplication
} elseif (!empty($GLOBALS['xoopsModuleConfig']['rss_enable'])) {
210
    $xoopsTpl->assign('xoops_module_header', '
211
        <link rel="alternate" type="application/xml+rss" title="' . $xoopsModule->getVar('name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php" />
212
    ' . @$xoopsTpl->get_template_vars('xoops_module_header'));
213
}
214
// irmtfan remove and move to footer.php
215
//$xoopsTpl->assign('xoops_module_header', $xoops_module_header);
216
$xoopsTpl->assign('xoops_pagetitle', $xoops_pagetitle);
217
// irmtfan - remove icon_path and use newbbDisplayImage
218
$xoopsTpl->assign('anonym_avatar', newbbDisplayImage('anonym'));
219
$userid_array = [];
220 View Code Duplication
if (count($poster_array) > 0) {
221
    /** @var \XoopsMembershipHandler $memberHandler */
222
    $memberHandler = xoops_getHandler('member');
223
    $userid_array  = array_keys($poster_array);
224
    $user_criteria = '(' . implode(',', $userid_array) . ')';
225
    $users         = $memberHandler->getUsers(new Criteria('uid', $user_criteria, 'IN'), true);
226
} else {
227
    $user_criteria = '';
228
    $users         = null;
229
}
230
231
$online = [];
232
233 View Code Duplication
if ($GLOBALS['xoopsModuleConfig']['wol_enabled']) {
234
    if (!empty($user_criteria)) {
235
        /** @var \NewbbOnlineHandler $onlineHandler */
236
        $onlineHandler = xoops_getModuleHandler('online', 'newbb');
237
        $onlineHandler->init($forum_id);
238
    }
239
}
240
241
$viewtopic_users = [];
242
243 View Code Duplication
if (count($userid_array) > 0) {
244
    require $GLOBALS['xoops']->path('modules/' . $xoopsModule->getVar('dirname', 'n') . '/class/user.php');
245
    $userHandler         = new NewbbUserHandler($GLOBALS['xoopsModuleConfig']['groupbar_enabled'], $GLOBALS['xoopsModuleConfig']['wol_enabled']);
246
    $userHandler->users  = $users;
247
    $userHandler->online = $online;
248
    $viewtopic_users     = $userHandler->getUsers();
249
}
250
251
$pn           = 0;
252
$topicHandler = xoops_getModuleHandler('topic', 'newbb');
253
static $suspension = [];
254
foreach (array_keys($posts) as $id) {
255
    ++$pn;
256
257
    /** @var \NewbbPost $post */
258
    $post       = $posts[$id];
259
    $post_title = $post->getVar('subject');
260
261
    if ($posticon = $post->getVar('icon')) {
262
        $post_image = '<a name="' . $post->getVar('post_id') . '"><img src="' . XOOPS_URL . '/images/subject/' . htmlspecialchars($posticon) . '" alt="" /></a>';
263
    } else {
264
        $post_image = '<a name="' . $post->getVar('post_id') . '"><img src="' . XOOPS_URL . '/images/icons/no_posticon.gif" alt="" /></a>';
265
    }
266
    $poster = [
267
        'uid'  => 0,
268
        'name' => $post->getVar('poster_name') ?: $myts->htmlSpecialChars($GLOBALS['xoopsConfig']['anonymous']),
269
        'link' => $post->getVar('poster_name') ?: $myts->htmlSpecialChars($GLOBALS['xoopsConfig']['anonymous'])
270
    ];
271
    if ($post->getVar('uid') > 0 && isset($viewtopic_users[$post->getVar('uid')])) {
272
        $poster = $viewtopic_users[$post->getVar('uid')];
273
    }
274
    if ($isadmin || $post->checkIdentity()) {
275
        $post_text       = $post->getVar('post_text');
276
        $post_attachment = $post->displayAttachment();
277 View Code Duplication
    } elseif ($GLOBALS['xoopsModuleConfig']['enable_karma'] && $post->getVar('post_karma') > $user_karma) {
278
        $post_text       = "<div class='karma'>" . sprintf(_MD_NEWBB_KARMA_REQUIREMENT, $user_karma, $post->getVar('post_karma')) . '</div>';
279
        $post_attachment = '';
280
    } elseif ($GLOBALS['xoopsModuleConfig']['allow_require_reply'] && $post->getVar('require_reply')) {
281
        $post_text       = "<div class='karma'>" . _MD_NEWBB_REPLY_REQUIREMENT . '</div>';
282
        $post_attachment = '';
283
    } else {
284
        $post_text       = $post->getVar('post_text');
285
        $post_attachment = $post->displayAttachment();
286
    }
287
288
    $thread_buttons = [];
289
290
    if ($GLOBALS['xoopsModuleConfig']['enable_permcheck']) {
291
        if (!isset($suspension[$post->getVar('forum_id')])) {
292
            /** @var \NewbbModerateHandler $moderateHandler */
293
            $moderateHandler                       = xoops_getModuleHandler('moderate', 'newbb');
294
            $suspension[$post->getVar('forum_id')] = !$moderateHandler->verifyUser(-1, '', $post->getVar('forum_id'));
295
        }
296
297 View Code Duplication
        if ($isadmin
298
            || (!$suspension[$post->getVar('forum_id')] && $post->checkIdentity()
299
                && $post->checkTimelimit('delete_timelimit'))
300
        ) {
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
        ) {
309
            $thread_buttons['edit']['image'] = newbbDisplayImage('p_edit', _EDIT);
310
            $thread_buttons['edit']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/edit.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
311
            $thread_buttons['edit']['name']  = _EDIT;
312
        }
313
        if (is_object($GLOBALS['xoopsUser']) && !$suspension[$post->getVar('forum_id')]) {
314
            $thread_buttons['reply']['image'] = newbbDisplayImage('p_reply', _MD_NEWBB_REPLY);
315
            $thread_buttons['reply']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/reply.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
316
            $thread_buttons['reply']['name']  = _MD_NEWBB_REPLY;
317
318
            $thread_buttons['quote']['image'] = newbbDisplayImage('p_quote', _MD_NEWBB_QUOTE);
319
            $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';
320
            $thread_buttons['quote']['name']  = _MD_NEWBB_QUOTE;
321
        }
322
    } else {
323
        $thread_buttons['delete']['image'] = newbbDisplayImage('p_delete', _DELETE);
324
        $thread_buttons['delete']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/delete.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
325
        $thread_buttons['delete']['name']  = _DELETE;
326
        $thread_buttons['edit']['image']   = newbbDisplayImage('p_edit', _EDIT);
327
        $thread_buttons['edit']['link']    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/edit.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
328
        $thread_buttons['edit']['name']    = _EDIT;
329
        $thread_buttons['reply']['image']  = newbbDisplayImage('p_reply', _MD_NEWBB_REPLY);
330
        $thread_buttons['reply']['link']   = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/reply.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
331
        $thread_buttons['reply']['name']   = _MD_NEWBB_REPLY;
332
    }
333
334
    if (!$isadmin && $GLOBALS['xoopsModuleConfig']['reportmod_enabled']) {
335
        $thread_buttons['report']['image'] = newbbDisplayImage('p_report', _MD_NEWBB_REPORT);
336
        $thread_buttons['report']['link']  = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/report.php?forum=' . $post->getVar('forum_id') . '&amp;topic_id=' . $post->getVar('topic_id');
337
        $thread_buttons['report']['name']  = _MD_NEWBB_REPORT;
338
    }
339
    $thread_action = [];
340
341
    $xoopsTpl->append('posts', [
342
        'post_id'         => $post->getVar('post_id'),
343
        'topic_id'        => $post->getVar('topic_id'),
344
        'forum_id'        => $post->getVar('forum_id'),
345
        'post_date'       => newbb_formatTimestamp($post->getVar('post_time')),
346
        'post_image'      => $post_image,
347
        'post_title'      => $post_title,
348
        'post_text'       => $post_text,
349
        'post_attachment' => $post_attachment,
350
        'post_edit'       => $post->displayPostEdit(),
351
        'post_no'         => $start + $pn,
352
        'post_signature'  => $post->getVar('attachsig') ? @$poster['signature'] : '',
353
        //                                 'poster_ip'       => ($isadmin && $GLOBALS['xoopsModuleConfig']['show_ip']) ? long2ip($post->getVar('poster_ip')) : '',
354
        'poster_ip'       => ($isadmin && $GLOBALS['xoopsModuleConfig']['show_ip']) ? $post->getVar('poster_ip') : '',
355
        'thread_action'   => $thread_action,
356
        'thread_buttons'  => $thread_buttons,
357
        'poster'          => $poster
358
    ]);
359
360
    unset($thread_buttons, $poster);
361
}
362
unset($viewtopic_users, $forums);
363
364 View Code Duplication
if (!empty($GLOBALS['xoopsModuleConfig']['show_jump'])) {
365
    include_once __DIR__ . '/include/functions.forum.php';
366
    $xoopsTpl->assign('forum_jumpbox', newbb_make_jumpbox($forum_id));
367
}
368
369
if ($postCount > $post_perpage) {
370
    include $GLOBALS['xoops']->path('class/pagenav.php');
371
    $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);
372
    //if (isset($GLOBALS['xoopsModuleConfig']['do_rewrite'])) $nav->url = formatURL($_SERVER['SERVER_NAME']) . $nav->url;
0 ignored issues
show
Unused Code Comprehensibility introduced by
69% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
373 View Code Duplication
    if ($GLOBALS['xoopsModuleConfig']['pagenav_display'] === 'select') {
374
        $navi = $nav->renderSelect();
375
    } elseif ($GLOBALS['xoopsModuleConfig']['pagenav_display'] === 'image') {
376
        $navi = $nav->renderImageNav(4);
377
    } else {
378
        $navi = $nav->renderNav(4);
379
    }
380
381
    $xoopsTpl->assign('pagenav', $navi);
382
} else {
383
    $xoopsTpl->assign('pagenav', '');
384
}
385
386
$xoopsTpl->assign('lang_forum_index', sprintf(_MD_NEWBB_FORUMINDEX, htmlspecialchars($GLOBALS['xoopsConfig']['sitename'], ENT_QUOTES)));
387
388
switch ($status) {
389
    case 'active':
390
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_ADMIN . ']';
391
        break;
392
    case 'pending':
393
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_PENDING . ']';
394
        break;
395
    case 'deleted':
396
        $lang_title = _MD_NEWBB_VIEWALLPOSTS . ' [' . _MD_NEWBB_TYPE_DELETED . ']';
397
        break;
398
    case 'new':
399
        $lang_title = _MD_NEWBB_NEWPOSTS;
400
        break;
401
    default:
402
        $lang_title = _MD_NEWBB_VIEWALLPOSTS;
403
        break;
404
}
405
if ($uid > 0) {
406
    $lang_title .= ' (' . XoopsUser::getUnameFromId($uid) . ')';
407
}
408
$xoopsTpl->assign('lang_title', $lang_title);
409
// irmtfan up to p_up
410
$xoopsTpl->assign('p_up', newbbDisplayImage('up', _MD_NEWBB_TOP));
411
$xoopsTpl->assign('groupbar_enable', $GLOBALS['xoopsModuleConfig']['groupbar_enabled']);
412
$xoopsTpl->assign('anonymous_prefix', $GLOBALS['xoopsModuleConfig']['anonymous_prefix']);
413
$xoopsTpl->assign('down', newbbDisplayImage('down', _MD_NEWBB_BOTTOM));
414
415
$all_link       = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start";
416
$post_link      = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id;
417
$newpost_link   = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . '&amp;status=new';
418
$digest_link    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=digest";
419
$unreplied_link = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=unreplied";
420
$unread_link    = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?forum=' . $forum_id . "&amp;start=$start&amp;status=unread";
421
422
$xoopsTpl->assign('all_link', $all_link);
423
$xoopsTpl->assign('post_link', $post_link);
424
$xoopsTpl->assign('newpost_link', $newpost_link);
425
$xoopsTpl->assign('digest_link', $digest_link);
426
$xoopsTpl->assign('unreplied_link', $unreplied_link);
427
$xoopsTpl->assign('unread_link', $unread_link);
428
429
$viewmode_options = [];
430 View Code Duplication
if ($order === 'DESC') {
431
    $viewmode_options[] = [
432
        'link'  => XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?viewmode=flat&amp;order=ASC&amp;forum=' . $forum_id,
433
        'title' => _OLDESTFIRST
434
    ];
435
} else {
436
    $viewmode_options[] = [
437
        'link'  => XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewpost.php?viewmode=flat&amp;order=DESC&amp;forum=' . $forum_id,
438
        'title' => _NEWESTFIRST
439
    ];
440
}
441
442
//$xoopsTpl->assign('viewmode_compact', ($viewmode=="compact")?1:0);
443
$xoopsTpl->assign_by_ref('viewmode_options', $viewmode_options);
444
$xoopsTpl->assign('menumode', $menumode);
445
$xoopsTpl->assign('menumode_other', $menumode_other);
446
447
$xoopsTpl->assign('viewer_level', $isadmin ? 2 : is_object($GLOBALS['xoopsUser']));
448
$xoopsTpl->assign('uid', $uid);
449
$xoopsTpl->assign('mode', $mode);
450
$xoopsTpl->assign('status', $status);
451
// irmtfan move to footer.php
452
include_once __DIR__ . '/footer.php';
453
include $GLOBALS['xoops']->path('footer.php');
454