Passed
Push — master ( 81ba93...c6c854 )
by Michael
03:30
created

admin/main.php (1 issue)

Labels
Severity
1
<?php
2
3
/**
4
 * Module: SmartFAQ
5
 * Author: The SmartFactory <www.smartfactory.ca>
6
 * Licence: GNU
7
 */
8
9
use XoopsModules\Smartfaq;
10
use XoopsModules\Smartfaq\Constants;
11
12
require_once __DIR__ . '/admin_header.php';
13
$myts = \MyTextSanitizer::getInstance();
14
15
/** @var Smartfaq\Helper $helper */
16
$helper = Smartfaq\Helper::getInstance();
17
$smartModuleConfig = $helper->getConfig();
18
$xoopsModule = $helper->getModule();
19
$pathIcon16 = \Xmf\Module\Admin::iconUrl('', 16);
20
21
22
$faqid = \Xmf\Request::getInt('faqid', 0, 'POST');
23
24
//$pick = isset($_GET['pick'])? (int)($_GET['pick']) : 0;
25
//$pick = isset($_POST['pick'])? (int)($_POST['pick']) : $_GET['pick'];
26
27
$statussel = \Xmf\Request::getInt('statussel', Constants::SF_STATUS_ALL, 'GET');
28
$statussel = \Xmf\Request::getInt('statussel', $statussel, 'POST');
29
30
$sortsel = isset($_GET['sortsel']) ? $_GET['sortsel'] : 'faqid';
31
$sortsel = isset($_POST['sortsel']) ? $_POST['sortsel'] : $sortsel;
32
33
$ordersel = isset($_GET['ordersel']) ? $_GET['ordersel'] : 'DESC';
34
$ordersel = isset($_POST['ordersel']) ? $_POST['ordersel'] : $ordersel;
35
36
$module_id        = $xoopsModule->getVar('mid');
37
$grouppermHandler = xoops_getHandler('groupperm');
38
$groups           = $xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
39
40
function buildTable()
41
{
42
    /** @var Smartfaq\Helper $helper */
43
    $helper = Smartfaq\Helper::getInstance();
44
45
    echo "<table width='100%' cellspacing='1' cellpadding='3' border='0' class='outer'>";
46
    echo '<tr>';
47
    echo "<th width='40' class='bg3' align='center'><b>" . _AM_SF_FAQID . '</b></td>';
48
    echo "<th width='20%' class='bg3' align='center'><b>" . _AM_SF_FAQCAT . '</b></td>';
49
    echo "<th class='bg3' align='center'><b>" . _AM_SF_QUESTION . '</b></td>';
50
51
    echo "<th width='90' class='bg3' align='center'><b>" . _AM_SF_ASKED . '</b></td>';
52
    echo "<th width='90' class='bg3' align='center'><b>" . _AM_SF_ANSWERED . '</b></td>';
53
54
    echo "<th width='90' class='bg3' align='center'><b>" . _AM_SF_CREATED . '</b></td>';
55
    echo "<th width='90' class='bg3' align='center'><b>" . _AM_SF_STATUS . '</b></td>';
56
    //echo "<td width='30' class='bg3' align='center'><b>" . _AM_SF_ANSWERS . "</b></td>";
57
    echo "<th width='90' class='bg3' align='center'><b>" . _AM_SF_ACTION . '</b></td>';
58
    echo '</tr>';
59
}
60
61
// Code for the page
62
require_once XOOPS_ROOT_PATH . '/class/xoopslists.php';
63
require_once XOOPS_ROOT_PATH . '/class/pagenav.php';
64
65
// Creating the category handler object
66
/** @var \XoopsModules\Smartfaq\CategoryHandler $categoryHandler */
67
$categoryHandler = $helper::getInstance()->getHandler('Category');
68
69
// Creating the FAQ handler object
70
/** @var \XoopsModules\Smartfaq\FaqHandler $faqHandler */
71
$faqHandler = $helper::getInstance()->getHandler('Faq');
72
73
$startentry = \Xmf\Request::getInt('startentry', 0, 'GET');
74
75
$adminObject = \Xmf\Module\Admin::getInstance();
76
xoops_cp_header();
77
$adminObject->displayNavigation(basename(__FILE__));
78
global $xoopsUser, $xoopsUser, $xoopsDB, $faqid;
79
80
// Total FAQs -- includes everything on the table
81
$totalfaqs = $faqHandler->getFaqsCount();
82
83
// Total categories
84
$totalcategories = $categoryHandler->getCategoriesCount(-1);
85
86
// Total FAQ count by status
87
$totalfaqbystatus = $faqHandler->getFaqsCountByStatus();
88
89
// Total asked FAQs
90
$totalasked = isset($totalfaqbystatus[Constants::SF_STATUS_ASKED]) ? $totalfaqbystatus[Constants::SF_STATUS_ASKED] : 0;
91
92
// Total opened FAQs
93
$totalopened = isset($totalfaqbystatus[Constants::SF_STATUS_OPENED]) ? $totalfaqbystatus[Constants::SF_STATUS_OPENED] : 0;
94
95
// Total answered FAQs
96
$totalanswered = isset($totalfaqbystatus[Constants::SF_STATUS_ANSWERED]) ? $totalfaqbystatus[Constants::SF_STATUS_ANSWERED] : 0;
97
98
// Total submitted FAQs
99
$totalsubmitted = isset($totalfaqbystatus[Constants::SF_STATUS_SUBMITTED]) ? $totalfaqbystatus[Constants::SF_STATUS_SUBMITTED] : 0;
100
101
// Total published FAQs
102
$totalpublished = isset($totalfaqbystatus[Constants::SF_STATUS_PUBLISHED]) ? $totalfaqbystatus[Constants::SF_STATUS_PUBLISHED] : 0;
103
104
// Total offline FAQs
105
$totaloffline = isset($totalfaqbystatus[Constants::SF_STATUS_OFFLINE]) ? $totalfaqbystatus[Constants::SF_STATUS_OFFLINE] : 0;
106
107
// Total rejected question
108
$totalrejectedquestion = isset($totalfaqbystatus[Constants::SF_STATUS_REJECTED_QUESTION]) ? $totalfaqbystatus[Constants::SF_STATUS_REJECTED_QUESTION] : 0;
109
110
// Total rejected smartfaq
111
$totalrejectedsmartfaq = isset($totalfaqbystatus[Constants::SF_STATUS_REJECTED_SMARTFAQ]) ? $totalfaqbystatus[Constants::SF_STATUS_REJECTED_SMARTFAQ] : 0;
112
113
// Total Q&A with new answers
114
$totalnewanswers = isset($totalfaqbystatus[Constants::SF_STATUS_NEW_ANSWER]) ? $totalfaqbystatus[Constants::SF_STATUS_NEW_ANSWER] : 0;
115
116
// -- //
117
//Smartfaq\Utility::collapsableBar('toptable', 'toptableicon');
118
//echo "<img onclick='toggle('toptable'); toggleIcon('toptableicon');' id='toptableicon' name='toptableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/assets/images/icon/close12.gif alt=''></a>&nbsp;" . _AM_SF_INVENTORY . "</h3>";
119
//echo "<div id='toptable'>";
120
//echo "<br>";
121
//echo "<table width='100%' class='outer' cellspacing='1' cellpadding='3' border='0' ><tr>";
122
//echo "<td class='head'>" . _AM_SF_TOTALCAT . "</td><td align='center' class='even'>" . $totalcategories . "</td>";
123
//echo "<td class='head'>" . _AM_SF_TOTALASKED . "</td><td align='center' class='even'>" . $totalasked . "</td>";
124
//echo "<td class='head'>" . _AM_SF_TOTALOPENED . "</td><td align='center' class='even'>" . $totalopened . "</td>";
125
//echo "<td class='head'>" . _AM_SF_TOTALSUBMITTED . "</td><td align='center' class='even'>" . $totalsubmitted . "</td>";
126
//echo "<td class='head'>" . _AM_SF_TOTALPUBLISHED . "</td><td align='center' class='even'>" . $totalpublished . "</td>";
127
//echo "<td class='head'>" . _AM_SF_TOTALNEWANSWERS . "</td><td align='center' class='even'>" . $totalnewanswers . "</td>";
128
//echo "</tr></table>";
129
//echo "<br>";
130
131
//$adminObject  = \Xmf\Module\Admin::getInstance();
132
$adminObject->addItemButton(_AM_SF_CATEGORY_CREATE, 'category.php?op=mod', 'add', '');
133
$adminObject->addItemButton(_AM_SF_CREATEART, 'faq.php?op=mod', 'add', '');
134
$adminObject->addItemButton(_AM_SF_CREATEQUESTION, 'question.php?op=mod', 'add', '');
135
$adminObject->displayButton('left', '');
136
137
//echo "<form><div style=\"margin-bottom: 24px;\">";
138
//echo "<input type='button' name='button' onclick=\"location='category.php?op=mod'\" value='" . _AM_SF_CATEGORY_CREATE . "'>&nbsp;&nbsp;";
139
//echo "<input type='button' name='button' onclick=\"location='faq.php?op=mod'\" value='" . _AM_SF_CREATEART . "'>&nbsp;&nbsp;";
140
//echo "<input type='button' name='button' onclick=\"location='question.php?op=mod'\" value='" . _AM_SF_CREATEQUESTION . "'>&nbsp;&nbsp;";
141
//echo "</div></form>";
142
//echo "</div>";
143
144
// Construction of lower table
145
Smartfaq\Utility::collapsableBar('bottomtable', 'bottomtableicon');
146
echo "<img id='bottomtableicon' src=" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/close12.gif alt=''></a>&nbsp;" . _AM_SF_ALLFAQS . '</h3>';
147
echo "<div id='bottomtable'>";
148
echo '<span style="color: #567; margin: 3px 0 18px 0; font-size: small; display: block; ">' . _AM_SF_ALLFAQSMSG . '</span>';
149
150
$showingtxt    = '';
151
$selectedtxt   = '';
152
$cond          = '';
153
$selectedtxt0  = '';
154
$selectedtxt1  = '';
155
$selectedtxt2  = '';
156
$selectedtxt3  = '';
157
$selectedtxt4  = '';
158
$selectedtxt5  = '';
159
$selectedtxt6  = '';
160
$selectedtxt7  = '';
161
$selectedtxt8  = '';
162
$selectedtxt9  = '';
163
$selectedtxt10 = '';
164
165
$sorttxtquestion = '';
166
$sorttxtcategory = '';
167
$sorttxtcreated  = '';
168
$sorttxtweight   = '';
169
$sorttxtfaqid    = '';
170
171
$ordertxtasc  = '';
172
$ordertxtdesc = '';
173
174
switch ($sortsel) {
175
    case 'faq.question':
176
        $sorttxtquestion = 'selected';
177
        break;
178
    case 'category.name':
179
        $sorttxtcategory = 'selected';
180
        break;
181
    case 'faq.datesub':
182
        $sorttxtcreated = 'selected';
183
        break;
184
    case 'faq.weight':
185
        $sorttxtweight = 'selected';
186
        break;
187
    default:
188
        $sorttxtfaqid = 'selected';
189
        break;
190
}
191
192
switch ($ordersel) {
193
    case 'ASC':
194
        $ordertxtasc = 'selected';
195
        break;
196
    default:
197
        $ordertxtdesc = 'selected';
198
        break;
199
}
200
201
switch ($statussel) {
202
    case Constants::SF_STATUS_ALL:
203
        $selectedtxt0        = 'selected';
204
        $caption             = _AM_SF_ALL;
205
        $cond                = '';
206
        $status_explaination = _AM_SF_ALL_EXP;
207
        break;
208
    case Constants::SF_STATUS_ASKED:
209
        $selectedtxt1        = 'selected';
210
        $caption             = _AM_SF_ASKED;
211
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_ASKED . ' ';
212
        $status_explaination = _AM_SF_ASKED_EXP;
213
        break;
214
    case Constants::SF_STATUS_OPENED:
215
        $selectedtxt2        = 'selected';
216
        $caption             = _AM_SF_OPENED;
217
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_OPENED . ' ';
218
        $status_explaination = _AM_SF_OPENED_EXP;
219
        break;
220
    case Constants::SF_STATUS_ANSWERED:
221
        $selectedtxt3        = 'selected';
222
        $caption             = _AM_SF_ANSWERED;
223
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_ANSWERED . ' ';
224
        $status_explaination = _AM_SF_ANSWERED_EXP;
225
        break;
226
    case Constants::SF_STATUS_SUBMITTED:
227
        $selectedtxt4        = 'selected';
228
        $caption             = _AM_SF_SUBMITTED;
229
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_SUBMITTED . ' ';
230
        $status_explaination = _AM_SF_SUBMITTED_EXP;
231
        break;
232
    case Constants::SF_STATUS_PUBLISHED:
233
        $selectedtxt5        = 'selected';
234
        $caption             = _AM_SF_PUBLISHED;
235
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_PUBLISHED . ' ';
236
        $status_explaination = _AM_SF_PUBLISHED_EXP;
237
        break;
238
    case Constants::SF_STATUS_NEW_ANSWER:
239
        $selectedtxt6        = 'selected';
240
        $caption             = _AM_SF_NEW_ANSWER;
241
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_NEW_ANSWER . ' ';
242
        $status_explaination = _AM_SF_NEW_ANSWER_EXP;
243
        break;
244
    case Constants::SF_STATUS_OFFLINE:
245
        $selectedtxt7        = 'selected';
246
        $caption             = _AM_SF_OFFLINE;
247
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_OFFLINE . ' ';
248
        $status_explaination = _AM_SF_OFFLINE_EXP;
249
        break;
250
    case Constants::SF_STATUS_REJECTED_QUESTION:
251
        $selectedtxt8        = 'selected';
252
        $caption             = _AM_SF_REJECTED_QUESTION;
253
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_REJECTED_QUESTION . ' ';
254
        $status_explaination = _AM_SF_REJECTED_QUESTION_EXP;
255
        break;
256
    case Constants::SF_STATUS_REJECTED_SMARTFAQ:
257
        $selectedtxt9        = 'selected';
258
        $caption             = _AM_SF_REJECTED_SMARTFAQ;
259
        $cond                = ' WHERE status = ' . Constants::SF_STATUS_REJECTED_SMARTFAQ . ' ';
260
        $status_explaination = _AM_SF_REJECTED_SMARTFAQ_EXP;
261
        break;
262
}
263
264
/* -- Code to show selected terms -- */
265
echo "<form name='pick' id='pick' action='" . $_SERVER['PHP_SELF'] . "' method='POST' style='margin: 0;'>";
266
267
echo "
268
    <table width='100%' cellspacing='1' cellpadding='2' border='0' style='border-left: 1px solid silver; border-top: 1px solid silver; border-right: 1px solid silver;'>
