CMS  Version 3.9
StandardEventHandler Class Reference
+ Inheritance diagram for StandardEventHandler:
+ Collaboration diagram for StandardEventHandler:

Public Member Functions

 filter ($event, $date)
 If an event spans over more than 5 days, only show it on the first day. More...
 
 formatFilteringTags ($event, $tagRowCallbacks)
 
 summary ($event)
 
 details ($event, $byProgram=false)
 
 formatiCalendar ($event, $sequence_id=0)
 
 buildForm ($event)
 
 formatSummary ($event, $tagRowCallacks)
 
- Public Member Functions inherited from EventHandler
 details ($event)
 
 formatiCalendar ($event)
 format an event for sending through email as iCal event. More...
 
 getEventClass ()
 
 formatButtons ($event)
 Called by function details. More...
 

Detailed Description

Definition at line 88 of file calendar_view.inc.

Member Function Documentation

◆ buildForm()

StandardEventHandler::buildForm (   $event)

Reimplemented from EventHandler.

Definition at line 192 of file calendar_view.inc.

193  {
194  $form = new AutoForm($event);
195  $form->required("title", "start_date", "end_date");
196  $form->hide("composite_class", "event_invitation_id", "allow_access", "time_zone_id", "owner_id");
197 
198  $form->allowDelete = true;
199 
200  $sites = query(Site, "ORDER BY site_name");
201  if (count($sites) > 1)
202  {
203  $siteSelect = new CrossReferenceSelectFieldRenderer($form, "sites", "Publish to Sites", $sites, "site_name", EventSiteXref);
204  }
205 
206  $calendarSelect = new RelatedItemSelectFieldRenderer($form, "calendar_id", "Calendar", Calendar, "ORDER BY name", "{name}", "calendar_id", false, false, 80);
207  $eventTypeSelect = new SelectFieldRenderer($form, "event_type", "Event Type");
208  $eventTypeSelect->allowAddEntry();
209 
210  return $form;
211  }
$form
$event
Definition: event_form.inc:46
Defines the Event class.
Definition: calendar.inc:43
Definition: site.inc:40
$sites
Definition: event_edit.inc:83
if(count($sites) > 1) $calendarSelect
Definition: event_edit.inc:92

◆ details()

StandardEventHandler::details (   $event,
  $byProgram = false 
)

Definition at line 155 of file calendar_view.inc.

156  {
157  ob_start();
158 ?>
159 <div class="event_details">
160 <h3><?echo $event->title?></h3>
161 <div class="event_contents">
162 <p><em><?echo $event->event_type?></em></p>
163 <p><label style="width: 80px">Start: </label><?echo $event->format("{start_date:short}") ?><br/>
164 <label style="width: 80px">End: </label><?echo $event->format("{end_date:short}") ?></p>
165 <?
166  if ($event->location)
167  {
168 ?>
169 <p><label style="width: 80px">Location: </label><?echo $event->location?></p>
170 <?
171  }
172 ?>
173 <p><?echo $event->description?></p>
174 <?
175 
176  echo $this->formatButtons($event);
177 ?>
178 </div>
179 </div>
180 <?
181  $out = ob_get_contents();
182  ob_end_clean();
183 
184  return $out;
185  }
$out
Definition: page.inc:66
$helpTree style
Definition: tree.inc:46
formatButtons($event)
Called by function details.

◆ filter()

StandardEventHandler::filter (   $event,
  $date 
)

If an event spans over more than 5 days, only show it on the first day.

If a multiday event starts before the first of the month, then show it on the first of the month only.

See also
EventHandler::filter()

Reimplemented from EventHandler.

Definition at line 98 of file calendar_view.inc.

99  {
100  $start = explode(" ", $event->start_date);
101  $end = explode(" ", $event->end_date);
102 
103  $startTimeStamp = strtotime($start[0]);
104  $endTimeStamp = strtotime($end[0]);
105  $dateTimeStamp = strtotime($date);
106 
107  $diff = abs($endTimeStamp - $startTimeStamp);
108  $days = floor($diff/(60*60*24));
109 
110  $inDate = new DateTime($date."T00:00:00");
111  $startDate = new DateTime($event->start_date);
112 
113  $showEvent = false;
114  if($inDate->format("j") == 1 && ($startDate->format("Y-m-d") <= $inDate->format("Y-m-d")))
115  {
116  $showEvent = true;
117  }
118 
119  if($days <= 5 || $showEvent)
120  {
121  return ($dateTimeStamp >= $startTimeStamp && $dateTimeStamp <= $endTimeStamp);
122  }
123  else
124  {
125  return ($dateTimeStamp == $startTimeStamp);
126  }
127  }
$start
$date
Definition: event_list.inc:51

◆ formatFilteringTags()

StandardEventHandler::formatFilteringTags (   $event,
  $tagRowCallbacks 
)

Reimplemented from EventHandler.

Definition at line 129 of file calendar_view.inc.

130  {
131  $pk = $event->getPrimaryKey();
132  if(!count($tagRowCallbacks)) return "";
133 
134  $id = $event->format("id='{$pk}_{{$pk}}'");
135 
136  foreach($tagRowCallbacks as $cb)
137  {
138  $dataAttrs = call_user_func($cb, $event, $dataAttrs);
139  }
140 
141  $attrs = "";
142  foreach($dataAttrs as $name => $value)
143  {
144  $attrs .= " ".$name."='".$value."'";
145  }
146 
147  return "{$id}{$attrs}";
148  }
$name
Definition: upload.inc:54

◆ formatiCalendar()

StandardEventHandler::formatiCalendar (   $event,
  $sequence_id = 0 
)

Definition at line 187 of file calendar_view.inc.

188  {
189  return new iCalendarEventManager($event->event_id, $event->start_date, $event->end_date, $event->title, $event->description, $event->location, $sequence_id, $event->TimeZone());
190  }
Note: we may wish to add someting like this to description:

◆ formatSummary()

StandardEventHandler::formatSummary (   $event,
  $tagRowCallacks 
)

Reimplemented from EventHandler.

Definition at line 213 of file calendar_view.inc.

214  {
215  $handler_class = get_class($this);
216  $pk = $event->getPrimaryKey();
217  $tags = $this->formatFilteringTags($event, $tagRowCallacks);
218  $content .= "<div {$tags} class='event_summary' onclick='showEventDetail({$event->$pk}, \"{$handler_class}\")'>";
219  $content .= $this->summary($event);
220  $content .= "</div>";
221 
222  return $content;
223  }
formatFilteringTags($event, $tagRowCallbacks)
if(array_key_exists("HTTP_IF_MODIFIED_SINCE", $_SERVER)) $content
Definition: styles.css.inc:24

◆ summary()

StandardEventHandler::summary (   $event)

Reimplemented from EventHandler.

Definition at line 150 of file calendar_view.inc.

151  {
152  return "<h4>{$event->title}</h4><p>{$event->event_type}</p>";
153  }

The documentation for this class was generated from the following file: