X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Freminder.inc.php;h=346d97e1d2185e2051418a14123c3697c7156be3;hb=9e1816c7666767755abbc24f6a0df290efff81b6;hp=51438423dbe12c1aadce299f7af0ecce422eb929;hpb=64087a3430249f84d999be01219697c925c5c7f7;p=platal.git diff --git a/include/reminder.inc.php b/include/reminder.inc.php index 5143842..346d97e 100644 --- a/include/reminder.inc.php +++ b/include/reminder.inc.php @@ -1,6 +1,6 @@ changeTpl('reminder/default.tpl', NO_SKIN); - $page->assign('text', $this->GetDisplayText()); - $page->assign('baseurl', $this->GetBaseUrl()); + pl_content_headers("text/html"); + $page->changeTpl('reminder/notification.tpl', NO_SKIN); + $page->assign('previous_reminder', $this->title()); } - // Helper for returning the content as a string, instead of using the existing - // globale XorgPage instance. - public function GetDisplayAsString() + // Displays the reminder as a standalone html snippet. It should be used + // when the reminder is the only output of a page. + public function DisplayStandalone(&$page, $previous_reminder = null) { - $page = new XorgPage(); - $this->Display($page); - return $page->raw(); + pl_content_headers("text/html"); + $page->changeTpl('reminder/base.tpl', NO_SKIN); + $this->Prepare($page); + if ($previous_reminder) { + $page->assign('previous_reminder', $previous_reminder); + } + } + + // Prepares the display by assigning template variables. + public function Prepare(&$page) + { + $page->assign_by_ref('reminder', $this); } - // Returns the text to display in the onebox. - abstract protected function GetDisplayText(); + // Returns the name of the inner template, or null if a simple text obtained + // from GetText should be printed. + public function template() { return null; } + + // Returns the text to display in the onebox, or null if a + public function text() { return ''; } + + // Returns the title of the onebox. + public function title() { return ''; } + + // Should return true if this onebox needs to be considered as a warning and + // not just as a subscription offer. + public function warning() { return false; } // Returns the base url for the reminder module. - protected function GetBaseUrl() + public function baseurl() { return 'ajax/reminder/' . $this->name; } + // Returns the url for the information page. + public function info() { return ''; } + // Static status update methods ------------------------------------------- // Marks the candidate reminder as having been accepted for user |user_id|. @@ -195,7 +216,7 @@ abstract class Reminder // the class. private static function GetClassName($name) { - @include_once "reminder/$name.inc.php"; + include_once "reminder/$name.inc.php"; $class = 'Reminder' . str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); return (class_exists($class) ? $class : null); }