From 5b638d9f17cd76636db38061e4c2f03cb4ff55aa Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Tue, 26 Jul 2011 16:00:20 +1000 Subject: [PATCH] fixed various bugs to do with the display of PMs --- mod.php | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/mod.php b/mod.php index 4a76df8f..91c27354 100644 --- a/mod.php +++ b/mod.php @@ -670,9 +670,9 @@ $id = &$match[1]; if($mod['type'] >= $config['mod']['master_pm']) { - $query = prepare("SELECT `pms`.`id`, `time`, `sender`, `to`, `message`, `username` FROM `pms` LEFT JOIN `mods` ON `mods`.`id` = `sender` WHERE `pms`.`id` = :id"); + $query = prepare("SELECT `pms`.`id`, `time`, `sender`, `unread`, `to`, `message`, `username` FROM `pms` LEFT JOIN `mods` ON `mods`.`id` = `sender` WHERE `pms`.`id` = :id"); } else { - $query = prepare("SELECT `pms`.`id`, `time`, `sender`, `to`, `message`, `username` FROM `pms` LEFT JOIN `mods` ON `mods`.`id` = `sender` WHERE `pms`.`id` = :id AND `to` = :mod"); + $query = prepare("SELECT `pms`.`id`, `time`, `sender`, `unread`, `to`, `message`, `username` FROM `pms` LEFT JOIN `mods` ON `mods`.`id` = `sender` WHERE `pms`.`id` = :id AND `to` = :mod"); $query->bindValue(':mod', $mod['id'], PDO::PARAM_INT); } @@ -693,9 +693,13 @@ header('Location: ?/', true, $config['redirect_http']); } else { - $query = prepare("UPDATE `pms` SET `unread` = 0 WHERE `id` = :id"); - $query->bindValue(':id', $id, PDO::PARAM_INT); - $query->execute() or error(db_error($query)); + if($pm['unread']) { + $query = prepare("UPDATE `pms` SET `unread` = 0 WHERE `id` = :id"); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->execute() or error(db_error($query)); + + modLog('Read a PM'); + } if($pm['to'] != $mod['id']) { $query = prepare("SELECT `username` FROM `mods` WHERE `id` = :id"); @@ -705,21 +709,27 @@ if($_mod = $query->fetch()) { $__to = &$_mod['username']; } else { - $__to = '??'; + $__to = false; } } - modLog('Read a PM'); - $body = '
' . '' . (isset($__to) ? '' : '') .
From' . - '' . htmlentities($pm['username']) . '' . + (!$pm['username'] ? + '??' + : + '' . htmlentities($pm['username']) . '' + ) . '
To' . - '' . htmlentities($__to) . '' . + ($__to === false ? + '??' + : + '' . htmlentities($__to) . '' + ) . '