Code Duplication    Length = 28-30 lines in 2 locations

Sources/Post.php 2 locations

@@ 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']))