269
        <tr>
270
            <td><span style='font-weight: bold; font-size: 12px; font-variant: small-caps;'>" . _AM_SF_SHOWING . ' ' . $caption . "</span></td>
271
            <td align='right'>" . _AM_SF_SELECT_SORT . "
272
                <select name='sortsel' onchange='submit()'>
273
                    <option value='faq.faqid' $sorttxtfaqid>" . _AM_SF_ID . "</option>
274
                    <option value='category.name' $sorttxtcategory>" . _AM_SF_CATEGORY . "</option>
275
                    <option value='faq.question' $sorttxtquestion>" . _AM_SF_QUESTION . "</option>
276
                    <option value='faq.datesub' $sorttxtcreated>" . _AM_SF_CREATED . "</option>
277
                    <option value='faq.weight' $sorttxtweight>" . _AM_SF_WEIGHT . "</option>
278
                </select>
279
                <select name='ordersel' onchange='submit()'>
280
                    <option value='ASC' $ordertxtasc>" . _AM_SF_ASC . "</option>
281
                    <option value='DESC' $ordertxtdesc>" . _AM_SF_DESC . '</option>
282
                </select>
283
            ' . _AM_SF_SELECT_STATUS . " :
284
                <select name='statussel' onchange='submit()'>
285
                    <option value='0' $selectedtxt0>" . _AM_SF_ALL . " [$totalfaqs]</option>
