From bd11d11bfcb1115e63bc4db81c9a1cfe75c32a2f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 23 Mar 2011 22:10:44 -0400 Subject: [PATCH] Fallback for RSVP display when Event is deleted --- plugins/Event/RSVP.php | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/plugins/Event/RSVP.php b/plugins/Event/RSVP.php index 7b61cc34ad..beb377c5bc 100644 --- a/plugins/Event/RSVP.php +++ b/plugins/Event/RSVP.php @@ -294,15 +294,19 @@ class RSVP extends Managed_DataObject function asHTML() { + $event = Happening::staticGet('id', $this->event_id); + return self::toHTML($this->getProfile(), - $this->getEvent(), + $event, $this->response); } function asString() { + $event = Happening::staticGet('id', $this->event_id); + return self::toString($this->getProfile(), - $this->getEvent(), + $event, $this->response); } @@ -310,8 +314,6 @@ class RSVP extends Managed_DataObject { $fmt = null; - $notice = $event->getNotice(); - switch ($response) { case 'Y': $fmt = _("%2s is attending %4s."); @@ -327,19 +329,26 @@ class RSVP extends Managed_DataObject break; } + if (empty($event)) { + $eventUrl = '#'; + $eventTitle = _('an unknown event'); + } else { + $notice = $event->getNotice(); + $eventUrl = $notice->bestUrl(); + $eventTitle = $event->title; + } + return sprintf($fmt, htmlspecialchars($profile->profileurl), htmlspecialchars($profile->getBestName()), - htmlspecialchars($notice->bestUrl()), - htmlspecialchars($event->title)); + htmlspecialchars($eventUrl), + htmlspecialchars($eventTitle)); } static function toString($profile, $event, $response) { $fmt = null; - $notice = $event->getNotice(); - switch ($response) { case 'Y': $fmt = _("%1s is attending %2s."); @@ -355,8 +364,15 @@ class RSVP extends Managed_DataObject break; } + if (empty($event)) { + $eventTitle = _('an unknown event'); + } else { + $notice = $event->getNotice(); + $eventTitle = $event->title; + } + return sprintf($fmt, $profile->getBestName(), - $event->title); + $eventTitle); } }