X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fshowmessage.php;h=d13e9f671fc32f284ab9d3b0cc1b79efd9a984eb;hb=bc15d027a804e60e76bdaf6fd47e69d41b395e7e;hp=c57c96aefdfc8ee178ff14507b8c77157c23c309;hpb=24496bafd2356240a1ac419bb568aeb8040ec699;p=quix0rs-gnu-social.git diff --git a/actions/showmessage.php b/actions/showmessage.php index c57c96aefd..d13e9f671f 100644 --- a/actions/showmessage.php +++ b/actions/showmessage.php @@ -21,78 +21,88 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/mailbox.php'); -class ShowmessageAction extends MailboxAction { +class ShowmessageAction extends MailboxAction +{ - function handle($args) { + function handle($args) + { - Action::handle($args); + Action::handle($args); - $id = $this->trimmed('id'); + $message = $this->get_message(); - $message = Message::staticGet('id', $id); + if (!$message) { + $this->clientError(_('No such message.'), 404); + return; + } + + $cur = common_current_user(); + + if ($cur && ($cur->id == $message->from_profile || $cur->id == $message->to_profile)) { + $this->show_page($cur, 1); + } else { + $this->clientError(_('Only the sender and recipient may read this message.'), 403); + return; + } + } + + function get_message() + { + $id = $this->trimmed('message'); + $message = Message::staticGet('id', $id); + return $message; + } + + function get_title($user, $page) + { + $message = $this->get_message(); + if (!$message) { + return null; + } + + if ($user->id == $message->from_profile) { + $to = $message->getTo(); + $title = sprintf(_("Message to %1\$s on %2\$s"), + $to->nickname, + common_exact_date($message->created)); + } else if ($user->id == $message->to_profile) { + $from = $message->getFrom(); + $title = sprintf(_("Message from %1\$s on %2\$s"), + $from->nickname, + common_exact_date($message->created)); + } + return $title; + } - if (!$message) { - $this->client_error(_('No such message.'), 404); - return; - } - - $cur = common_current_user(); - - if (!$cur || - $cur->id != $message->from_profile && - $cur->id != $message->to_profile) - { - $this->client_error(_('Only the sender and recipient may read this message.'), 404); - return; - } - - $this->show_page($cur, 1); - } - - function get_message() { - $id = $this->trimmed('id'); - $message = Message::staticGet('id', $id); - return $message; - } - - function get_title($user, $page) { - $message = $this->get_message(); - if (!$message) { - return NULL; - } - - if ($user->id == $message->from_profile) { - $to = $message->getTo(); - $title = sprintf(_('Message to %1\$s on %2\$s'), - $to->nickname, - common_exact_date($message->created)); - } else if ($user->id == $message->to_profile) { - $from = $message->getFrom(); - $title = sprintf(_('Message from %1\$s on %2\$s'), - $from->nickname, - common_exact_date($message->created)); - } - return $title; - } - - function get_messages($user, $page) { - return $this->get_message(); - } - - function get_message_profile($message) { - $user = common_current_user(); - if ($user->id == $message->from_profile) { - return $message->getTo(); - } else if ($user->id == $message->to_profile) { - return $message->getFrom(); - } else { - # This shouldn't happen - return NULL; - } - } - - function get_instructions() { - return ''; - } + function get_messages($user, $page) + { + $message = new Message(); + $message->id = $this->trimmed('message'); + $message->find(); + return $message; + } + + function get_message_profile($message) + { + $user = common_current_user(); + if ($user->id == $message->from_profile) { + return $message->getTo(); + } else if ($user->id == $message->to_profile) { + return $message->getFrom(); + } else { + # This shouldn't happen + return null; + } + } + + function get_instructions() + { + return ''; + } + + function views_menu() + { + return; + } } - \ No newline at end of file + \ No newline at end of file