Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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>&nbsp;{$start}</td></tr>\n";
     $html .= "<tr><td>Ends: </td><td>&nbsp;{$end}</td></tr>\n";
     $html .= "</table><hr><br />\n";
     $html .= "{$text}\n";
     $html .= "<hr>";
     $html .= "Calendar: {$url}";
     $html .= "</body></html>\n";
     return $html;
 }