286
                    <option value='1' $selectedtxt1>" . _AM_SF_ASKED . " [$totalasked]</option>
287
                    <option value='2' $selectedtxt2>" . _AM_SF_OPENED . " [$totalopened]</option>
288
                    <option value='3' $selectedtxt3>" . _AM_SF_ANSWERED . " [$totalanswered]</option>
289
                    <option value='4' $selectedtxt4>" . _AM_SF_SUBMITTED . " [$totalsubmitted]</option>
290
                    <option value='5' $selectedtxt5>" . _AM_SF_PUBLISHED . " [$totalpublished]</option>
291
                    <option value='6' $selectedtxt6>" . _AM_SF_NEWANSWER . " [$totalnewanswers]</option>
292
                    <option value='7' $selectedtxt7>" . _AM_SF_OFFLINE . " [$totaloffline]</option>
293
                    <option value='8' $selectedtxt8>" . _AM_SF_REJECTED_QUESTION . " [$totalrejectedquestion]</option>
294
                    <option value='9' $selectedtxt9>" . _AM_SF_REJECTED_SMARTFAQ . " [$totalrejectedsmartfaq]</option>
295
                </select>
296
            </td>
297
        </tr>
298
    </table>
299
    </form>";
300
301
// Get number of entries in the selected state
302
$numrows        = (0 == $statussel) ? $totalfaqs : $totalfaqbystatus[$statussel];
303
$statusSelected = (0 == $statussel) ? Constants::SF_STATUS_ALL : $statussel;
304
305
// creating the Q&As objects
306
$faqsObj = $faqHandler->getFaqsAdminSide($helper->getConfig('perpage'), $startentry, $statusSelected, -1, $sortsel, $ordersel);
307
308
// fetching all categories
309
$allCats = $categoryHandler->getObjects(null, true);
310
//$totalItemsOnPage = count($faqsObj);
311
buildTable();
312
313
if ($numrows > 0) {
314
    //$answer_criteria = new \Criteria('faqid', "(".implode(',', array_keys($faqsObj)).")", 'IN');
315
    //$answer_criteria->setGroupby("faqid");
316
    //$answerHandler = \XoopsModules\Smartfaq\Helper::getInstance()->getHandler('Answer');
317
    //$answer_arr = $answerHandler->getCountByFAQ($answer_criteria);
318
319
    foreach (array_keys($faqsObj) as $i) {
320
        // Creating the category object to which this faq is linked
321
        $categoryObj = $allCats[$faqsObj[$i]->categoryid()];
322
323
        //$answers = $answer_arr[$i];
324
325
        $approve = '';
326
327
        switch ($faqsObj[$i]->status()) {
328
            case Constants::SF_STATUS_ASKED:
329
                $statustxt = _AM_SF_ASKED;
330
                $approve   = "<a href='question.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/on.png' . "'  title='" . _AM_SF_QUESTION_MODERATE . "'  alt='" . _AM_SF_QUESTION_MODERATE . "'></a>&nbsp;";
331
                $modify    = '';
332
                $delete    = "<a href='question.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEQUESTION . "' alt='" . _AM_SF_DELETEQUESTION . "'></a>";
333
                break;
334
            case Constants::SF_STATUS_OPENED:
335
                $statustxt = _AM_SF_OPENED;
336
                $approve   = '';
337
                $modify    = "<a href='question.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/edit.png' . "' title='" . _AM_SF_QUESTION_EDIT . "' alt='" . _AM_SF_QUESTION_EDIT . "'></a>&nbsp;";
338
                $delete    = "<a href='question.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEQUESTION . "' alt='" . _AM_SF_DELETEQUESTION . "'></a>";
339
                break;
340
            case Constants::SF_STATUS_ANSWERED:
341
                $statustxt = _AM_SF_ANSWERED;
342
                $approve   = "<a href='answer.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/approve.gif' title='" . _AM_SF_ANSWERED_MODERATE . "' alt='" . _AM_SF_ANSWERED_MODERATE . "'></a>&nbsp;";
343
                $modify    = '';
344
                $delete    = "<a href='question.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/delete.gif' title='" . _AM_SF_DELETEQUESTION . "' alt='" . _AM_SF_DELETEQUESTION . "'></a>";
345
                break;
346
            case Constants::SF_STATUS_SUBMITTED:
347
                $statustxt = _AM_SF_SUBMITTED;
348
                $approve   = "<a href='faq.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/approve.gif' title='" . _AM_SF_SUBMISSION_MODERATE . "' alt='" . _AM_SF_SUBMISSION_MODERATE . "'></a>&nbsp;";
349
                $delete    = "<a href='faq.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/delete.gif' title='" . _AM_SF_DELETEART . "' alt='" . _AM_SF_DELETEART . "'></a>";
350
                $modify    = '';
351
                break;
352
            case Constants::SF_STATUS_PUBLISHED:
353
                $statustxt = _AM_SF_PUBLISHED;
354
                $approve   = '';
355
                $modify    = "<a href='faq.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/edit.png' . "' title='" . _AM_SF_FAQ_EDIT . "' alt='" . _AM_SF_FAQ_EDIT . "'></a>&nbsp;";
356
                $delete    = "<a href='faq.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEART . "' alt='" . _AM_SF_DELETEART . "'></a>";
357
                break;
358
            case Constants::SF_STATUS_NEW_ANSWER:
359
                $statustxt = _AM_SF_NEWANSWER;
360
                $approve   = "<a href='answer.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/approve.gif' title='" . _AM_SF_FAQ_EDIT . "' alt='" . _AM_SF_FAQ_EDIT . "'></a>&nbsp;";
361
                $delete    = "<a href='faq.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . "/assets/images/icon/delete.gif' title='" . _AM_SF_DELETEART . "' alt='" . _AM_SF_DELETEART . "'></a>";
362
                $modify    = '';
363
                break;
364
            case Constants::SF_STATUS_OFFLINE:
365
                $statustxt = _AM_SF_OFFLINE;
366
                $approve   = '';
367
                $modify    = "<a href='faq.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/edit.png' . "' title='" . _AM_SF_FAQ_EDIT . "' alt='" . _AM_SF_FAQ_EDIT . "'></a>&nbsp;";
368
                $delete    = "<a href='faq.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEART . "' alt='" . _AM_SF_DELETEART . "'></a>";
369
                break;
370
            case Constants::SF_STATUS_REJECTED_QUESTION:
371
                $statustxt = _AM_SF_REJECTED_QUESTION;
372
                $approve   = '';
373
                $modify    = "<a href='faq.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/edit.png' . "' title='" . _AM_SF_REJECTED_EDIT . "' alt='" . _AM_SF_REJECTED_EDIT . "'></a>&nbsp;";
374
                $delete    = "<a href='question.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEQUESTION . "' alt='" . _AM_SF_DELETEQUESTION . "'></a>";
375
                break;
376
            case Constants::SF_STATUS_REJECTED_SMARTFAQ:
377
                $statustxt = _AM_SF_REJECTED_SMARTFAQ;
378
                $approve   = '';
379
                $modify    = "<a href='faq.php?op=mod&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/edit.png' . "' title='" . _AM_SF_REJECTED_EDIT . "' alt='" . _AM_SF_REJECTED_EDIT . "'></a>&nbsp;";
380
                $delete    = "<a href='faq.php?op=del&amp;faqid=" . $faqsObj[$i]->faqid() . "'><img src='" . $pathIcon16 . '/delete.png' . "' title='" . _AM_SF_DELETEART . "' alt='" . _AM_SF_DELETEART . "'></a>";
381
                break;
382
            case 'default':
383
            default:
384
                $statustxt = _AM_SF_STATUS0;
385
                $approve   = '';
386
                $modify    = '';
387
                break;
388
        }
389
390
        //$modify = "<a href='faq.php?op=mod&amp;faqid=" . $faqid . "'><img src='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/assets/images/icon/edit.gif' alt='" . _AM_SF_EDITART . "'></a>&nbsp;";
391
392
        echo '<tr>';
393
        echo "<td class='head' align='center'>" . $faqsObj[$i]->faqid() . '</td>';
394
        echo "<td class='even' align='left'>" . $categoryObj->name() . '</td>';
395
        echo "<td class='even' align='left'>" . $faqsObj[$i]->question(100) . '</td>';
396
397
        //mb---------------------------------------
398
        //adding name of the Question Submitter
399
        if (isset($faqsObj[$i])) {
400
            $requester = Smartfaq\Utility::getLinkedUnameFromId($faqsObj[$i]->uid(), $smartModuleConfig['userealname']);
401
            echo "<td class='even' align='center'>" . $requester . '</td>';
402
        }
403
404
        //adding name of the Answer Submitter
405
        /** @var \XoopsModules\Smartfaq\AnswerHandler $answerHandler */
406
        $answerHandler = $helper::getInstance()->getHandler('Answer');
407
408
        $criteria = new \CriteriaCompo();
409
        $criteria->add(new \Criteria('faqid', $faqsObj[$i]->faqid()));
410
        $criteria->add(new \Criteria('status', true));
0 ignored issues
show
true of type true is incompatible with the type string expected by parameter $value of Criteria::__construct(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

410
        $criteria->add(new \Criteria('status', /** @scrutinizer ignore-type */ true));
Loading history...
411
412
        $answerObjects = &$answerHandler->getObjects($criteria, true);
413
414
        foreach (array_keys($answerObjects) as $j) {
415
            $answerObj = $answerObjects[$j];
416
        }
417
418
        if (isset($answerObj->vars['uid']['value'])) {
419
            $answerSubmitterID = $answerObj->vars['uid']['value'];
420
421
            $answerSubmitter = Smartfaq\Utility::getLinkedUnameFromId($answerSubmitterID, $smartModuleConfig['userealname']);
422
        } else {
423
            $answerSubmitter = '--------';
424
        }
425
        echo "<td class='even' align='center'>" . $answerSubmitter . '</td>';
426
427
        //mb---------------------------------------
428
429
        echo "<td class='even' align='center'>" . $faqsObj[$i]->datesub('s') . '</td>';
430
        echo "<td class='even' align='center'>" . $statustxt . '</td>';
431
        //echo "<td class='even' align='center'>" . $answers . "</td>";
432
        echo "<td class='even' align='center'> " . $approve . $modify . $delete . '</td>';
433
        echo '</tr>';
434
    }
435
} else {
436
    // that is, $numrows = 0, there's no entries yet
437
    echo '<tr>';
438
    echo "<td class='head' align='center' colspan= '7'>" . _AM_SF_NOFAQSSEL . '</td>';
439
    echo '</tr>';
440
}
441
echo "</table>\n";
442
echo "<span style=\"color: #567; margin: 3px 0 18px 0; font-size: small; display: block; \">$status_explaination</span>";
443
$pagenav = new \XoopsPageNav($numrows, $helper->getConfig('perpage'), $startentry, 'startentry', "statussel=$statussel&amp;sortsel=$sortsel&amp;ordersel=$ordersel");
444
445
if (1 == $helper->getConfig('useimagenavpage')) {
446
    echo '<div style="text-align:right; background-color: white; margin: 10px 0;">' . $pagenav->renderImageNav() . '</div>';
447
} else {
448
    echo '<div style="text-align:right; background-color: white; margin: 10px 0;">' . $pagenav->renderNav() . '</div>';
449
}
450
// ENDs code to show active entries
451
echo '</div>';
452
// Close the collapsable div
453
echo '</div>';
454
echo '</div>';
455
456
require_once __DIR__ . '/admin_footer.php';
457