XoopsModules25x /
smartpartner
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
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 | * |
||
| 5 | * Module: SmartPartner |
||
| 6 | * Author: The SmartFactory <www.smartfactory.ca> |
||
| 7 | * Licence: GNU |
||
| 8 | */ |
||
| 9 | |||
| 10 | include_once __DIR__ . '/admin_header.php'; |
||
| 11 | $myts = MyTextSanitizer::getInstance(); |
||
| 12 | |||
| 13 | $op = isset($_GET['op']) ? $_GET['op'] : ''; |
||
| 14 | |||
| 15 | switch ($op) { |
||
| 16 | case 'createdir': |
||
| 17 | $path = isset($_GET['path']) ? $_GET['path'] : false; |
||
| 18 | if ($path) { |
||
| 19 | if ($path === 'root') { |
||
| 20 | $path = ''; |
||
| 21 | } |
||
| 22 | $thePath = smartpartner_getUploadDir(true, $path); |
||
| 23 | |||
| 24 | $res = smartpartner_admin_mkdir($thePath); |
||
| 25 | if ($res) { |
||
| 26 | $source = SMARTPARTNER_ROOT_PATH . 'assets/images/blank.png'; |
||
| 27 | $dest = $thePath . 'blank.png'; |
||
| 28 | |||
| 29 | smartpartner_copyr($source, $dest); |
||
| 30 | } |
||
| 31 | $msg = $res ? _AM_SPARTNER_DIRCREATED : _AM_SPARTNER_DIRNOTCREATED; |
||
| 32 | } else { |
||
| 33 | $msg = _AM_SPARTNER_DIRNOTCREATED; |
||
| 34 | } |
||
| 35 | |||
| 36 | redirect_header('main.php', 2, $msg . ': ' . $thePath); |
||
| 37 | |||
| 38 | break; |
||
| 39 | } |
||
| 40 | $pick = isset($_GET['pick']) ? (int)$_GET['pick'] : 0; |
||
| 41 | $pick = isset($_POST['pick']) ? (int)$_POST['pick'] : $pick; |
||
| 42 | |||
| 43 | $statussel = isset($_GET['statussel']) ? (int)$_GET['statussel'] : 0; |
||
| 44 | $statussel = isset($_POST['statussel']) ? (int)$_POST['statussel'] : $statussel; |
||
| 45 | |||
| 46 | $sortsel = isset($_GET['sortsel']) ? $_GET['sortsel'] : 'id'; |
||
| 47 | $sortsel = isset($_POST['sortsel']) ? $_POST['sortsel'] : $sortsel; |
||
| 48 | |||
| 49 | $ordersel = isset($_GET['ordersel']) ? $_GET['ordersel'] : 'DESC'; |
||
| 50 | $ordersel = isset($_POST['ordersel']) ? $_POST['ordersel'] : $ordersel; |
||
| 51 | |||
| 52 | $module_id = $xoopsModule->getVar('mid'); |
||
| 53 | |||
| 54 | function pathConfiguration() |
||
| 55 | { |
||
| 56 | global $xoopsModule; |
||
|
0 ignored issues
–
show
|
|||
| 57 | // Upload and Images Folders |
||
| 58 | smartpartner_collapsableBar('configtable', 'configtableicon', _AM_SPARTNER_PATHCONFIGURATION); |
||
| 59 | echo '<br>'; |
||
| 60 | echo "<table width='100%' class='outer' cellspacing='1' cellpadding='3' border='0' ><tr>"; |
||
| 61 | echo "<td class='bg3'><b>" . _AM_SPARTNER_PATH_ITEM . '</b></td>'; |
||
| 62 | echo "<td class='bg3'><b>" . _AM_SPARTNER_PATH . '</b></td>'; |
||
| 63 | echo "<td class='bg3' align='center'><b>" . _AM_SPARTNER_STATUS . '</b></td></tr>'; |
||
| 64 | |||
| 65 | echo "<tr><td class='odd'>" . _AM_SPARTNER_PATH_IMAGES . '</td>'; |
||
| 66 | $image_path = smartpartner_getImageDir(); |
||
| 67 | echo "<td class='odd'>" . $image_path . '</td>'; |
||
| 68 | echo "<td class='even' style='text-align: center;'>" . smartpartner_admin_getPathStatus('images') . '</td></tr>'; |
||
| 69 | |||
| 70 | echo "<tr><td class='odd'>" . _AM_SPARTNER_PATH_CATEGORY_IMAGES . '</td>'; |
||
| 71 | $image_path = smartpartner_getImageDir('category'); |
||
| 72 | echo "<td class='odd'>" . $image_path . '</td>'; |
||
| 73 | echo "<td class='even' style='text-align: center;'>" . smartpartner_admin_getPathStatus('images/category') . '</td></tr>'; |
||
| 74 | |||
| 75 | echo '</table>'; |
||
| 76 | echo '<br>'; |
||
| 77 | |||
| 78 | smartpartner_close_collapsable('configtable', 'configtableicon'); |
||
| 79 | } |
||
| 80 | |||
| 81 | function buildTable() |
||
| 82 | { |
||
| 83 | global $xoopsConfig, $xoopsModuleConfig, $xoopsModule; |
||
|
0 ignored issues
–
show
Compatibility
Best Practice
introduced
by
Use of
global functionality is not recommended; it makes your code harder to test, and less reusable.
Instead of relying on 1. Pass all data via parametersfunction myFunction($a, $b) {
// Do something
}
2. Create a class that maintains your stateclass MyClass {
private $a;
private $b;
public function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
}
public function myFunction() {
// Do something
}
}
Loading history...
|
|||
| 84 | echo "<table width='100%' cellspacing='1' cellpadding='3' border='0' class='outer'>"; |
||
| 85 | echo '<tr>'; |
||
| 86 | echo "<td class='bg3' width='200px' align='left'><b>" . _AM_SPARTNER_NAME . '</b></td>'; |
||
| 87 | echo "<td width='' class='bg3' align='left'><b>" . _AM_SPARTNER_INTRO . '</b></td>'; |
||
| 88 | echo "<td width='90' class='bg3' align='center'><b>" . _AM_SPARTNER_HITS . '</b></td>'; |
||
| 89 | echo "<td width='90' class='bg3' align='center'><b>" . _AM_SPARTNER_STATUS . '</b></td>'; |
||
| 90 | echo "<td width='90' class='bg3' align='center'><b>" . _AM_SPARTNER_ACTION . '</b></td>'; |
||
| 91 | echo '</tr>'; |
||
| 92 | } |
||
| 93 | |||
| 94 | // Code for the page |
||
| 95 | include_once XOOPS_ROOT_PATH . '/class/xoopslists.php'; |
||
| 96 | include_once XOOPS_ROOT_PATH . '/class/pagenav.php'; |
||
| 97 | |||
| 98 | // Creating the Partner handler object |
||
| 99 | $smartPartnerPartnerHandler = smartpartner_gethandler('partner'); |
||
| 100 | |||
| 101 | $startentry = isset($_GET['startentry']) ? (int)$_GET['startentry'] : 0; |
||
| 102 | |||
| 103 | smartpartner_xoops_cp_header(); |
||
| 104 | $indexAdmin = new ModuleAdmin(); |
||
| 105 | //xoops_cp_header(); |
||
| 106 | echo $indexAdmin->addNavigation(basename(__FILE__)); |
||
| 107 | |||
| 108 | global $xoopsUser, $xoopsConfig, $xoopsModuleConfig, $xoopsModule; |
||
|
0 ignored issues
–
show
Compatibility
Best Practice
introduced
by
Use of
global functionality is not recommended; it makes your code harder to test, and less reusable.
Instead of relying on 1. Pass all data via parametersfunction myFunction($a, $b) {
// Do something
}
2. Create a class that maintains your stateclass MyClass {
private $a;
private $b;
public function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
}
public function myFunction() {
// Do something
}
}
Loading history...
|
|||
| 109 | |||
| 110 | // Total Partners -- includes everything on the table |
||
| 111 | $totalpartners = $smartPartnerPartnerHandler->getPartnerCount(_SPARTNER_STATUS_ALL); |
||
| 112 | |||
| 113 | // Total Submitted Partners |
||
| 114 | $totalsubmitted = $smartPartnerPartnerHandler->getPartnerCount(_SPARTNER_STATUS_SUBMITTED); |
||
| 115 | |||
| 116 | // Total active Partners |
||
| 117 | $totalactive = $smartPartnerPartnerHandler->getPartnerCount(_SPARTNER_STATUS_ACTIVE); |
||
| 118 | |||
| 119 | // Total inactive Partners |
||
| 120 | $totalinactive = $smartPartnerPartnerHandler->getPartnerCount(_SPARTNER_STATUS_INACTIVE); |
||
| 121 | |||
| 122 | // Total rejected Partners |
||
| 123 | $totalrejected = $smartPartnerPartnerHandler->getPartnerCount(_SPARTNER_STATUS_REJECTED); |
||
| 124 | |||
| 125 | // Check Path Configuration |
||
| 126 | //if ((smartpartner_admin_getPathStatus('images', true) < 0) || (smartpartner_admin_getPathStatus('images/category', true) < 0)) { |
||
| 127 | // pathConfiguration(); |
||
| 128 | //} |
||
| 129 | |||
| 130 | $indexAdmin->addItemButton(_AM_SPARTNER_CATEGORY_CREATE, 'category.php?op=mod', 'add', ''); |
||
| 131 | $indexAdmin->addItemButton(_AM_SPARTNER_PARTNER_CREATE, 'partner.php?op=add', 'add', ''); |
||
| 132 | echo $indexAdmin->renderButton('left', ''); |
||
| 133 | |||
| 134 | // -- // |
||
| 135 | //smartpartner_collapsableBar('index', 'indexicon', _AM_SPARTNER_INVENTORY); |
||
| 136 | //echo "<br>"; |
||
| 137 | //echo "<table width='100%' class='outer' cellspacing='1' cellpadding='3' border='0' ><tr>"; |
||
| 138 | //echo "<td class='head'>" . _AM_SPARTNER_TOTAL_SUBMITTED . "</td><td align='center' class='even'>" . $totalsubmitted . "</td>"; |
||
| 139 | //echo "<td class='head'>" . _AM_SPARTNER_TOTAL_ACTIVE . "</td><td align='center' class='even'>" . $totalactive . "</td>"; |
||
| 140 | //echo "<td class='head'>" . _AM_SPARTNER_TOTAL_REJECTED . "</td><td align='center' class='even'>" . $totalrejected . "</td>"; |
||
| 141 | //echo "<td class='head'>" . _AM_SPARTNER_TOTAL_INACTIVE . "</td><td align='center' class='even'>" . $totalinactive . "</td>"; |
||
| 142 | //echo "</tr></table>"; |
||
| 143 | //echo "<br>"; |
||
| 144 | // |
||
| 145 | //echo "<form><div style=\"margin-bottom: 24px;\">"; |
||
| 146 | //echo "<input type='button' name='button' onclick=\"location='category.php?op=mod'\" value='" . _AM_SPARTNER_CATEGORY_CREATE . "'> "; |
||
| 147 | //echo "<input type='button' name='button' onclick=\"location='partner.php?op=add'\" value='" . _AM_SPARTNER_PARTNER_CREATE . "'> "; |
||
| 148 | //echo "</div></form>"; |
||
| 149 | //smartpartner_close_collapsable('index', 'indexicon'); |
||
| 150 | |||
| 151 | // Construction of lower table |
||
| 152 | smartpartner_collapsableBar('allitems', 'allitemsicon', _AM_SPARTNER_ALLITEMS, _AM_SPARTNER_ALLITEMSMSG); |
||
| 153 | |||
| 154 | $showingtxt = ''; |
||
| 155 | $selectedtxt = ''; |
||
| 156 | $cond = ''; |
||
| 157 | $selectedtxt0 = ''; |
||
| 158 | $selectedtxt1 = ''; |
||
| 159 | $selectedtxt2 = ''; |
||
| 160 | $selectedtxt3 = ''; |
||
| 161 | $selectedtxt4 = ''; |
||
| 162 | |||
| 163 | $sorttxtid = ''; |
||
| 164 | $sorttxttitle = ''; |
||
| 165 | $sorttxtweight = ''; |
||
| 166 | |||
| 167 | $ordertxtasc = ''; |
||
| 168 | $ordertxtdesc = ''; |
||
| 169 | |||
| 170 | switch ($sortsel) { |
||
| 171 | case 'title': |
||
| 172 | $sorttxttitle = "selected='selected'"; |
||
| 173 | break; |
||
| 174 | |||
| 175 | case 'weight': |
||
| 176 | $sorttxtweight = "selected='selected'"; |
||
| 177 | break; |
||
| 178 | |||
| 179 | default: |
||
| 180 | $sorttxtid = "selected='selected'"; |
||
| 181 | break; |
||
| 182 | } |
||
| 183 | |||
| 184 | switch ($ordersel) { |
||
| 185 | case 'ASC': |
||
| 186 | $ordertxtasc = "selected='selected'"; |
||
| 187 | break; |
||
| 188 | |||
| 189 | default: |
||
| 190 | $ordertxtdesc = "selected='selected'"; |
||
| 191 | break; |
||
| 192 | } |
||
| 193 | |||
| 194 | switch ($statussel) { |
||
| 195 | case _SPARTNER_STATUS_ALL: |
||
| 196 | $selectedtxt0 = "selected='selected'"; |
||
| 197 | $caption = _AM_SPARTNER_ALL; |
||
| 198 | $cond = ''; |
||
| 199 | $status_explaination = _AM_SPARTNER_ALL_EXP; |
||
| 200 | break; |
||
| 201 | |||
| 202 | case _SPARTNER_STATUS_SUBMITTED: |
||
| 203 | $selectedtxt1 = "selected='selected'"; |
||
| 204 | $caption = _AM_SPARTNER_SUBMITTED; |
||
| 205 | $cond = ' WHERE status = ' . _SPARTNER_STATUS_SUBMITTED . ' '; |
||
| 206 | $status_explaination = _AM_SPARTNER_SUBMITTED_EXP; |
||
| 207 | break; |
||
| 208 | |||
| 209 | case _SPARTNER_STATUS_ACTIVE: |
||
| 210 | $selectedtxt2 = "selected='selected'"; |
||
| 211 | $caption = _AM_SPARTNER_ACTIVE; |
||
| 212 | $cond = ' WHERE status = ' . _SPARTNER_STATUS_ACTIVE . ' '; |
||
| 213 | $status_explaination = _AM_SPARTNER_ACTIVE_EXP; |
||
| 214 | break; |
||
| 215 | |||
| 216 | case _SPARTNER_STATUS_REJECTED: |
||
| 217 | $selectedtxt3 = "selected='selected'"; |
||
| 218 | $caption = _AM_SPARTNER_REJECTED; |
||
| 219 | $cond = ' WHERE status = ' . _SPARTNER_STATUS_REJECTED . ' '; |
||
| 220 | $status_explaination = _AM_SPARTNER_REJECTED_EXP; |
||
| 221 | break; |
||
| 222 | |||
| 223 | case _SPARTNER_STATUS_INACTIVE: |
||
| 224 | $selectedtxt4 = "selected='selected'"; |
||
| 225 | $caption = _AM_SPARTNER_INACTIVE; |
||
| 226 | $cond = ' WHERE status = ' . _SPARTNER_STATUS_INACTIVE . ' '; |
||
| 227 | $status_explaination = _AM_SPARTNER_INACTIVE_EXP; |
||
| 228 | break; |
||
| 229 | } |
||
| 230 | |||
| 231 | /* -- Code to show selected terms -- */ |
||
| 232 | echo "<form name='pick' id='pick' action='" . $_SERVER['PHP_SELF'] . "' method='POST' style='margin: 0;'>"; |
||
| 233 | echo " |
||
| 234 | <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;'> |
||
| 235 | <tr> |
||
| 236 | <td><span style='font-weight: bold; font-variant: small-caps;'>" . _AM_SPARTNER_SHOWING . ' ' . $caption . "</span></td> |
||
| 237 | <td align='right'>" . _AM_SPARTNER_SELECT_SORT . " |
||
| 238 | <select name='sortsel' onchange='submit()'> |
||
| 239 | <option value='id' $sorttxtid>" . _AM_SPARTNER_ID . "</option> |
||
| 240 | <option value='title' $sorttxttitle>" . _AM_SPARTNER_TITLE . "</option> |
||
| 241 | <option value='weight' $sorttxtweight>" . _AM_SPARTNER_WEIGHT . "</option> |
||
| 242 | </select> |
||
| 243 | <select name='ordersel' onchange='submit()'> |
||
| 244 | <option value='ASC' $ordertxtasc>" . _AM_SPARTNER_ASC . "</option> |
||
| 245 | <option value='DESC' $ordertxtdesc>" . _AM_SPARTNER_DESC . '</option> |
||
| 246 | </select> |
||
| 247 | ' . _AM_SPARTNER_SELECT_STATUS . ": |
||
| 248 | <select name='statussel' onchange='submit()'> |
||
| 249 | <option value='0' $selectedtxt0>" . _AM_SPARTNER_ALL . " [$totalpartners]</option> |
||
| 250 | <option value='1' $selectedtxt1>" . _AM_SPARTNER_SUBMITTED . " [$totalsubmitted]</option> |
||
| 251 | <option value='2' $selectedtxt2>" . _AM_SPARTNER_ACTIVE . " [$totalactive]</option> |
||
| 252 | <option value='3' $selectedtxt3>" . _AM_SPARTNER_REJECTED . " [$totalrejected]</option> |
||
| 253 | <option value='4' $selectedtxt4>" . _AM_SPARTNER_INACTIVE . " [$totalinactive]</option> |
||
| 254 | </select> |
||
| 255 | </td> |
||
| 256 | </tr> |
||
| 257 | </table> |
||
| 258 | </form>"; |
||
| 259 | |||
| 260 | // Get number of entries in the selected state |
||
| 261 | $statusSelected = ($statussel == 0) ? _SPARTNER_STATUS_ALL : $statussel; |
||
| 262 | |||
| 263 | $numrows = $smartPartnerPartnerHandler->getPartnerCount($statusSelected); |
||
| 264 | // creating the Q&As objects |
||
| 265 | $partnersObj = $smartPartnerPartnerHandler->getPartners($xoopsModuleConfig['perpage_admin'], $startentry, $statusSelected, $sortsel, $ordersel); |
||
| 266 | |||
| 267 | $totalPartnersOnPage = count($partnersObj); |
||
| 268 | |||
| 269 | buildTable(); |
||
| 270 | |||
| 271 | if ($numrows > 0) { |
||
| 272 | for ($i = 0; $i < $totalPartnersOnPage; ++$i) { |
||
| 273 | $approve = ''; |
||
| 274 | switch ($partnersObj[$i]->status()) { |
||
| 275 | |||
| 276 | View Code Duplication | case _SPARTNER_STATUS_SUBMITTED: |
|
| 277 | $statustxt = _AM_SPARTNER_SUBMITTED; |
||
| 278 | $approve = "<a href='partner.php?op=mod&id=" |
||
| 279 | . $partnersObj[$i]->id() |
||
| 280 | . "'><img src='" |
||
| 281 | . $pathIcon16 |
||
| 282 | . '/on.png' |
||
| 283 | . "' title='" |
||
| 284 | . _AM_SPARTNER_PARTNER_APPROVE |
||
| 285 | . "' alt='" |
||
| 286 | . _AM_SPARTNER_PARTNER_APPROVE |
||
| 287 | . "' /></a> "; |
||
| 288 | $delete = "<a href='partner.php?op=del&id=" |
||
| 289 | . $partnersObj[$i]->id() |
||
| 290 | . "'><img src='" |
||
| 291 | . $pathIcon16 |
||
| 292 | . '/delete.png' |
||
| 293 | . "' title='" |
||
| 294 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 295 | . "' alt='" |
||
| 296 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 297 | . "' /></a> "; |
||
| 298 | $modify = ''; |
||
| 299 | break; |
||
| 300 | |||
| 301 | View Code Duplication | case _SPARTNER_STATUS_ACTIVE: |
|
| 302 | $statustxt = _AM_SPARTNER_ACTIVE; |
||
| 303 | $approve = ''; |
||
| 304 | $modify = "<a href='partner.php?op=mod&id=" |
||
| 305 | . $partnersObj[$i]->id() |
||
| 306 | . "'><img src='" |
||
| 307 | . $pathIcon16 |
||
| 308 | . '/edit.png' |
||
| 309 | . "' title='" |
||
| 310 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 311 | . "' alt='" |
||
| 312 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 313 | . "' /></a> "; |
||
| 314 | $delete = "<a href='partner.php?op=del&id=" |
||
| 315 | . $partnersObj[$i]->id() |
||
| 316 | . "'><img src='" |
||
| 317 | . $pathIcon16 |
||
| 318 | . '/delete.png' |
||
| 319 | . "' title='" |
||
| 320 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 321 | . "' alt='" |
||
| 322 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 323 | . "' /></a> "; |
||
| 324 | break; |
||
| 325 | |||
| 326 | View Code Duplication | case _SPARTNER_STATUS_INACTIVE: |
|
| 327 | $statustxt = _AM_SPARTNER_INACTIVE; |
||
| 328 | $approve = ''; |
||
| 329 | $modify = "<a href='partner.php?op=mod&id=" |
||
| 330 | . $partnersObj[$i]->id() |
||
| 331 | . "'><img src='" |
||
| 332 | . $pathIcon16 |
||
| 333 | . '/edit.png' |
||
| 334 | . "' title='" |
||
| 335 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 336 | . "' alt='" |
||
| 337 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 338 | . "' /></a> "; |
||
| 339 | $delete = "<a href='partner.php?op=del&id=" |
||
| 340 | . $partnersObj[$i]->id() |
||
| 341 | . "'><img src='" |
||
| 342 | . $pathIcon16 |
||
| 343 | . '/delete.png' |
||
| 344 | . "' title='" |
||
| 345 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 346 | . "' alt='" |
||
| 347 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 348 | . "' /></a> "; |
||
| 349 | break; |
||
| 350 | |||
| 351 | View Code Duplication | case _SPARTNER_STATUS_REJECTED: |
|
| 352 | $statustxt = _AM_SPARTNER_REJECTED; |
||
| 353 | $approve = ''; |
||
| 354 | $modify = "<a href='partner.php?op=mod&id=" |
||
| 355 | . $partnersObj[$i]->id() |
||
| 356 | . "'><img src='" |
||
| 357 | . $pathIcon16 |
||
| 358 | . '/edit.png' |
||
| 359 | . "' title='" |
||
| 360 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 361 | . "' alt='" |
||
| 362 | . _AM_SPARTNER_PARTNER_EDIT |
||
| 363 | . "' /></a> "; |
||
| 364 | $delete = "<a href='partner.php?op=del&id=" |
||
| 365 | . $partnersObj[$i]->id() |
||
| 366 | . "'><img src='" |
||
| 367 | . $pathIcon16 |
||
| 368 | . '/delete.png' |
||
| 369 | . "' title='" |
||
| 370 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 371 | . "' alt='" |
||
| 372 | . _AM_SPARTNER_PARTNER_DELETE |
||
| 373 | . "' /></a> "; |
||
| 374 | break; |
||
| 375 | |||
| 376 | case 'default': |
||
| 377 | default: |
||
| 378 | $statustxt = ''; |
||
| 379 | $approve = ''; |
||
| 380 | $modify = ''; |
||
| 381 | break; |
||
| 382 | } |
||
| 383 | |||
| 384 | echo '<tr>'; |
||
| 385 | echo "<td class='head' align='left'><a href='" |
||
| 386 | . SMARTPARTNER_URL |
||
| 387 | . 'partner.php?id=' |
||
| 388 | . $partnersObj[$i]->id() |
||
| 389 | . "'><img src='" |
||
| 390 | . SMARTPARTNER_URL |
||
| 391 | . "assets/images/links/partner.gif' alt=''/> " |
||
| 392 | . $partnersObj[$i]->title() |
||
| 393 | . '</a></td>'; |
||
| 394 | echo "<td class='even' align='left'>" . $partnersObj[$i]->summary(100) . '</td>'; |
||
| 395 | echo "<td class='even' align='center'>" . $partnersObj[$i]->hits() . '</td>'; |
||
| 396 | echo "<td class='even' align='center'>" . $statustxt . '</td>'; |
||
| 397 | echo "<td class='even' align='center'> " . $approve . $modify . $delete . '</td>'; |
||
| 398 | echo '</tr>'; |
||
| 399 | } |
||
| 400 | } else { |
||
| 401 | // that is, $numrows = 0, there's no entries yet |
||
| 402 | echo '<tr>'; |
||
| 403 | echo "<td class='head' align='center' colspan= '7'>" . _AM_SPARTNER_NOPARTNERS . '</td>'; |
||
| 404 | echo '</tr>'; |
||
| 405 | } |
||
| 406 | echo "</table>\n"; |
||
| 407 | echo "<span style=\"color: #567; margin: 3px 0 18px 0; font-size: small; display: block; \">$status_explaination</span>"; |
||
| 408 | |||
| 409 | $pagenav = new XoopsPageNav($numrows, $xoopsModuleConfig['perpage_admin'], $startentry, 'startentry', "statussel=$statussel&sortsel=$sortsel&ordersel=$ordersel"); |
||
| 410 | |||
| 411 | if ($xoopsModuleConfig['useimagenavpage'] == 1) { |
||
| 412 | echo '<div style="text-align:right; background-color: white; margin: 10px 0;">' . $pagenav->renderImageNav() . '</div>'; |
||
| 413 | } else { |
||
| 414 | echo '<div style="text-align:right; background-color: white; margin: 10px 0;">' . $pagenav->renderNav() . '</div>'; |
||
| 415 | } |
||
| 416 | // ENDs code to show active entries |
||
| 417 | smartpartner_close_collapsable('allitems', 'allitemsicon'); |
||
| 418 | // Close the collapsable div |
||
| 419 | // Check Path Configuration |
||
| 420 | if ((smartpartner_admin_getPathStatus('images', true) > 0) && (smartpartner_admin_getPathStatus('images/category', true) > 0)) { |
||
| 421 | pathConfiguration(); |
||
| 422 | } |
||
| 423 | echo '</div>'; |
||
| 424 | echo '</div>'; |
||
| 425 | |||
| 426 | //smart_modFooter(); |
||
| 427 | //xoops_cp_footer(); |
||
| 428 | include_once __DIR__ . '/admin_footer.php'; |
||
| 429 |
Instead of relying on
globalstate, we recommend one of these alternatives:1. Pass all data via parameters
2. Create a class that maintains your state