@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -1,9 +1,10 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Try to handle it with the upper level index.php. (it should know what to do.) |
| 4 | -if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) |
|
| 4 | +if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) { |
|
| 5 | 5 | include (dirname(dirname(__FILE__)) . '/index.php'); |
| 6 | -else |
|
| 6 | +} else { |
|
| 7 | 7 | exit; |
| 8 | +} |
|
| 8 | 9 | |
| 9 | 10 | ?> |
| 10 | 11 | \ No newline at end of file |
@@ -14,8 +14,9 @@ discard block |
||
| 14 | 14 | * @version 2.1 Beta 3 |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -if (!defined('SMF')) |
|
| 17 | +if (!defined('SMF')) { |
|
| 18 | 18 | die('No direct access...'); |
| 19 | +} |
|
| 19 | 20 | |
| 20 | 21 | /** |
| 21 | 22 | * Shows a listing of registered members. |
@@ -110,8 +111,9 @@ discard block |
||
| 110 | 111 | |
| 111 | 112 | $context['custom_profile_fields'] = getCustFieldsMList(); |
| 112 | 113 | |
| 113 | - if (!empty($context['custom_profile_fields']['columns'])) |
|
| 114 | - $context['columns'] += $context['custom_profile_fields']['columns']; |
|
| 114 | + if (!empty($context['custom_profile_fields']['columns'])) { |
|
| 115 | + $context['columns'] += $context['custom_profile_fields']['columns']; |
|
| 116 | + } |
|
| 115 | 117 | |
| 116 | 118 | $context['colspan'] = 0; |
| 117 | 119 | $context['disabled_fields'] = isset($modSettings['disabled_profile_fields']) ? array_flip(explode(',', $modSettings['disabled_profile_fields'])) : array(); |
@@ -147,12 +149,12 @@ discard block |
||
| 147 | 149 | call_integration_hook('integrate_memberlist_buttons'); |
| 148 | 150 | |
| 149 | 151 | // Jump to the sub action. |
| 150 | - if (isset($subActions[$context['listing_by']])) |
|
| 151 | - call_helper($subActions[$context['listing_by']][1]); |
|
| 152 | - |
|
| 153 | - else |
|
| 154 | - call_helper($subActions['all'][1]); |
|
| 155 | -} |
|
| 152 | + if (isset($subActions[$context['listing_by']])) { |
|
| 153 | + call_helper($subActions[$context['listing_by']][1]); |
|
| 154 | + } else { |
|
| 155 | + call_helper($subActions['all'][1]); |
|
| 156 | + } |
|
| 157 | + } |
|
| 156 | 158 | |
| 157 | 159 | /** |
| 158 | 160 | * List all members, page by page, with sorting. |
@@ -177,8 +179,9 @@ discard block |
||
| 177 | 179 | if ($use_cache) |
| 178 | 180 | { |
| 179 | 181 | // Maybe there's something cached already. |
| 180 | - if (!empty($modSettings['memberlist_cache'])) |
|
| 181 | - $memberlist_cache = smf_json_decode($modSettings['memberlist_cache'], true); |
|
| 182 | + if (!empty($modSettings['memberlist_cache'])) { |
|
| 183 | + $memberlist_cache = smf_json_decode($modSettings['memberlist_cache'], true); |
|
| 184 | + } |
|
| 182 | 185 | |
| 183 | 186 | // The chunk size for the cached index. |
| 184 | 187 | $cache_step_size = 500; |
@@ -234,13 +237,15 @@ discard block |
||
| 234 | 237 | } |
| 235 | 238 | |
| 236 | 239 | // Set defaults for sort (real_name) and start. (0) |
| 237 | - if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) |
|
| 238 | - $_REQUEST['sort'] = 'real_name'; |
|
| 240 | + if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) { |
|
| 241 | + $_REQUEST['sort'] = 'real_name'; |
|
| 242 | + } |
|
| 239 | 243 | |
| 240 | 244 | if (!is_numeric($_REQUEST['start'])) |
| 241 | 245 | { |
| 242 | - if (preg_match('~^[^\'\\\\/]~' . ($context['utf8'] ? 'u' : ''), $smcFunc['strtolower']($_REQUEST['start']), $match) === 0) |
|
| 243 | - fatal_error('Hacker?', false); |
|
| 246 | + if (preg_match('~^[^\'\\\\/]~' . ($context['utf8'] ? 'u' : ''), $smcFunc['strtolower']($_REQUEST['start']), $match) === 0) { |
|
| 247 | + fatal_error('Hacker?', false); |
|
| 248 | + } |
|
| 244 | 249 | |
| 245 | 250 | $_REQUEST['start'] = $match[0]; |
| 246 | 251 | |
@@ -259,16 +264,18 @@ discard block |
||
| 259 | 264 | } |
| 260 | 265 | |
| 261 | 266 | $context['letter_links'] = ''; |
| 262 | - for ($i = 97; $i < 123; $i++) |
|
| 263 | - $context['letter_links'] .= '<a href="' . $scripturl . '?action=mlist;sa=all;start=' . chr($i) . '#letter' . chr($i) . '">' . strtoupper(chr($i)) . '</a> '; |
|
| 267 | + for ($i = 97; $i < 123; $i++) { |
|
| 268 | + $context['letter_links'] .= '<a href="' . $scripturl . '?action=mlist;sa=all;start=' . chr($i) . '#letter' . chr($i) . '">' . strtoupper(chr($i)) . '</a> '; |
|
| 269 | + } |
|
| 264 | 270 | |
| 265 | 271 | // Sort out the column information. |
| 266 | 272 | foreach ($context['columns'] as $col => $column_details) |
| 267 | 273 | { |
| 268 | 274 | $context['columns'][$col]['href'] = $scripturl . '?action=mlist;sort=' . $col . ';start=0'; |
| 269 | 275 | |
| 270 | - if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) |
|
| 271 | - $context['columns'][$col]['href'] .= ';desc'; |
|
| 276 | + if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) { |
|
| 277 | + $context['columns'][$col]['href'] .= ';desc'; |
|
| 278 | + } |
|
| 272 | 279 | |
| 273 | 280 | $context['columns'][$col]['link'] = '<a href="' . $context['columns'][$col]['href'] . '" rel="nofollow">' . $context['columns'][$col]['label'] . '</a>'; |
| 274 | 281 | $context['columns'][$col]['selected'] = $_REQUEST['sort'] == $col; |
@@ -317,8 +324,9 @@ discard block |
||
| 317 | 324 | elseif ($use_cache && $_REQUEST['sort'] === 'real_name') |
| 318 | 325 | { |
| 319 | 326 | $first_offset = floor(($memberlist_cache['num_members'] - $modSettings['defaultMaxMembers'] - $_REQUEST['start']) / $cache_step_size) * $cache_step_size; |
| 320 | - if ($first_offset < 0) |
|
| 321 | - $first_offset = 0; |
|
| 327 | + if ($first_offset < 0) { |
|
| 328 | + $first_offset = 0; |
|
| 329 | + } |
|
| 322 | 330 | $second_offset = ceil(($memberlist_cache['num_members'] - $_REQUEST['start']) / $cache_step_size) * $cache_step_size; |
| 323 | 331 | |
| 324 | 332 | $where = 'mem.real_name BETWEEN {string:real_name_low} AND {string:real_name_high}'; |
@@ -395,12 +403,13 @@ discard block |
||
| 395 | 403 | ) |
| 396 | 404 | ); |
| 397 | 405 | $context['custom_search_fields'] = array(); |
| 398 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 399 | - $context['custom_search_fields'][$row['col_name']] = array( |
|
| 406 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 407 | + $context['custom_search_fields'][$row['col_name']] = array( |
|
| 400 | 408 | 'colname' => $row['col_name'], |
| 401 | 409 | 'name' => $row['field_name'], |
| 402 | 410 | 'desc' => $row['field_desc'], |
| 403 | 411 | ); |
| 412 | + } |
|
| 404 | 413 | $smcFunc['db_free_result']($request); |
| 405 | 414 | |
| 406 | 415 | // They're searching.. |
@@ -413,23 +422,27 @@ discard block |
||
| 413 | 422 | $context['old_search_value'] = urlencode($_REQUEST['search']); |
| 414 | 423 | |
| 415 | 424 | // No fields? Use default... |
| 416 | - if (empty($_POST['fields'])) |
|
| 417 | - $_POST['fields'] = array('name'); |
|
| 425 | + if (empty($_POST['fields'])) { |
|
| 426 | + $_POST['fields'] = array('name'); |
|
| 427 | + } |
|
| 418 | 428 | |
| 419 | 429 | // Set defaults for how the results are sorted |
| 420 | - if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) |
|
| 421 | - $_REQUEST['sort'] = 'real_name'; |
|
| 430 | + if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) { |
|
| 431 | + $_REQUEST['sort'] = 'real_name'; |
|
| 432 | + } |
|
| 422 | 433 | |
| 423 | 434 | // Build the column link / sort information. |
| 424 | 435 | foreach ($context['columns'] as $col => $column_details) |
| 425 | 436 | { |
| 426 | 437 | $context['columns'][$col]['href'] = $scripturl . '?action=mlist;sa=search;start=0;sort=' . $col; |
| 427 | 438 | |
| 428 | - if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) |
|
| 429 | - $context['columns'][$col]['href'] .= ';desc'; |
|
| 439 | + if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) { |
|
| 440 | + $context['columns'][$col]['href'] .= ';desc'; |
|
| 441 | + } |
|
| 430 | 442 | |
| 431 | - if (isset($_POST['search']) && isset($_POST['fields'])) |
|
| 432 | - $context['columns'][$col]['href'] .= ';search=' . $_POST['search'] . ';fields=' . implode(',', $_POST['fields']); |
|
| 443 | + if (isset($_POST['search']) && isset($_POST['fields'])) { |
|
| 444 | + $context['columns'][$col]['href'] .= ';search=' . $_POST['search'] . ';fields=' . implode(',', $_POST['fields']); |
|
| 445 | + } |
|
| 433 | 446 | |
| 434 | 447 | $context['columns'][$col]['link'] = '<a href="' . $context['columns'][$col]['href'] . '" rel="nofollow">' . $context['columns'][$col]['label'] . '</a>'; |
| 435 | 448 | $context['columns'][$col]['selected'] = $_REQUEST['sort'] == $col; |
@@ -452,8 +465,7 @@ discard block |
||
| 452 | 465 | { |
| 453 | 466 | $fields = allowedTo('moderate_forum') ? array('member_name', 'real_name') : array('real_name'); |
| 454 | 467 | $search_fields[] = 'name'; |
| 455 | - } |
|
| 456 | - else |
|
| 468 | + } else |
|
| 457 | 469 | { |
| 458 | 470 | $fields = array(); |
| 459 | 471 | $search_fields = array(); |
@@ -478,9 +490,10 @@ discard block |
||
| 478 | 490 | $search_fields[] = 'email'; |
| 479 | 491 | } |
| 480 | 492 | |
| 481 | - if ($smcFunc['db_case_sensitive']) |
|
| 482 | - foreach ($fields as $key => $field) |
|
| 493 | + if ($smcFunc['db_case_sensitive']) { |
|
| 494 | + foreach ($fields as $key => $field) |
|
| 483 | 495 | $fields[$key] = 'LOWER(' . $field . ')'; |
| 496 | + } |
|
| 484 | 497 | |
| 485 | 498 | $customJoin = array(); |
| 486 | 499 | $customCount = 10; |
@@ -499,8 +512,9 @@ discard block |
||
| 499 | 512 | } |
| 500 | 513 | |
| 501 | 514 | // No search fields? That means you're trying to hack things |
| 502 | - if (empty($search_fields)) |
|
| 503 | - fatal_lang_error('invalid_search_string', false); |
|
| 515 | + if (empty($search_fields)) { |
|
| 516 | + fatal_lang_error('invalid_search_string', false); |
|
| 517 | + } |
|
| 504 | 518 | |
| 505 | 519 | $query = $_POST['search'] == '' ? '= {string:blank_string}' : ($smcFunc['db_case_sensitive'] ? 'LIKE LOWER({string:search})' : 'LIKE {string:search}'); |
| 506 | 520 | |
@@ -538,8 +552,7 @@ discard block |
||
| 538 | 552 | ); |
| 539 | 553 | printMemberListRows($request); |
| 540 | 554 | $smcFunc['db_free_result']($request); |
| 541 | - } |
|
| 542 | - else |
|
| 555 | + } else |
|
| 543 | 556 | { |
| 544 | 557 | // These are all the possible fields. |
| 545 | 558 | $context['search_fields'] = array( |
@@ -554,14 +567,14 @@ discard block |
||
| 554 | 567 | { |
| 555 | 568 | unset($context['search_fields']['email']); |
| 556 | 569 | $context['search_defaults'] = array('name'); |
| 557 | - } |
|
| 558 | - else |
|
| 570 | + } else |
|
| 559 | 571 | { |
| 560 | 572 | $context['search_defaults'] = array('name', 'email'); |
| 561 | 573 | } |
| 562 | 574 | |
| 563 | - foreach ($context['custom_search_fields'] as $field) |
|
| 564 | - $context['search_fields']['cust_' . $field['colname']] = sprintf($txt['mlist_search_by'], $field['name']); |
|
| 575 | + foreach ($context['custom_search_fields'] as $field) { |
|
| 576 | + $context['search_fields']['cust_' . $field['colname']] = sprintf($txt['mlist_search_by'], $field['name']); |
|
| 577 | + } |
|
| 565 | 578 | |
| 566 | 579 | $context['sub_template'] = 'search'; |
| 567 | 580 | $context['old_search'] = isset($_GET['search']) ? $_GET['search'] : (isset($_POST['search']) ? $smcFunc['htmlspecialchars']($_POST['search']) : ''); |
@@ -603,12 +616,14 @@ discard block |
||
| 603 | 616 | $smcFunc['db_free_result']($result); |
| 604 | 617 | |
| 605 | 618 | // Avoid division by zero... |
| 606 | - if ($most_posts == 0) |
|
| 607 | - $most_posts = 1; |
|
| 619 | + if ($most_posts == 0) { |
|
| 620 | + $most_posts = 1; |
|
| 621 | + } |
|
| 608 | 622 | |
| 609 | 623 | $members = array(); |
| 610 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 611 | - $members[] = $row['id_member']; |
|
| 624 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 625 | + $members[] = $row['id_member']; |
|
| 626 | + } |
|
| 612 | 627 | |
| 613 | 628 | // Load all the members for display. |
| 614 | 629 | loadMemberData($members); |
@@ -616,8 +631,9 @@ discard block |
||
| 616 | 631 | $context['members'] = array(); |
| 617 | 632 | foreach ($members as $member) |
| 618 | 633 | { |
| 619 | - if (!loadMemberContext($member)) |
|
| 620 | - continue; |
|
| 634 | + if (!loadMemberContext($member)) { |
|
| 635 | + continue; |
|
| 636 | + } |
|
| 621 | 637 | |
| 622 | 638 | $context['members'][$member] = $memberContext[$member]; |
| 623 | 639 | $context['members'][$member]['post_percent'] = round(($context['members'][$member]['real_posts'] * 100) / $most_posts); |
@@ -634,20 +650,21 @@ discard block |
||
| 634 | 650 | continue; |
| 635 | 651 | } |
| 636 | 652 | |
| 637 | - if ($column['bbc'] && !empty($context['members'][$member]['options'][$key])) |
|
| 638 | - $context['members'][$member]['options'][$key] = strip_tags(parse_bbc($context['members'][$member]['options'][$key])); |
|
| 639 | - |
|
| 640 | - elseif ($column['type'] == 'check') |
|
| 641 | - $context['members'][$member]['options'][$key] = $context['members'][$member]['options'][$key] == 0 ? $txt['no'] : $txt['yes']; |
|
| 653 | + if ($column['bbc'] && !empty($context['members'][$member]['options'][$key])) { |
|
| 654 | + $context['members'][$member]['options'][$key] = strip_tags(parse_bbc($context['members'][$member]['options'][$key])); |
|
| 655 | + } elseif ($column['type'] == 'check') { |
|
| 656 | + $context['members'][$member]['options'][$key] = $context['members'][$member]['options'][$key] == 0 ? $txt['no'] : $txt['yes']; |
|
| 657 | + } |
|
| 642 | 658 | |
| 643 | 659 | // Enclosing the user input within some other text? |
| 644 | - if (!empty($column['enclose'])) |
|
| 645 | - $context['members'][$member]['options'][$key] = strtr($column['enclose'], array( |
|
| 660 | + if (!empty($column['enclose'])) { |
|
| 661 | + $context['members'][$member]['options'][$key] = strtr($column['enclose'], array( |
|
| 646 | 662 | '{SCRIPTURL}' => $scripturl, |
| 647 | 663 | '{IMAGES_URL}' => $settings['images_url'], |
| 648 | 664 | '{DEFAULT_IMAGES_URL}' => $settings['default_images_url'], |
| 649 | 665 | '{INPUT}' => $context['members'][$member]['options'][$key], |
| 650 | 666 | )); |
| 667 | + } |
|
| 651 | 668 | } |
| 652 | 669 | } |
| 653 | 670 | } |
@@ -688,17 +705,17 @@ discard block |
||
| 688 | 705 | ); |
| 689 | 706 | |
| 690 | 707 | // Get the right sort method depending on the cust field type. |
| 691 | - if ($row['field_type'] != 'check') |
|
| 692 | - $cpf['columns'][$row['col_name']]['sort'] = array( |
|
| 708 | + if ($row['field_type'] != 'check') { |
|
| 709 | + $cpf['columns'][$row['col_name']]['sort'] = array( |
|
| 693 | 710 | 'down' => 'LENGTH(t' . $row['col_name'] . '.value) > 0 ASC, COALESCE(t' . $row['col_name'] . '.value, "") DESC', |
| 694 | 711 | 'up' => 'LENGTH(t' . $row['col_name'] . '.value) > 0 DESC, COALESCE(t' . $row['col_name'] . '.value, "") ASC' |
| 695 | 712 | ); |
| 696 | - |
|
| 697 | - else |
|
| 698 | - $cpf['columns'][$row['col_name']]['sort'] = array( |
|
| 713 | + } else { |
|
| 714 | + $cpf['columns'][$row['col_name']]['sort'] = array( |
|
| 699 | 715 | 'down' => 't' . $row['col_name'] . '.value DESC', |
| 700 | 716 | 'up' => 't' . $row['col_name'] . '.value ASC' |
| 701 | 717 | ); |
| 718 | + } |
|
| 702 | 719 | |
| 703 | 720 | $cpf['join'][$row['col_name']] = 'LEFT JOIN {db_prefix}themes AS t' . $row['col_name'] . ' ON (t' . $row['col_name'] . '.variable = {literal:' . $row['col_name'] . '} AND t' . $row['col_name'] . '.id_theme = 1 AND t' . $row['col_name'] . '.id_member = mem.id_member)'; |
| 704 | 721 | } |
@@ -14,8 +14,9 @@ discard block |
||
| 14 | 14 | * @version 2.1 Beta 3 |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -if (!defined('SMF')) |
|
| 17 | +if (!defined('SMF')) { |
|
| 18 | 18 | die('No direct access...'); |
| 19 | +} |
|
| 19 | 20 | |
| 20 | 21 | /** |
| 21 | 22 | * The central part of the board - topic display. |
@@ -34,8 +35,9 @@ discard block |
||
| 34 | 35 | global $attachments, $messages_request, $language, $smcFunc; |
| 35 | 36 | |
| 36 | 37 | // What are you gonna display if these are empty?! |
| 37 | - if (empty($topic)) |
|
| 38 | - fatal_lang_error('no_board', false); |
|
| 38 | + if (empty($topic)) { |
|
| 39 | + fatal_lang_error('no_board', false); |
|
| 40 | + } |
|
| 39 | 41 | |
| 40 | 42 | // Load the proper template. |
| 41 | 43 | loadTemplate('Display'); |
@@ -52,15 +54,17 @@ discard block |
||
| 52 | 54 | $context['messages_per_page'] = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages']; |
| 53 | 55 | |
| 54 | 56 | // Let's do some work on what to search index. |
| 55 | - if (count($_GET) > 2) |
|
| 56 | - foreach ($_GET as $k => $v) |
|
| 57 | + if (count($_GET) > 2) { |
|
| 58 | + foreach ($_GET as $k => $v) |
|
| 57 | 59 | { |
| 58 | 60 | if (!in_array($k, array('topic', 'board', 'start', session_name()))) |
| 59 | 61 | $context['robot_no_index'] = true; |
| 62 | + } |
|
| 60 | 63 | } |
| 61 | 64 | |
| 62 | - if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) |
|
| 63 | - $context['robot_no_index'] = true; |
|
| 65 | + if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) { |
|
| 66 | + $context['robot_no_index'] = true; |
|
| 67 | + } |
|
| 64 | 68 | |
| 65 | 69 | // Find the previous or next topic. Make a fuss if there are no more. |
| 66 | 70 | if (isset($_REQUEST['prev_next']) && ($_REQUEST['prev_next'] == 'prev' || $_REQUEST['prev_next'] == 'next')) |
@@ -172,8 +176,9 @@ discard block |
||
| 172 | 176 | $topic_parameters |
| 173 | 177 | ); |
| 174 | 178 | |
| 175 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 176 | - fatal_lang_error('not_a_topic', false, 404); |
|
| 179 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 180 | + fatal_lang_error('not_a_topic', false, 404); |
|
| 181 | + } |
|
| 177 | 182 | $context['topicinfo'] = $smcFunc['db_fetch_assoc']($request); |
| 178 | 183 | $smcFunc['db_free_result']($request); |
| 179 | 184 | |
@@ -210,8 +215,9 @@ discard block |
||
| 210 | 215 | $context['topic_unwatched'] = isset($context['topicinfo']['unwatched']) ? $context['topicinfo']['unwatched'] : 0; |
| 211 | 216 | |
| 212 | 217 | // Add up unapproved replies to get real number of replies... |
| 213 | - if ($modSettings['postmod_active'] && $approve_posts) |
|
| 214 | - $context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1); |
|
| 218 | + if ($modSettings['postmod_active'] && $approve_posts) { |
|
| 219 | + $context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1); |
|
| 220 | + } |
|
| 215 | 221 | |
| 216 | 222 | // If this topic has unapproved posts, we need to work out how many posts the user can see, for page indexing. |
| 217 | 223 | if ($modSettings['postmod_active'] && $context['topicinfo']['unapproved_posts'] && !$user_info['is_guest'] && !$approve_posts) |
@@ -231,11 +237,11 @@ discard block |
||
| 231 | 237 | $smcFunc['db_free_result']($request); |
| 232 | 238 | |
| 233 | 239 | $context['total_visible_posts'] = $context['num_replies'] + $myUnapprovedPosts + ($context['topicinfo']['approved'] ? 1 : 0); |
| 240 | + } elseif ($user_info['is_guest']) { |
|
| 241 | + $context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0); |
|
| 242 | + } else { |
|
| 243 | + $context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0); |
|
| 234 | 244 | } |
| 235 | - elseif ($user_info['is_guest']) |
|
| 236 | - $context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0); |
|
| 237 | - else |
|
| 238 | - $context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0); |
|
| 239 | 245 | |
| 240 | 246 | // The start isn't a number; it's information about what to do, where to go. |
| 241 | 247 | if (!is_numeric($_REQUEST['start'])) |
@@ -248,8 +254,7 @@ discard block |
||
| 248 | 254 | { |
| 249 | 255 | $context['start_from'] = $context['total_visible_posts'] - 1; |
| 250 | 256 | $_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : 0; |
| 251 | - } |
|
| 252 | - else |
|
| 257 | + } else |
|
| 253 | 258 | { |
| 254 | 259 | // Find the earliest unread message in the topic. (the use of topics here is just for both tables.) |
| 255 | 260 | $request = $smcFunc['db_query']('', ' |
@@ -277,9 +282,9 @@ discard block |
||
| 277 | 282 | if (substr($_REQUEST['start'], 0, 4) == 'from') |
| 278 | 283 | { |
| 279 | 284 | $timestamp = (int) substr($_REQUEST['start'], 4); |
| 280 | - if ($timestamp === 0) |
|
| 281 | - $_REQUEST['start'] = 0; |
|
| 282 | - else |
|
| 285 | + if ($timestamp === 0) { |
|
| 286 | + $_REQUEST['start'] = 0; |
|
| 287 | + } else |
|
| 283 | 288 | { |
| 284 | 289 | // Find the number of messages posted before said time... |
| 285 | 290 | $request = $smcFunc['db_query']('', ' |
@@ -307,11 +312,11 @@ discard block |
||
| 307 | 312 | elseif (substr($_REQUEST['start'], 0, 3) == 'msg') |
| 308 | 313 | { |
| 309 | 314 | $virtual_msg = (int) substr($_REQUEST['start'], 3); |
| 310 | - if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg']) |
|
| 311 | - $context['start_from'] = $context['total_visible_posts'] - 1; |
|
| 312 | - elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg']) |
|
| 313 | - $context['start_from'] = 0; |
|
| 314 | - else |
|
| 315 | + if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg']) { |
|
| 316 | + $context['start_from'] = $context['total_visible_posts'] - 1; |
|
| 317 | + } elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg']) { |
|
| 318 | + $context['start_from'] = 0; |
|
| 319 | + } else |
|
| 315 | 320 | { |
| 316 | 321 | // Find the start value for that message...... |
| 317 | 322 | $request = $smcFunc['db_query']('', ' |
@@ -394,21 +399,25 @@ discard block |
||
| 394 | 399 | ); |
| 395 | 400 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 396 | 401 | { |
| 397 | - if (empty($row['id_member'])) |
|
| 398 | - continue; |
|
| 402 | + if (empty($row['id_member'])) { |
|
| 403 | + continue; |
|
| 404 | + } |
|
| 399 | 405 | |
| 400 | - if (!empty($row['online_color'])) |
|
| 401 | - $link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>'; |
|
| 402 | - else |
|
| 403 | - $link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>'; |
|
| 406 | + if (!empty($row['online_color'])) { |
|
| 407 | + $link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>'; |
|
| 408 | + } else { |
|
| 409 | + $link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>'; |
|
| 410 | + } |
|
| 404 | 411 | |
| 405 | 412 | $is_buddy = in_array($row['id_member'], $user_info['buddies']); |
| 406 | - if ($is_buddy) |
|
| 407 | - $link = '<strong>' . $link . '</strong>'; |
|
| 413 | + if ($is_buddy) { |
|
| 414 | + $link = '<strong>' . $link . '</strong>'; |
|
| 415 | + } |
|
| 408 | 416 | |
| 409 | 417 | // Add them both to the list and to the more detailed list. |
| 410 | - if (!empty($row['show_online']) || allowedTo('moderate_forum')) |
|
| 411 | - $context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link; |
|
| 418 | + if (!empty($row['show_online']) || allowedTo('moderate_forum')) { |
|
| 419 | + $context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link; |
|
| 420 | + } |
|
| 412 | 421 | $context['view_members'][$row['log_time'] . $row['member_name']] = array( |
| 413 | 422 | 'id' => $row['id_member'], |
| 414 | 423 | 'username' => $row['member_name'], |
@@ -420,8 +429,9 @@ discard block |
||
| 420 | 429 | 'hidden' => empty($row['show_online']), |
| 421 | 430 | ); |
| 422 | 431 | |
| 423 | - if (empty($row['show_online'])) |
|
| 424 | - $context['view_num_hidden']++; |
|
| 432 | + if (empty($row['show_online'])) { |
|
| 433 | + $context['view_num_hidden']++; |
|
| 434 | + } |
|
| 425 | 435 | } |
| 426 | 436 | |
| 427 | 437 | // The number of guests is equal to the rows minus the ones we actually used ;). |
@@ -435,11 +445,13 @@ discard block |
||
| 435 | 445 | |
| 436 | 446 | // If all is set, but not allowed... just unset it. |
| 437 | 447 | $can_show_all = !empty($modSettings['enableAllMessages']) && $context['total_visible_posts'] > $context['messages_per_page'] && $context['total_visible_posts'] < $modSettings['enableAllMessages']; |
| 438 | - if (isset($_REQUEST['all']) && !$can_show_all) |
|
| 439 | - unset($_REQUEST['all']); |
|
| 448 | + if (isset($_REQUEST['all']) && !$can_show_all) { |
|
| 449 | + unset($_REQUEST['all']); |
|
| 450 | + } |
|
| 440 | 451 | // Otherwise, it must be allowed... so pretend start was -1. |
| 441 | - elseif (isset($_REQUEST['all'])) |
|
| 442 | - $_REQUEST['start'] = -1; |
|
| 452 | + elseif (isset($_REQUEST['all'])) { |
|
| 453 | + $_REQUEST['start'] = -1; |
|
| 454 | + } |
|
| 443 | 455 | |
| 444 | 456 | // Construct the page index, allowing for the .START method... |
| 445 | 457 | $context['page_index'] = constructPageIndex($scripturl . '?topic=' . $topic . '.%1$d', $_REQUEST['start'], $context['total_visible_posts'], $context['messages_per_page'], true); |
@@ -476,8 +488,9 @@ discard block |
||
| 476 | 488 | $_REQUEST['start'] = 0; |
| 477 | 489 | } |
| 478 | 490 | // They aren't using it, but the *option* is there, at least. |
| 479 | - else |
|
| 480 | - $context['page_index'] .= ' <a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> '; |
|
| 491 | + else { |
|
| 492 | + $context['page_index'] .= ' <a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> '; |
|
| 493 | + } |
|
| 481 | 494 | } |
| 482 | 495 | |
| 483 | 496 | // Build the link tree. |
@@ -493,14 +506,16 @@ discard block |
||
| 493 | 506 | if (!empty($board_info['moderators'])) |
| 494 | 507 | { |
| 495 | 508 | // Add a link for each moderator... |
| 496 | - foreach ($board_info['moderators'] as $mod) |
|
| 497 | - $context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>'; |
|
| 509 | + foreach ($board_info['moderators'] as $mod) { |
|
| 510 | + $context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>'; |
|
| 511 | + } |
|
| 498 | 512 | } |
| 499 | 513 | if (!empty($board_info['moderator_groups'])) |
| 500 | 514 | { |
| 501 | 515 | // Add a link for each moderator group as well... |
| 502 | - foreach ($board_info['moderator_groups'] as $mod_group) |
|
| 503 | - $context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>'; |
|
| 516 | + foreach ($board_info['moderator_groups'] as $mod_group) { |
|
| 517 | + $context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>'; |
|
| 518 | + } |
|
| 504 | 519 | } |
| 505 | 520 | |
| 506 | 521 | if (!empty($context['link_moderators'])) |
@@ -531,9 +546,9 @@ discard block |
||
| 531 | 546 | // For quick reply we need a response prefix in the default forum language. |
| 532 | 547 | if (!isset($context['response_prefix']) && !($context['response_prefix'] = cache_get_data('response_prefix', 600))) |
| 533 | 548 | { |
| 534 | - if ($language === $user_info['language']) |
|
| 535 | - $context['response_prefix'] = $txt['response_prefix']; |
|
| 536 | - else |
|
| 549 | + if ($language === $user_info['language']) { |
|
| 550 | + $context['response_prefix'] = $txt['response_prefix']; |
|
| 551 | + } else |
|
| 537 | 552 | { |
| 538 | 553 | loadLanguage('index', $language, false); |
| 539 | 554 | $context['response_prefix'] = $txt['response_prefix']; |
@@ -565,8 +580,9 @@ discard block |
||
| 565 | 580 | list($start, $end, $allday, $span, $tz, $tz_abbrev) = buildEventDatetimes($row); |
| 566 | 581 | |
| 567 | 582 | // Sanity check |
| 568 | - if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) |
|
| 569 | - continue; |
|
| 583 | + if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) { |
|
| 584 | + continue; |
|
| 585 | + } |
|
| 570 | 586 | |
| 571 | 587 | $linked_calendar_event = array( |
| 572 | 588 | 'id' => $row['id_event'], |
@@ -615,8 +631,9 @@ discard block |
||
| 615 | 631 | } |
| 616 | 632 | $smcFunc['db_free_result']($request); |
| 617 | 633 | |
| 618 | - if (!empty($context['linked_calendar_events'])) |
|
| 619 | - $context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true; |
|
| 634 | + if (!empty($context['linked_calendar_events'])) { |
|
| 635 | + $context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true; |
|
| 636 | + } |
|
| 620 | 637 | } |
| 621 | 638 | |
| 622 | 639 | // Create the poll info if it exists. |
@@ -689,20 +706,21 @@ discard block |
||
| 689 | 706 | foreach ($guestinfo as $i => $guestvoted) |
| 690 | 707 | { |
| 691 | 708 | $guestvoted = explode(',', $guestvoted); |
| 692 | - if ($guestvoted[0] == $context['topicinfo']['id_poll']) |
|
| 693 | - break; |
|
| 709 | + if ($guestvoted[0] == $context['topicinfo']['id_poll']) { |
|
| 710 | + break; |
|
| 711 | + } |
|
| 694 | 712 | } |
| 695 | 713 | // Has the poll been reset since guest voted? |
| 696 | 714 | if ($pollinfo['reset_poll'] > $guestvoted[1]) |
| 697 | 715 | { |
| 698 | 716 | // Remove the poll info from the cookie to allow guest to vote again |
| 699 | 717 | unset($guestinfo[$i]); |
| 700 | - if (!empty($guestinfo)) |
|
| 701 | - $_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo); |
|
| 702 | - else |
|
| 703 | - unset($_COOKIE['guest_poll_vote']); |
|
| 704 | - } |
|
| 705 | - else |
|
| 718 | + if (!empty($guestinfo)) { |
|
| 719 | + $_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo); |
|
| 720 | + } else { |
|
| 721 | + unset($_COOKIE['guest_poll_vote']); |
|
| 722 | + } |
|
| 723 | + } else |
|
| 706 | 724 | { |
| 707 | 725 | // What did they vote for? |
| 708 | 726 | unset($guestvoted[0], $guestvoted[1]); |
@@ -816,23 +834,29 @@ discard block |
||
| 816 | 834 | // Build the poll moderation button array. |
| 817 | 835 | $context['poll_buttons'] = array(); |
| 818 | 836 | |
| 819 | - if ($context['allow_return_vote']) |
|
| 820 | - $context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 837 | + if ($context['allow_return_vote']) { |
|
| 838 | + $context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 839 | + } |
|
| 821 | 840 | |
| 822 | - if ($context['show_view_results_button']) |
|
| 823 | - $context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults'); |
|
| 841 | + if ($context['show_view_results_button']) { |
|
| 842 | + $context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults'); |
|
| 843 | + } |
|
| 824 | 844 | |
| 825 | - if ($context['allow_change_vote']) |
|
| 826 | - $context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 845 | + if ($context['allow_change_vote']) { |
|
| 846 | + $context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 847 | + } |
|
| 827 | 848 | |
| 828 | - if ($context['allow_lock_poll']) |
|
| 829 | - $context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 849 | + if ($context['allow_lock_poll']) { |
|
| 850 | + $context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 851 | + } |
|
| 830 | 852 | |
| 831 | - if ($context['allow_edit_poll']) |
|
| 832 | - $context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 853 | + if ($context['allow_edit_poll']) { |
|
| 854 | + $context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 855 | + } |
|
| 833 | 856 | |
| 834 | - if ($context['can_remove_poll']) |
|
| 835 | - $context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 857 | + if ($context['can_remove_poll']) { |
|
| 858 | + $context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 859 | + } |
|
| 836 | 860 | |
| 837 | 861 | // Allow mods to add additional buttons here |
| 838 | 862 | call_integration_hook('integrate_poll_buttons'); |
@@ -873,8 +897,9 @@ discard block |
||
| 873 | 897 | $all_posters = array(); |
| 874 | 898 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 875 | 899 | { |
| 876 | - if (!empty($row['id_member'])) |
|
| 877 | - $all_posters[$row['id_msg']] = $row['id_member']; |
|
| 900 | + if (!empty($row['id_member'])) { |
|
| 901 | + $all_posters[$row['id_msg']] = $row['id_member']; |
|
| 902 | + } |
|
| 878 | 903 | $messages[] = $row['id_msg']; |
| 879 | 904 | } |
| 880 | 905 | $smcFunc['db_free_result']($request); |
@@ -886,8 +911,9 @@ discard block |
||
| 886 | 911 | if (!$user_info['is_guest'] && !empty($messages)) |
| 887 | 912 | { |
| 888 | 913 | $mark_at_msg = max($messages); |
| 889 | - if ($mark_at_msg >= $context['topicinfo']['id_last_msg']) |
|
| 890 | - $mark_at_msg = $modSettings['maxMsgID']; |
|
| 914 | + if ($mark_at_msg >= $context['topicinfo']['id_last_msg']) { |
|
| 915 | + $mark_at_msg = $modSettings['maxMsgID']; |
|
| 916 | + } |
|
| 891 | 917 | if ($mark_at_msg >= $context['topicinfo']['new_from']) |
| 892 | 918 | { |
| 893 | 919 | $smcFunc['db_insert']($context['topicinfo']['new_from'] == 0 ? 'ignore' : 'replace', |
@@ -919,8 +945,9 @@ discard block |
||
| 919 | 945 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 920 | 946 | { |
| 921 | 947 | // Find if this topic is marked for notification... |
| 922 | - if (!empty($row['id_topic'])) |
|
| 923 | - $context['is_marked_notify'] = true; |
|
| 948 | + if (!empty($row['id_topic'])) { |
|
| 949 | + $context['is_marked_notify'] = true; |
|
| 950 | + } |
|
| 924 | 951 | |
| 925 | 952 | // Only do this once, but mark the notifications as "not sent yet" for next time. |
| 926 | 953 | if (!empty($row['sent']) && $do_once) |
@@ -942,8 +969,9 @@ discard block |
||
| 942 | 969 | } |
| 943 | 970 | |
| 944 | 971 | // Have we recently cached the number of new topics in this board, and it's still a lot? |
| 945 | - if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5) |
|
| 946 | - $_SESSION['topicseen_cache'][$board]--; |
|
| 972 | + if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5) { |
|
| 973 | + $_SESSION['topicseen_cache'][$board]--; |
|
| 974 | + } |
|
| 947 | 975 | // Mark board as seen if this is the only new topic. |
| 948 | 976 | elseif (isset($_REQUEST['topicseen'])) |
| 949 | 977 | { |
@@ -967,14 +995,16 @@ discard block |
||
| 967 | 995 | $smcFunc['db_free_result']($request); |
| 968 | 996 | |
| 969 | 997 | // If there're no real new topics in this board, mark the board as seen. |
| 970 | - if (empty($numNewTopics)) |
|
| 971 | - $_REQUEST['boardseen'] = true; |
|
| 972 | - else |
|
| 973 | - $_SESSION['topicseen_cache'][$board] = $numNewTopics; |
|
| 998 | + if (empty($numNewTopics)) { |
|
| 999 | + $_REQUEST['boardseen'] = true; |
|
| 1000 | + } else { |
|
| 1001 | + $_SESSION['topicseen_cache'][$board] = $numNewTopics; |
|
| 1002 | + } |
|
| 974 | 1003 | } |
| 975 | 1004 | // Probably one less topic - maybe not, but even if we decrease this too fast it will only make us look more often. |
| 976 | - elseif (isset($_SESSION['topicseen_cache'][$board])) |
|
| 977 | - $_SESSION['topicseen_cache'][$board]--; |
|
| 1005 | + elseif (isset($_SESSION['topicseen_cache'][$board])) { |
|
| 1006 | + $_SESSION['topicseen_cache'][$board]--; |
|
| 1007 | + } |
|
| 978 | 1008 | |
| 979 | 1009 | // Mark board as seen if we came using last post link from BoardIndex. (or other places...) |
| 980 | 1010 | if (isset($_REQUEST['boardseen'])) |
@@ -1031,23 +1061,26 @@ discard block |
||
| 1031 | 1061 | $temp = array(); |
| 1032 | 1062 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 1033 | 1063 | { |
| 1034 | - if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id'])) |
|
| 1035 | - continue; |
|
| 1064 | + if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id'])) { |
|
| 1065 | + continue; |
|
| 1066 | + } |
|
| 1036 | 1067 | |
| 1037 | 1068 | $temp[$row['id_attach']] = $row; |
| 1038 | 1069 | $temp[$row['id_attach']]['topic'] = $topic; |
| 1039 | 1070 | $temp[$row['id_attach']]['board'] = $board; |
| 1040 | 1071 | |
| 1041 | - if (!isset($context['loaded_attachments'][$row['id_msg']])) |
|
| 1042 | - $context['loaded_attachments'][$row['id_msg']] = array(); |
|
| 1072 | + if (!isset($context['loaded_attachments'][$row['id_msg']])) { |
|
| 1073 | + $context['loaded_attachments'][$row['id_msg']] = array(); |
|
| 1074 | + } |
|
| 1043 | 1075 | } |
| 1044 | 1076 | $smcFunc['db_free_result']($request); |
| 1045 | 1077 | |
| 1046 | 1078 | // This is better than sorting it with the query... |
| 1047 | 1079 | ksort($temp); |
| 1048 | 1080 | |
| 1049 | - foreach ($temp as $row) |
|
| 1050 | - $context['loaded_attachments'][$row['id_msg']][] = $row; |
|
| 1081 | + foreach ($temp as $row) { |
|
| 1082 | + $context['loaded_attachments'][$row['id_msg']][] = $row; |
|
| 1083 | + } |
|
| 1051 | 1084 | } |
| 1052 | 1085 | |
| 1053 | 1086 | $msg_parameters = array( |
@@ -1074,21 +1107,23 @@ discard block |
||
| 1074 | 1107 | ); |
| 1075 | 1108 | |
| 1076 | 1109 | // And the likes |
| 1077 | - if (!empty($modSettings['enable_likes'])) |
|
| 1078 | - $context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic); |
|
| 1110 | + if (!empty($modSettings['enable_likes'])) { |
|
| 1111 | + $context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic); |
|
| 1112 | + } |
|
| 1079 | 1113 | |
| 1080 | 1114 | // Go to the last message if the given time is beyond the time of the last message. |
| 1081 | - if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies']) |
|
| 1082 | - $context['start_from'] = $context['topicinfo']['num_replies']; |
|
| 1115 | + if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies']) { |
|
| 1116 | + $context['start_from'] = $context['topicinfo']['num_replies']; |
|
| 1117 | + } |
|
| 1083 | 1118 | |
| 1084 | 1119 | // Since the anchor information is needed on the top of the page we load these variables beforehand. |
| 1085 | 1120 | $context['first_message'] = isset($messages[$firstIndex]) ? $messages[$firstIndex] : $messages[0]; |
| 1086 | - if (empty($options['view_newest_first'])) |
|
| 1087 | - $context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from']; |
|
| 1088 | - else |
|
| 1089 | - $context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from']; |
|
| 1090 | - } |
|
| 1091 | - else |
|
| 1121 | + if (empty($options['view_newest_first'])) { |
|
| 1122 | + $context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from']; |
|
| 1123 | + } else { |
|
| 1124 | + $context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from']; |
|
| 1125 | + } |
|
| 1126 | + } else |
|
| 1092 | 1127 | { |
| 1093 | 1128 | $messages_request = false; |
| 1094 | 1129 | $context['first_message'] = 0; |
@@ -1124,8 +1159,9 @@ discard block |
||
| 1124 | 1159 | 'can_see_likes' => 'likes_view', |
| 1125 | 1160 | 'can_like' => 'likes_like', |
| 1126 | 1161 | ); |
| 1127 | - foreach ($common_permissions as $contextual => $perm) |
|
| 1128 | - $context[$contextual] = allowedTo($perm); |
|
| 1162 | + foreach ($common_permissions as $contextual => $perm) { |
|
| 1163 | + $context[$contextual] = allowedTo($perm); |
|
| 1164 | + } |
|
| 1129 | 1165 | |
| 1130 | 1166 | // Permissions with _any/_own versions. $context[YYY] => ZZZ_any/_own. |
| 1131 | 1167 | $anyown_permissions = array( |
@@ -1138,8 +1174,9 @@ discard block |
||
| 1138 | 1174 | 'can_reply_unapproved' => 'post_unapproved_replies', |
| 1139 | 1175 | 'can_view_warning' => 'profile_warning', |
| 1140 | 1176 | ); |
| 1141 | - foreach ($anyown_permissions as $contextual => $perm) |
|
| 1142 | - $context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own')); |
|
| 1177 | + foreach ($anyown_permissions as $contextual => $perm) { |
|
| 1178 | + $context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own')); |
|
| 1179 | + } |
|
| 1143 | 1180 | |
| 1144 | 1181 | if (!$user_info['is_admin'] && !$modSettings['topic_move_any']) |
| 1145 | 1182 | { |
@@ -1185,8 +1222,9 @@ discard block |
||
| 1185 | 1222 | // Check if the draft functions are enabled and that they have permission to use them (for quick reply.) |
| 1186 | 1223 | $context['drafts_save'] = !empty($modSettings['drafts_post_enabled']) && allowedTo('post_draft') && $context['can_reply']; |
| 1187 | 1224 | $context['drafts_autosave'] = !empty($context['drafts_save']) && !empty($modSettings['drafts_autosave_enabled']); |
| 1188 | - if (!empty($context['drafts_save'])) |
|
| 1189 | - loadLanguage('Drafts'); |
|
| 1225 | + if (!empty($context['drafts_save'])) { |
|
| 1226 | + loadLanguage('Drafts'); |
|
| 1227 | + } |
|
| 1190 | 1228 | |
| 1191 | 1229 | // When was the last time this topic was replied to? Should we warn them about it? |
| 1192 | 1230 | if (!empty($modSettings['oldTopicDays']) && ($context['can_reply'] || $context['can_reply_unapproved']) && empty($context['topicinfo']['is_sticky'])) |
@@ -1247,26 +1285,31 @@ discard block |
||
| 1247 | 1285 | // Message icons - customized icons are off? |
| 1248 | 1286 | $context['icons'] = getMessageIcons($board); |
| 1249 | 1287 | |
| 1250 | - if (!empty($context['icons'])) |
|
| 1251 | - $context['icons'][count($context['icons']) - 1]['is_last'] = true; |
|
| 1288 | + if (!empty($context['icons'])) { |
|
| 1289 | + $context['icons'][count($context['icons']) - 1]['is_last'] = true; |
|
| 1290 | + } |
|
| 1252 | 1291 | |
| 1253 | 1292 | // Build the normal button array. |
| 1254 | 1293 | $context['normal_buttons'] = array(); |
| 1255 | 1294 | |
| 1256 | - if ($context['can_reply']) |
|
| 1257 | - $context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true); |
|
| 1295 | + if ($context['can_reply']) { |
|
| 1296 | + $context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true); |
|
| 1297 | + } |
|
| 1258 | 1298 | |
| 1259 | - if ($context['can_add_poll']) |
|
| 1260 | - $context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 1299 | + if ($context['can_add_poll']) { |
|
| 1300 | + $context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']); |
|
| 1301 | + } |
|
| 1261 | 1302 | |
| 1262 | - if ($context['can_mark_unread']) |
|
| 1263 | - $context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1303 | + if ($context['can_mark_unread']) { |
|
| 1304 | + $context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1305 | + } |
|
| 1264 | 1306 | |
| 1265 | - if ($context['can_print']) |
|
| 1266 | - $context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0'); |
|
| 1307 | + if ($context['can_print']) { |
|
| 1308 | + $context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0'); |
|
| 1309 | + } |
|
| 1267 | 1310 | |
| 1268 | - if ($context['can_set_notify']) |
|
| 1269 | - $context['normal_buttons']['notify'] = array( |
|
| 1311 | + if ($context['can_set_notify']) { |
|
| 1312 | + $context['normal_buttons']['notify'] = array( |
|
| 1270 | 1313 | 'text' => 'notify_topic_' . $context['topic_notification_mode'], |
| 1271 | 1314 | 'sub_buttons' => array( |
| 1272 | 1315 | array( |
@@ -1288,38 +1331,47 @@ discard block |
||
| 1288 | 1331 | ), |
| 1289 | 1332 | ), |
| 1290 | 1333 | ); |
| 1334 | + } |
|
| 1291 | 1335 | |
| 1292 | 1336 | // Build the mod button array |
| 1293 | 1337 | $context['mod_buttons'] = array(); |
| 1294 | 1338 | |
| 1295 | - if ($context['can_move']) |
|
| 1296 | - $context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0'); |
|
| 1339 | + if ($context['can_move']) { |
|
| 1340 | + $context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0'); |
|
| 1341 | + } |
|
| 1297 | 1342 | |
| 1298 | - if ($context['can_delete']) |
|
| 1299 | - $context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1343 | + if ($context['can_delete']) { |
|
| 1344 | + $context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1345 | + } |
|
| 1300 | 1346 | |
| 1301 | - if ($context['can_lock']) |
|
| 1302 | - $context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1347 | + if ($context['can_lock']) { |
|
| 1348 | + $context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1349 | + } |
|
| 1303 | 1350 | |
| 1304 | - if ($context['can_sticky']) |
|
| 1305 | - $context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1351 | + if ($context['can_sticky']) { |
|
| 1352 | + $context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1353 | + } |
|
| 1306 | 1354 | |
| 1307 | - if ($context['can_merge']) |
|
| 1308 | - $context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']); |
|
| 1355 | + if ($context['can_merge']) { |
|
| 1356 | + $context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']); |
|
| 1357 | + } |
|
| 1309 | 1358 | |
| 1310 | - if ($context['calendar_post']) |
|
| 1311 | - $context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0'); |
|
| 1359 | + if ($context['calendar_post']) { |
|
| 1360 | + $context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0'); |
|
| 1361 | + } |
|
| 1312 | 1362 | |
| 1313 | 1363 | // Restore topic. eh? No monkey business. |
| 1314 | - if ($context['can_restore_topic']) |
|
| 1315 | - $context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1364 | + if ($context['can_restore_topic']) { |
|
| 1365 | + $context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1366 | + } |
|
| 1316 | 1367 | |
| 1317 | 1368 | // Show a message in case a recently posted message became unapproved. |
| 1318 | 1369 | $context['becomesUnapproved'] = !empty($_SESSION['becomesUnapproved']) ? true : false; |
| 1319 | 1370 | |
| 1320 | 1371 | // Don't want to show this forever... |
| 1321 | - if ($context['becomesUnapproved']) |
|
| 1322 | - unset($_SESSION['becomesUnapproved']); |
|
| 1372 | + if ($context['becomesUnapproved']) { |
|
| 1373 | + unset($_SESSION['becomesUnapproved']); |
|
| 1374 | + } |
|
| 1323 | 1375 | |
| 1324 | 1376 | // Allow adding new mod buttons easily. |
| 1325 | 1377 | // Note: $context['normal_buttons'] and $context['mod_buttons'] are added for backward compatibility with 2.0, but are deprecated and should not be used |
@@ -1328,12 +1380,14 @@ discard block |
||
| 1328 | 1380 | call_integration_hook('integrate_mod_buttons', array(&$context['mod_buttons'])); |
| 1329 | 1381 | |
| 1330 | 1382 | // Load the drafts js file |
| 1331 | - if ($context['drafts_autosave']) |
|
| 1332 | - loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts'); |
|
| 1383 | + if ($context['drafts_autosave']) { |
|
| 1384 | + loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts'); |
|
| 1385 | + } |
|
| 1333 | 1386 | |
| 1334 | 1387 | // Spellcheck |
| 1335 | - if ($context['show_spellchecking']) |
|
| 1336 | - loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck'); |
|
| 1388 | + if ($context['show_spellchecking']) { |
|
| 1389 | + loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck'); |
|
| 1390 | + } |
|
| 1337 | 1391 | |
| 1338 | 1392 | // topic.js |
| 1339 | 1393 | loadJavaScriptFile('topic.js', array('defer' => false), 'smf_topic'); |
@@ -1367,16 +1421,19 @@ discard block |
||
| 1367 | 1421 | static $counter = null; |
| 1368 | 1422 | |
| 1369 | 1423 | // If the query returned false, bail. |
| 1370 | - if ($messages_request == false) |
|
| 1371 | - return false; |
|
| 1424 | + if ($messages_request == false) { |
|
| 1425 | + return false; |
|
| 1426 | + } |
|
| 1372 | 1427 | |
| 1373 | 1428 | // Remember which message this is. (ie. reply #83) |
| 1374 | - if ($counter === null || $reset) |
|
| 1375 | - $counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start']; |
|
| 1429 | + if ($counter === null || $reset) { |
|
| 1430 | + $counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start']; |
|
| 1431 | + } |
|
| 1376 | 1432 | |
| 1377 | 1433 | // Start from the beginning... |
| 1378 | - if ($reset) |
|
| 1379 | - return @$smcFunc['db_data_seek']($messages_request, 0); |
|
| 1434 | + if ($reset) { |
|
| 1435 | + return @$smcFunc['db_data_seek']($messages_request, 0); |
|
| 1436 | + } |
|
| 1380 | 1437 | |
| 1381 | 1438 | // Attempt to get the next message. |
| 1382 | 1439 | $message = $smcFunc['db_fetch_assoc']($messages_request); |
@@ -1390,19 +1447,21 @@ discard block |
||
| 1390 | 1447 | if (empty($context['icon_sources'])) |
| 1391 | 1448 | { |
| 1392 | 1449 | $context['icon_sources'] = array(); |
| 1393 | - foreach ($context['stable_icons'] as $icon) |
|
| 1394 | - $context['icon_sources'][$icon] = 'images_url'; |
|
| 1450 | + foreach ($context['stable_icons'] as $icon) { |
|
| 1451 | + $context['icon_sources'][$icon] = 'images_url'; |
|
| 1452 | + } |
|
| 1395 | 1453 | } |
| 1396 | 1454 | |
| 1397 | 1455 | // Message Icon Management... check the images exist. |
| 1398 | 1456 | if (empty($modSettings['messageIconChecks_disable'])) |
| 1399 | 1457 | { |
| 1400 | 1458 | // If the current icon isn't known, then we need to do something... |
| 1401 | - if (!isset($context['icon_sources'][$message['icon']])) |
|
| 1402 | - $context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 1459 | + if (!isset($context['icon_sources'][$message['icon']])) { |
|
| 1460 | + $context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 1461 | + } |
|
| 1462 | + } elseif (!isset($context['icon_sources'][$message['icon']])) { |
|
| 1463 | + $context['icon_sources'][$message['icon']] = 'images_url'; |
|
| 1403 | 1464 | } |
| 1404 | - elseif (!isset($context['icon_sources'][$message['icon']])) |
|
| 1405 | - $context['icon_sources'][$message['icon']] = 'images_url'; |
|
| 1406 | 1465 | |
| 1407 | 1466 | // If you're a lazy bum, you probably didn't give a subject... |
| 1408 | 1467 | $message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject']; |
@@ -1427,8 +1486,7 @@ discard block |
||
| 1427 | 1486 | $memberContext[$message['id_member']]['email'] = $message['poster_email']; |
| 1428 | 1487 | $memberContext[$message['id_member']]['show_email'] = allowedTo('moderate_forum'); |
| 1429 | 1488 | $memberContext[$message['id_member']]['is_guest'] = true; |
| 1430 | - } |
|
| 1431 | - else |
|
| 1489 | + } else |
|
| 1432 | 1490 | { |
| 1433 | 1491 | // Define this here to make things a bit more readable |
| 1434 | 1492 | $can_view_warning = $context['user']['can_mod'] || allowedTo('view_warning_any') || ($message['id_member'] == $user_info['id'] && allowedTo('view_warning_own')); |
@@ -1451,8 +1509,9 @@ discard block |
||
| 1451 | 1509 | $message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']); |
| 1452 | 1510 | |
| 1453 | 1511 | // If it's in the recycle bin we need to override whatever icon we did have. |
| 1454 | - if (!empty($board_info['recycle'])) |
|
| 1455 | - $message['icon'] = 'recycled'; |
|
| 1512 | + if (!empty($board_info['recycle'])) { |
|
| 1513 | + $message['icon'] = 'recycled'; |
|
| 1514 | + } |
|
| 1456 | 1515 | |
| 1457 | 1516 | require_once($sourcedir . '/Subs-Attachments.php'); |
| 1458 | 1517 | |
@@ -1496,32 +1555,36 @@ discard block |
||
| 1496 | 1555 | } |
| 1497 | 1556 | |
| 1498 | 1557 | // Are likes enable? |
| 1499 | - if (!empty($modSettings['enable_likes'])) |
|
| 1500 | - $output['likes'] = array( |
|
| 1558 | + if (!empty($modSettings['enable_likes'])) { |
|
| 1559 | + $output['likes'] = array( |
|
| 1501 | 1560 | 'count' => $message['likes'], |
| 1502 | 1561 | 'you' => in_array($message['id_msg'], $context['my_likes']), |
| 1503 | 1562 | 'can_like' => !$context['user']['is_guest'] && $message['id_member'] != $context['user']['id'] && !empty($context['can_like']), |
| 1504 | 1563 | ); |
| 1564 | + } |
|
| 1505 | 1565 | |
| 1506 | 1566 | // Is this user the message author? |
| 1507 | 1567 | $output['is_message_author'] = $message['id_member'] == $user_info['id']; |
| 1508 | - if (!empty($output['modified']['name'])) |
|
| 1509 | - $output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']); |
|
| 1568 | + if (!empty($output['modified']['name'])) { |
|
| 1569 | + $output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']); |
|
| 1570 | + } |
|
| 1510 | 1571 | |
| 1511 | 1572 | // Did they give a reason for editing? |
| 1512 | - if (!empty($output['modified']['name']) && !empty($output['modified']['reason'])) |
|
| 1513 | - $output['modified']['last_edit_text'] .= ' ' . sprintf($txt['last_edit_reason'], $output['modified']['reason']); |
|
| 1573 | + if (!empty($output['modified']['name']) && !empty($output['modified']['reason'])) { |
|
| 1574 | + $output['modified']['last_edit_text'] .= ' ' . sprintf($txt['last_edit_reason'], $output['modified']['reason']); |
|
| 1575 | + } |
|
| 1514 | 1576 | |
| 1515 | 1577 | // Any custom profile fields? |
| 1516 | - if (!empty($memberContext[$message['id_member']]['custom_fields'])) |
|
| 1517 | - foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom) |
|
| 1578 | + if (!empty($memberContext[$message['id_member']]['custom_fields'])) { |
|
| 1579 | + foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom) |
|
| 1518 | 1580 | $output['custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom; |
| 1581 | + } |
|
| 1519 | 1582 | |
| 1520 | - if (empty($options['view_newest_first'])) |
|
| 1521 | - $counter++; |
|
| 1522 | - |
|
| 1523 | - else |
|
| 1524 | - $counter--; |
|
| 1583 | + if (empty($options['view_newest_first'])) { |
|
| 1584 | + $counter++; |
|
| 1585 | + } else { |
|
| 1586 | + $counter--; |
|
| 1587 | + } |
|
| 1525 | 1588 | |
| 1526 | 1589 | call_integration_hook('integrate_prepare_display_context', array(&$output, &$message, $counter)); |
| 1527 | 1590 | |
@@ -1547,21 +1610,23 @@ discard block |
||
| 1547 | 1610 | $context['no_last_modified'] = true; |
| 1548 | 1611 | |
| 1549 | 1612 | // Prevent a preview image from being displayed twice. |
| 1550 | - if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview')) |
|
| 1551 | - return; |
|
| 1613 | + if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview')) { |
|
| 1614 | + return; |
|
| 1615 | + } |
|
| 1552 | 1616 | |
| 1553 | 1617 | // Make sure some attachment was requested! |
| 1554 | - if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id'])) |
|
| 1555 | - fatal_lang_error('no_access', false); |
|
| 1618 | + if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id'])) { |
|
| 1619 | + fatal_lang_error('no_access', false); |
|
| 1620 | + } |
|
| 1556 | 1621 | |
| 1557 | 1622 | $_REQUEST['attach'] = isset($_REQUEST['attach']) ? (int) $_REQUEST['attach'] : (int) $_REQUEST['id']; |
| 1558 | 1623 | |
| 1559 | 1624 | // Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request. |
| 1560 | 1625 | $attachRequest = null; |
| 1561 | 1626 | call_integration_hook('integrate_download_request', array(&$attachRequest)); |
| 1562 | - if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) |
|
| 1563 | - $request = $attachRequest; |
|
| 1564 | - else |
|
| 1627 | + if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) { |
|
| 1628 | + $request = $attachRequest; |
|
| 1629 | + } else |
|
| 1565 | 1630 | { |
| 1566 | 1631 | // This checks only the current board for $board/$topic's permissions. |
| 1567 | 1632 | isAllowedTo('view_attachments'); |
@@ -1582,19 +1647,21 @@ discard block |
||
| 1582 | 1647 | ); |
| 1583 | 1648 | } |
| 1584 | 1649 | |
| 1585 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 1586 | - fatal_lang_error('no_access', false); |
|
| 1650 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 1651 | + fatal_lang_error('no_access', false); |
|
| 1652 | + } |
|
| 1587 | 1653 | |
| 1588 | 1654 | list ($id_folder, $real_filename, $file_hash, $file_ext, $id_attach, $attachment_type, $mime_type, $is_approved, $id_member) = $smcFunc['db_fetch_row']($request); |
| 1589 | 1655 | $smcFunc['db_free_result']($request); |
| 1590 | 1656 | |
| 1591 | 1657 | // If it isn't yet approved, do they have permission to view it? |
| 1592 | - if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3)) |
|
| 1593 | - isAllowedTo('approve_posts'); |
|
| 1658 | + if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3)) { |
|
| 1659 | + isAllowedTo('approve_posts'); |
|
| 1660 | + } |
|
| 1594 | 1661 | |
| 1595 | 1662 | // Update the download counter (unless it's a thumbnail). |
| 1596 | - if ($attachment_type != 3) |
|
| 1597 | - $smcFunc['db_query']('attach_download_increase', ' |
|
| 1663 | + if ($attachment_type != 3) { |
|
| 1664 | + $smcFunc['db_query']('attach_download_increase', ' |
|
| 1598 | 1665 | UPDATE LOW_PRIORITY {db_prefix}attachments |
| 1599 | 1666 | SET downloads = downloads + 1 |
| 1600 | 1667 | WHERE id_attach = {int:id_attach}', |
@@ -1602,15 +1669,15 @@ discard block |
||
| 1602 | 1669 | 'id_attach' => $id_attach, |
| 1603 | 1670 | ) |
| 1604 | 1671 | ); |
| 1672 | + } |
|
| 1605 | 1673 | |
| 1606 | 1674 | $filename = getAttachmentFilename($real_filename, $_REQUEST['attach'], $id_folder, false, $file_hash); |
| 1607 | 1675 | |
| 1608 | 1676 | // This is done to clear any output that was made before now. |
| 1609 | 1677 | ob_end_clean(); |
| 1610 | - if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java'))) |
|
| 1611 | - @ob_start('ob_gzhandler'); |
|
| 1612 | - |
|
| 1613 | - else |
|
| 1678 | + if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java'))) { |
|
| 1679 | + @ob_start('ob_gzhandler'); |
|
| 1680 | + } else |
|
| 1614 | 1681 | { |
| 1615 | 1682 | ob_start(); |
| 1616 | 1683 | header('Content-Encoding: none'); |
@@ -1653,8 +1720,9 @@ discard block |
||
| 1653 | 1720 | // Send the attachment headers. |
| 1654 | 1721 | header('Pragma: '); |
| 1655 | 1722 | |
| 1656 | - if (!isBrowser('gecko')) |
|
| 1657 | - header('Content-Transfer-Encoding: binary'); |
|
| 1723 | + if (!isBrowser('gecko')) { |
|
| 1724 | + header('Content-Transfer-Encoding: binary'); |
|
| 1725 | + } |
|
| 1658 | 1726 | |
| 1659 | 1727 | header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT'); |
| 1660 | 1728 | header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT'); |
@@ -1663,18 +1731,19 @@ discard block |
||
| 1663 | 1731 | header('ETag: ' . $eTag); |
| 1664 | 1732 | |
| 1665 | 1733 | // Make sure the mime type warrants an inline display. |
| 1666 | - if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0) |
|
| 1667 | - unset($_REQUEST['image']); |
|
| 1734 | + if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0) { |
|
| 1735 | + unset($_REQUEST['image']); |
|
| 1736 | + } |
|
| 1668 | 1737 | |
| 1669 | 1738 | // Does this have a mime type? |
| 1670 | - elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) |
|
| 1671 | - header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp'))); |
|
| 1672 | - |
|
| 1673 | - else |
|
| 1739 | + elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) { |
|
| 1740 | + header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp'))); |
|
| 1741 | + } else |
|
| 1674 | 1742 | { |
| 1675 | 1743 | header('Content-Type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream')); |
| 1676 | - if (isset($_REQUEST['image'])) |
|
| 1677 | - unset($_REQUEST['image']); |
|
| 1744 | + if (isset($_REQUEST['image'])) { |
|
| 1745 | + unset($_REQUEST['image']); |
|
| 1746 | + } |
|
| 1678 | 1747 | } |
| 1679 | 1748 | |
| 1680 | 1749 | // Convert the file to UTF-8, cuz most browsers dig that. |
@@ -1682,23 +1751,22 @@ discard block |
||
| 1682 | 1751 | $disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline'; |
| 1683 | 1752 | |
| 1684 | 1753 | // Different browsers like different standards... |
| 1685 | - if (isBrowser('firefox')) |
|
| 1686 | - header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name))); |
|
| 1687 | - |
|
| 1688 | - elseif (isBrowser('opera')) |
|
| 1689 | - header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"'); |
|
| 1690 | - |
|
| 1691 | - elseif (isBrowser('ie')) |
|
| 1692 | - header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"'); |
|
| 1693 | - |
|
| 1694 | - else |
|
| 1695 | - header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"'); |
|
| 1754 | + if (isBrowser('firefox')) { |
|
| 1755 | + header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name))); |
|
| 1756 | + } elseif (isBrowser('opera')) { |
|
| 1757 | + header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"'); |
|
| 1758 | + } elseif (isBrowser('ie')) { |
|
| 1759 | + header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"'); |
|
| 1760 | + } else { |
|
| 1761 | + header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"'); |
|
| 1762 | + } |
|
| 1696 | 1763 | |
| 1697 | 1764 | // If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE. |
| 1698 | - if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) |
|
| 1699 | - header('Cache-Control: no-cache'); |
|
| 1700 | - else |
|
| 1701 | - header('Cache-Control: max-age=' . (525600 * 60) . ', private'); |
|
| 1765 | + if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) { |
|
| 1766 | + header('Cache-Control: no-cache'); |
|
| 1767 | + } else { |
|
| 1768 | + header('Cache-Control: max-age=' . (525600 * 60) . ', private'); |
|
| 1769 | + } |
|
| 1702 | 1770 | |
| 1703 | 1771 | header('Content-Length: ' . filesize($filename)); |
| 1704 | 1772 | |
@@ -1708,20 +1776,23 @@ discard block |
||
| 1708 | 1776 | // Recode line endings for text files, if enabled. |
| 1709 | 1777 | if (!empty($modSettings['attachmentRecodeLineEndings']) && !isset($_REQUEST['image']) && in_array($file_ext, array('txt', 'css', 'htm', 'html', 'php', 'xml'))) |
| 1710 | 1778 | { |
| 1711 | - if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false) |
|
| 1712 | - $callback = function($buffer) |
|
| 1779 | + if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false) { |
|
| 1780 | + $callback = function($buffer) |
|
| 1713 | 1781 | { |
| 1714 | 1782 | return preg_replace('~[\r]?\n~', "\r\n", $buffer); |
| 1783 | + } |
|
| 1715 | 1784 | }; |
| 1716 | - elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) |
|
| 1717 | - $callback = function($buffer) |
|
| 1785 | + elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) { |
|
| 1786 | + $callback = function($buffer) |
|
| 1718 | 1787 | { |
| 1719 | 1788 | return preg_replace('~[\r]?\n~', "\r", $buffer); |
| 1789 | + } |
|
| 1720 | 1790 | }; |
| 1721 | - else |
|
| 1722 | - $callback = function($buffer) |
|
| 1791 | + else { |
|
| 1792 | + $callback = function($buffer) |
|
| 1723 | 1793 | { |
| 1724 | 1794 | return preg_replace('~[\r]?\n~', "\n", $buffer); |
| 1795 | + } |
|
| 1725 | 1796 | }; |
| 1726 | 1797 | } |
| 1727 | 1798 | |
@@ -1729,23 +1800,26 @@ discard block |
||
| 1729 | 1800 | if (filesize($filename) > 4194304) |
| 1730 | 1801 | { |
| 1731 | 1802 | // Forcibly end any output buffering going on. |
| 1732 | - while (@ob_get_level() > 0) |
|
| 1733 | - @ob_end_clean(); |
|
| 1803 | + while (@ob_get_level() > 0) { |
|
| 1804 | + @ob_end_clean(); |
|
| 1805 | + } |
|
| 1734 | 1806 | |
| 1735 | 1807 | $fp = fopen($filename, 'rb'); |
| 1736 | 1808 | while (!feof($fp)) |
| 1737 | 1809 | { |
| 1738 | - if (isset($callback)) |
|
| 1739 | - echo $callback(fread($fp, 8192)); |
|
| 1740 | - else |
|
| 1741 | - echo fread($fp, 8192); |
|
| 1810 | + if (isset($callback)) { |
|
| 1811 | + echo $callback(fread($fp, 8192)); |
|
| 1812 | + } else { |
|
| 1813 | + echo fread($fp, 8192); |
|
| 1814 | + } |
|
| 1742 | 1815 | flush(); |
| 1743 | 1816 | } |
| 1744 | 1817 | fclose($fp); |
| 1745 | 1818 | } |
| 1746 | 1819 | // On some of the less-bright hosts, readfile() is disabled. It's just a faster, more byte safe, version of what's in the if. |
| 1747 | - elseif (isset($callback) || @readfile($filename) === null) |
|
| 1748 | - echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename); |
|
| 1820 | + elseif (isset($callback) || @readfile($filename) === null) { |
|
| 1821 | + echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename); |
|
| 1822 | + } |
|
| 1749 | 1823 | |
| 1750 | 1824 | obExit(false); |
| 1751 | 1825 | } |
@@ -1758,8 +1832,9 @@ discard block |
||
| 1758 | 1832 | */ |
| 1759 | 1833 | function approved_attach_sort($a, $b) |
| 1760 | 1834 | { |
| 1761 | - if ($a['is_approved'] == $b['is_approved']) |
|
| 1762 | - return 0; |
|
| 1835 | + if ($a['is_approved'] == $b['is_approved']) { |
|
| 1836 | + return 0; |
|
| 1837 | + } |
|
| 1763 | 1838 | |
| 1764 | 1839 | return $a['is_approved'] > $b['is_approved'] ? -1 : 1; |
| 1765 | 1840 | } |
@@ -1776,16 +1851,19 @@ discard block |
||
| 1776 | 1851 | |
| 1777 | 1852 | require_once($sourcedir . '/RemoveTopic.php'); |
| 1778 | 1853 | |
| 1779 | - if (empty($_REQUEST['msgs'])) |
|
| 1780 | - redirectexit('topic=' . $topic . '.' . $_REQUEST['start']); |
|
| 1854 | + if (empty($_REQUEST['msgs'])) { |
|
| 1855 | + redirectexit('topic=' . $topic . '.' . $_REQUEST['start']); |
|
| 1856 | + } |
|
| 1781 | 1857 | |
| 1782 | 1858 | $messages = array(); |
| 1783 | - foreach ($_REQUEST['msgs'] as $dummy) |
|
| 1784 | - $messages[] = (int) $dummy; |
|
| 1859 | + foreach ($_REQUEST['msgs'] as $dummy) { |
|
| 1860 | + $messages[] = (int) $dummy; |
|
| 1861 | + } |
|
| 1785 | 1862 | |
| 1786 | 1863 | // We are restoring messages. We handle this in another place. |
| 1787 | - if (isset($_REQUEST['restore_selected'])) |
|
| 1788 | - redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1864 | + if (isset($_REQUEST['restore_selected'])) { |
|
| 1865 | + redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
| 1866 | + } |
|
| 1789 | 1867 | if (isset($_REQUEST['split_selection'])) |
| 1790 | 1868 | { |
| 1791 | 1869 | $request = $smcFunc['db_query']('', ' |
@@ -1804,8 +1882,9 @@ discard block |
||
| 1804 | 1882 | } |
| 1805 | 1883 | |
| 1806 | 1884 | // Allowed to delete any message? |
| 1807 | - if (allowedTo('delete_any')) |
|
| 1808 | - $allowed_all = true; |
|
| 1885 | + if (allowedTo('delete_any')) { |
|
| 1886 | + $allowed_all = true; |
|
| 1887 | + } |
|
| 1809 | 1888 | // Allowed to delete replies to their messages? |
| 1810 | 1889 | elseif (allowedTo('delete_replies')) |
| 1811 | 1890 | { |
@@ -1822,13 +1901,14 @@ discard block |
||
| 1822 | 1901 | $smcFunc['db_free_result']($request); |
| 1823 | 1902 | |
| 1824 | 1903 | $allowed_all = $starter == $user_info['id']; |
| 1904 | + } else { |
|
| 1905 | + $allowed_all = false; |
|
| 1825 | 1906 | } |
| 1826 | - else |
|
| 1827 | - $allowed_all = false; |
|
| 1828 | 1907 | |
| 1829 | 1908 | // Make sure they're allowed to delete their own messages, if not any. |
| 1830 | - if (!$allowed_all) |
|
| 1831 | - isAllowedTo('delete_own'); |
|
| 1909 | + if (!$allowed_all) { |
|
| 1910 | + isAllowedTo('delete_own'); |
|
| 1911 | + } |
|
| 1832 | 1912 | |
| 1833 | 1913 | // Allowed to remove which messages? |
| 1834 | 1914 | $request = $smcFunc['db_query']('', ' |
@@ -1848,8 +1928,9 @@ discard block |
||
| 1848 | 1928 | $messages = array(); |
| 1849 | 1929 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 1850 | 1930 | { |
| 1851 | - if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time()) |
|
| 1852 | - continue; |
|
| 1931 | + if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time()) { |
|
| 1932 | + continue; |
|
| 1933 | + } |
|
| 1853 | 1934 | |
| 1854 | 1935 | $messages[$row['id_msg']] = array($row['subject'], $row['id_member']); |
| 1855 | 1936 | } |
@@ -1872,17 +1953,20 @@ discard block |
||
| 1872 | 1953 | foreach ($messages as $message => $info) |
| 1873 | 1954 | { |
| 1874 | 1955 | // Just skip the first message - if it's not the last. |
| 1875 | - if ($message == $first_message && $message != $last_message) |
|
| 1876 | - continue; |
|
| 1956 | + if ($message == $first_message && $message != $last_message) { |
|
| 1957 | + continue; |
|
| 1958 | + } |
|
| 1877 | 1959 | // If the first message is going then don't bother going back to the topic as we're effectively deleting it. |
| 1878 | - elseif ($message == $first_message) |
|
| 1879 | - $topicGone = true; |
|
| 1960 | + elseif ($message == $first_message) { |
|
| 1961 | + $topicGone = true; |
|
| 1962 | + } |
|
| 1880 | 1963 | |
| 1881 | 1964 | removeMessage($message); |
| 1882 | 1965 | |
| 1883 | 1966 | // Log this moderation action ;). |
| 1884 | - if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) |
|
| 1885 | - logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board)); |
|
| 1967 | + if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) { |
|
| 1968 | + logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board)); |
|
| 1969 | + } |
|
| 1886 | 1970 | } |
| 1887 | 1971 | |
| 1888 | 1972 | redirectexit(!empty($topicGone) ? 'board=' . $board : 'topic=' . $topic . '.' . $_REQUEST['start']); |