Gazelle/sections/inbox/forward.php
2013-09-06 08:00:41 +00:00

52 lines
1.3 KiB
PHP

<?
authorize();
$UserID = $LoggedUser['ID'];
$ConvID = $_POST['convid'];
$ReceiverID = $_POST['receiverid'];
if (!is_number($ConvID) || !is_number($ReceiverID)) {
error(404);
}
if (!check_perms('users_mod') && !isset($StaffIDs[$ReceiverID])) {
error(403);
}
$DB->query("
SELECT ConvID
FROM pm_conversations_users
WHERE UserID = '$UserID'
AND InInbox = '1'
AND (ForwardedTo = 0 OR ForwardedTo = UserID)
AND ConvID = '$ConvID'");
if (!$DB->has_results()) {
error(403);
}
$DB->query("
SELECT ConvID
FROM pm_conversations_users
WHERE UserID = '$ReceiverID'
AND (ForwardedTo = 0 OR ForwardedTo = UserID)
AND InInbox = '1'
AND ConvID = '$ConvID'");
if (!$DB->has_results()) {
$DB->query("
INSERT IGNORE INTO pm_conversations_users
(UserID, ConvID, InInbox, InSentbox, ReceivedDate)
VALUES ('$ReceiverID', '$ConvID', '1', '0', NOW())
ON DUPLICATE KEY UPDATE
ForwardedTo = 0,
UnRead = 1");
$DB->query("
UPDATE pm_conversations_users
SET ForwardedTo = '$ReceiverID'
WHERE ConvID = '$ConvID'
AND UserID = '$UserID'");
$Cache->delete_value("inbox_new_$ReceiverID");
header('Location: ' . Inbox::get_inbox_link());
} else {
error("$StaffIDs[$ReceiverID] already has this conversation in their inbox.");
header("Location: inbox.php?action=viewconv&id=$ConvID");
}
//View::show_footer();
?>