|
@@ 1514-1543 (lines=30) @@
|
| 1511 |
|
isAllowedTo('post_reply_own'); |
| 1512 |
|
} |
| 1513 |
|
|
| 1514 |
|
if (isset($_POST['lock'])) |
| 1515 |
|
{ |
| 1516 |
|
// Nothing is changed to the lock. |
| 1517 |
|
if ((empty($topic_info['locked']) && empty($_POST['lock'])) || (!empty($_POST['lock']) && !empty($topic_info['locked']))) |
| 1518 |
|
unset($_POST['lock']); |
| 1519 |
|
|
| 1520 |
|
// You're have no permission to lock this topic. |
| 1521 |
|
elseif (!allowedTo(array('lock_any', 'lock_own')) || (!allowedTo('lock_any') && $user_info['id'] != $topic_info['id_member_started'])) |
| 1522 |
|
unset($_POST['lock']); |
| 1523 |
|
|
| 1524 |
|
// You are allowed to (un)lock your own topic only. |
| 1525 |
|
elseif (!allowedTo('lock_any')) |
| 1526 |
|
{ |
| 1527 |
|
// You cannot override a moderator lock. |
| 1528 |
|
if ($topic_info['locked'] == 1) |
| 1529 |
|
unset($_POST['lock']); |
| 1530 |
|
|
| 1531 |
|
else |
| 1532 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 2; |
| 1533 |
|
} |
| 1534 |
|
// Hail mighty moderator, (un)lock this topic immediately. |
| 1535 |
|
else |
| 1536 |
|
{ |
| 1537 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 1; |
| 1538 |
|
|
| 1539 |
|
// Did someone (un)lock this while you were posting? |
| 1540 |
|
if (isset($_POST['already_locked']) && $_POST['already_locked'] != $topic_info['locked']) |
| 1541 |
|
$post_errors[] = 'topic_' . (empty($topic_info['locked']) ? 'un' : '') . 'locked'; |
| 1542 |
|
} |
| 1543 |
|
} |
| 1544 |
|
|
| 1545 |
|
// So you wanna (un)sticky this...let's see. |
| 1546 |
|
if (isset($_POST['sticky']) && ($_POST['sticky'] == $topic_info['is_sticky'] || !allowedTo('make_sticky'))) |
|
@@ 1631-1658 (lines=28) @@
|
| 1628 |
|
if (!empty($topic_info['locked']) && !allowedTo('moderate_board')) |
| 1629 |
|
fatal_lang_error('topic_locked', false); |
| 1630 |
|
|
| 1631 |
|
if (isset($_POST['lock'])) |
| 1632 |
|
{ |
| 1633 |
|
// Nothing changes to the lock status. |
| 1634 |
|
if ((empty($_POST['lock']) && empty($topic_info['locked'])) || (!empty($_POST['lock']) && !empty($topic_info['locked']))) |
| 1635 |
|
unset($_POST['lock']); |
| 1636 |
|
// You're simply not allowed to (un)lock this. |
| 1637 |
|
elseif (!allowedTo(array('lock_any', 'lock_own')) || (!allowedTo('lock_any') && $user_info['id'] != $topic_info['id_member_started'])) |
| 1638 |
|
unset($_POST['lock']); |
| 1639 |
|
// You're only allowed to lock your own topics. |
| 1640 |
|
elseif (!allowedTo('lock_any')) |
| 1641 |
|
{ |
| 1642 |
|
// You're not allowed to break a moderator's lock. |
| 1643 |
|
if ($topic_info['locked'] == 1) |
| 1644 |
|
unset($_POST['lock']); |
| 1645 |
|
// Lock it with a soft lock or unlock it. |
| 1646 |
|
else |
| 1647 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 2; |
| 1648 |
|
} |
| 1649 |
|
// You must be the moderator. |
| 1650 |
|
else |
| 1651 |
|
{ |
| 1652 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 1; |
| 1653 |
|
|
| 1654 |
|
// Did someone (un)lock this while you were posting? |
| 1655 |
|
if (isset($_POST['already_locked']) && $_POST['already_locked'] != $topic_info['locked']) |
| 1656 |
|
$post_errors[] = 'topic_' . (empty($topic_info['locked']) ? 'un' : '') . 'locked'; |
| 1657 |
|
} |
| 1658 |
|
} |
| 1659 |
|
|
| 1660 |
|
// Change the sticky status of this topic? |
| 1661 |
|
if (isset($_POST['sticky']) && (!allowedTo('make_sticky') || $_POST['sticky'] == $topic_info['is_sticky'])) |