|
@@ 1480-1509 (lines=30) @@
|
| 1477 |
|
isAllowedTo('post_reply_own'); |
| 1478 |
|
} |
| 1479 |
|
|
| 1480 |
|
if (isset($_POST['lock'])) |
| 1481 |
|
{ |
| 1482 |
|
// Nothing is changed to the lock. |
| 1483 |
|
if ((empty($topic_info['locked']) && empty($_POST['lock'])) || (!empty($_POST['lock']) && !empty($topic_info['locked']))) |
| 1484 |
|
unset($_POST['lock']); |
| 1485 |
|
|
| 1486 |
|
// You're have no permission to lock this topic. |
| 1487 |
|
elseif (!allowedTo(array('lock_any', 'lock_own')) || (!allowedTo('lock_any') && $user_info['id'] != $topic_info['id_member_started'])) |
| 1488 |
|
unset($_POST['lock']); |
| 1489 |
|
|
| 1490 |
|
// You are allowed to (un)lock your own topic only. |
| 1491 |
|
elseif (!allowedTo('lock_any')) |
| 1492 |
|
{ |
| 1493 |
|
// You cannot override a moderator lock. |
| 1494 |
|
if ($topic_info['locked'] == 1) |
| 1495 |
|
unset($_POST['lock']); |
| 1496 |
|
|
| 1497 |
|
else |
| 1498 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 2; |
| 1499 |
|
} |
| 1500 |
|
// Hail mighty moderator, (un)lock this topic immediately. |
| 1501 |
|
else |
| 1502 |
|
{ |
| 1503 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 1; |
| 1504 |
|
|
| 1505 |
|
// Did someone (un)lock this while you were posting? |
| 1506 |
|
if (isset($_POST['already_locked']) && $_POST['already_locked'] != $topic_info['locked']) |
| 1507 |
|
$post_errors[] = 'topic_' . (empty($topic_info['locked']) ? 'un' : '') . 'locked'; |
| 1508 |
|
} |
| 1509 |
|
} |
| 1510 |
|
|
| 1511 |
|
// So you wanna (un)sticky this...let's see. |
| 1512 |
|
if (isset($_POST['sticky']) && ($_POST['sticky'] == $topic_info['is_sticky'] || !allowedTo('make_sticky'))) |
|
@@ 1597-1624 (lines=28) @@
|
| 1594 |
|
if (!empty($topic_info['locked']) && !allowedTo('moderate_board')) |
| 1595 |
|
fatal_lang_error('topic_locked', false); |
| 1596 |
|
|
| 1597 |
|
if (isset($_POST['lock'])) |
| 1598 |
|
{ |
| 1599 |
|
// Nothing changes to the lock status. |
| 1600 |
|
if ((empty($_POST['lock']) && empty($topic_info['locked'])) || (!empty($_POST['lock']) && !empty($topic_info['locked']))) |
| 1601 |
|
unset($_POST['lock']); |
| 1602 |
|
// You're simply not allowed to (un)lock this. |
| 1603 |
|
elseif (!allowedTo(array('lock_any', 'lock_own')) || (!allowedTo('lock_any') && $user_info['id'] != $topic_info['id_member_started'])) |
| 1604 |
|
unset($_POST['lock']); |
| 1605 |
|
// You're only allowed to lock your own topics. |
| 1606 |
|
elseif (!allowedTo('lock_any')) |
| 1607 |
|
{ |
| 1608 |
|
// You're not allowed to break a moderator's lock. |
| 1609 |
|
if ($topic_info['locked'] == 1) |
| 1610 |
|
unset($_POST['lock']); |
| 1611 |
|
// Lock it with a soft lock or unlock it. |
| 1612 |
|
else |
| 1613 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 2; |
| 1614 |
|
} |
| 1615 |
|
// You must be the moderator. |
| 1616 |
|
else |
| 1617 |
|
{ |
| 1618 |
|
$_POST['lock'] = empty($_POST['lock']) ? 0 : 1; |
| 1619 |
|
|
| 1620 |
|
// Did someone (un)lock this while you were posting? |
| 1621 |
|
if (isset($_POST['already_locked']) && $_POST['already_locked'] != $topic_info['locked']) |
| 1622 |
|
$post_errors[] = 'topic_' . (empty($topic_info['locked']) ? 'un' : '') . 'locked'; |
| 1623 |
|
} |
| 1624 |
|
} |
| 1625 |
|
|
| 1626 |
|
// Change the sticky status of this topic? |
| 1627 |
|
if (isset($_POST['sticky']) && (!allowedTo('make_sticky') || $_POST['sticky'] == $topic_info['is_sticky'])) |