diff options
Diffstat (limited to 'utils/modules/events.php')
-rw-r--r-- | utils/modules/events.php | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/utils/modules/events.php b/utils/modules/events.php index 3bccce6..1bfcd5c 100644 --- a/utils/modules/events.php +++ b/utils/modules/events.php @@ -5,20 +5,23 @@ global $UTIL_DIR, $MODULES_DIR; include_once($UTIL_DIR . "/convert.php"); include_once($UTIL_DIR . "/markdown.php"); include_once($MODULES_DIR . "/icons.php"); +include_once($UTIL_DIR . "/refs.php"); class Event { public $title; public $time; public $description; public $flyer; + public $refs; public function write($fp) { fwrite($fp, " <event title=\"" .xmlenc($this->title) . "\"\n"); fwrite($fp, " time=\"" . xmlenc($this->time) . "\"\n"); - fwrite($fp, " flyer=\"" . xmlenc($this->flyer) . "\">"); - fwrite($fp, xmlenc($this->description)); - fwrite($fp, "</event>\n"); + fwrite($fp, " flyer=\"" . xmlenc($this->flyer) . "\">\n"); + fwrite($fp, " <description>".xmlenc($this->description)."</description>\n"); + if($this->refs) $this->refs->write($fp, " "); + fwrite($fp, " </event>\n"); } public function show($eventpage) @@ -40,10 +43,17 @@ class Event { $str .= " <img class=\"event_flyer\" alt=\"flyer\" src=\"".$icon->prefix.$icon->file."\"/>\n"; } */ + if($this->refs) $str .= $this->refs->show(); + $str .= "</div>\n"; return $str; } + public function addRefs($refs) + { + $this->refs = $refs; + } + public function Event($title, $time, $description, $flyer = "") { $this->title = $title; @@ -144,6 +154,8 @@ class Events { $this->events[$vars["eventid"]]->time = DateTimeEdit::toTimestamp($vars, "time"); $this->events[$vars["eventid"]]->description = $vars["description"]; $this->events[$vars["eventid"]]->flyer = $vars["icon"]; + $refs = refsGetRefsFromHidden($vars); + $this->events[$vars["eventid"]]->refs = $refs; $this->write(); echo "\"" . $this->events[$vars["eventid"]]->title . "\" has now been edited."; break; @@ -151,6 +163,9 @@ class Events { case "preview": $event = new Event($vars["title"], DatetimeEdit::toTimestamp($vars, "time"), $vars["description"], $vars["icon"]); + $refs = refsGetRefsFromWidget(); + $event->addRefs($refs); + echo "<div class=\"preview\">\n"; echo "<div class=\"content\">\n"; echo $event->show($this->eventpage); @@ -159,11 +174,13 @@ class Events { echo "<p>Looking ok?</p>"; $form = new Form("add"); $form->addWidget(new Hidden($vars)); + refsAddHiddenWidget($form, $refs); $form->addWidget(new Button("yes")); $form->render(); $form = new Form("retry"); $form->addWidget(new Hidden($vars)); + refsAddHiddenWidget($form, $refs); $form->addWidget(new Button("no")); $form->render(); break; @@ -178,13 +195,18 @@ class Events { else $description = $this->events[$vars["eventid"]]->description; if(isset($vars["icon"])) $icon = $vars["icon"]; else $icon = $this->events[$vars["eventid"]]->flyer; - + if(isset($vars["refslist_hidden"])) $refs = refsGetFromHidden($vars); + else { + $refs = refsGetCommaListFromRefs($this->events[$vars["eventid"]]->refs); + } + $form = new Form("preview"); $form->addWidget(new Hidden($vars)); $form->addWidget(new LineEdit("Title", "title", $title)); $form->addWidget(new DateTimeEdit("Time", "time", $time)); $form->addWidget(new TextEdit("Description", "description", $description)); $form->addWidget(new ImageComboBox("Icon", "icon", $icon, new Icons($ICONS_DIR."/"))); + refsAddWidget($form, $refs); $form->addWidget(new Button("Update event")); $form->render(); break; @@ -415,10 +437,25 @@ class Events { $this->eventpage = $events->getAttribute('eventpage'); foreach ($params as $param) { + + $description = ""; + $dess = $param->getElementsByTagName('description'); + foreach($dess as $des) { + $description = $des->textContent; + } + $event = new Event($param->getAttribute('title'), $param->getAttribute('time'), - $param->textContent, + $description, $param->getAttribute('flyer')); + + $rs = $param->getElementsByTagName('refs'); + foreach($rs as $r) { + $refs = new Refs($r); + $event->addRefs($refs); + break; + } + $this->add($event); } } |