private function url_EditEvent($safeUrl, $eventID) { helpers::debug('url_EditEvent'); global $wgUser, $wgParser, $wgScript; $currentUser = $wgUser->getName(); $html = $this->tabHtml; $strInvites = ''; $lastedited = ''; $arr_invites = array(); $tranlated = ''; $event = $this->db->getEvent($eventID); $start = helpers::date($event['start']); $end = helpers::date($event['end']); $startTime = helpers::time($event['start']); $endTime = helpers::time($event['end']); if (isset($event['editeddate'])) { $editeddate = helpers::date($event['editeddate']); $lastedited = helpers::translate('mwc_last_edited_by') . ': ' . $event['editedby'] . " ({$editeddate})"; } $createddate = helpers::date($event['createddate']); $createdby = helpers::translate('mwc_created_by') . ": " . $event['createdby'] . " ({$createddate})"; $this->makeSafeHtml($event); // build invite(notify) list $arr_invites = unserialize($event['invites']); if (is_array($arr_invites)) { foreach ($arr_invites as $invite) { if (strpos($invite, "#") === 0) { $grpCount = count($this->db->getGroupUsers(trim(str_replace("#", "", $invite)))); $strInvites .= "{$invite} ({$grpCount} " . helpers::translate("mwc_members") . ")" . " "; } else { $user = User::newFromName(trim($invite)); if ($user) { $strInvites .= $invite . "(" . $user->getRealName() . ") "; } } } } $disableTimeFields = ''; $allDayChecked = ''; if ($event['allday'] == true) { $allDayChecked = 'checked'; $disableTimeFields = 'disabled'; } ## funky display as the text is saves as \r\n.. so I'm removing the \n and leaving the \r ## caused textarea to add html tags (<p><br/>) etc $text = $event['text']; //$text = $wgParser->recursiveTagParse($text); if (!$this->useRTE) { $text = str_replace("\r\n", "\r", $text); $text = strip_tags($text); } if ($this->useRTE) { //$text = str_replace("\n", "x", $event['text']); //$text = str_replace("\r", "x", $event['text']); } helpers::debug($text, 2); // update the 'hidden' input field so we retain the calendar name for the db update $html = str_replace('[[calendar]]', $this->calendarName, $html); $html = str_replace('[[CalendarKey]]', $this->key, $html); $html = str_replace('[[EventID]]', $event['id'], $html); $html = str_replace('[[Subject]]', $event['subject'], $html); $html = str_replace('[[Location]]', $event['location'], $html); $html = str_replace('[[Invites]]', $strInvites, $html); $html = str_replace('[[Start]]', $start, $html); $html = str_replace('[[End]]', $end, $html); $html = str_replace('[[Text]]', $text, $html); $html = str_replace('[[LastEdited]]', $lastedited, $html); $html = str_replace('[[CreatedBy]]', $createdby, $html); $html = str_replace('[[START_TIME]]', $startTime, $html); $html = str_replace('[[END_TIME]]', $endTime, $html); $html = str_replace('[[START_TIME_DISABLED]]', $disableTimeFields, $html); $html = str_replace('[[END_TIME_DISABLED]]', $disableTimeFields, $html); $html = str_replace('[[ALL_DAY_CHECKED]]', $allDayChecked, $html); $html = str_replace('[[URL]]', $safeUrl, $html); // disable delete for users that didnt create the event... only creator or admin can delete //$isValid = User::newFromName( $event['createdby'] )->getID(); $isValid = User::newFromName($event['createdby']); $isAdmin = in_array('sysop', $wgUser->getGroups()); if ($currentUser != $event['createdby'] && $isValid && !$isAdmin) { $tranlated = helpers::translate('mwc_delete_title'); $html = str_replace('[[Disabled]]', "disabled title='{$tranlated}'", $html); } return $this->setHtmlTags($html); }
private static function buildHtmlBody($event) { $start = helpers::date($event['start']) . " " . helpers::time($event['start']); $end = helpers::date($event['end']) . " " . helpers::time($event['end']); $location = $event['location']; $text = $event['text']; $url = "<a href='" . helpers::curPageURL() . "'>" . $event['calendar'] . "</a><br />"; $html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n"; $html .= "<html><head></head><body>\n"; $html .= "<table>\n"; $html .= "<tr><td>Starts: </td><td> {$start}</td></tr>\n"; $html .= "<tr><td>Ends: </td><td> {$end}</td></tr>\n"; $html .= "</table><hr><br />\n"; $html .= "{$text}\n"; $html .= "<hr>"; $html .= "Calendar: {$url}"; $html .= "</body></html>\n"; return $html; }