/** * {@inheritdoc} */ public function dispatch($event) { if (!$event instanceof Event) { $event = new Event($event); } if ($listeners = $this->getListeners($event->getEventType())) { $this->doDispatch($listeners, $event); } return $event; }
/** * Outputs the event data for users * Use $eventParams if you only want to output certain data, but not all available event parameters * * @param Event $event * @param array $eventParams * @return string */ public static function outputEventInfo($event, $eventParams = "") { if ($eventParams == "") { $eventParams = Event::$eventParamsNames; } $output = "<div id='content'><table id = 'event_info'>"; foreach ($eventParams as $title => $param) { if ($param == 'topicID') { $value = $event->getTopic(); } else { if ($param == 'mandantID') { $value = $event->getMandant(); } else { if ($param == 'addressID') { $value = $event->getAddress()->getAddressValue(true); } else { if ($param == 'eventType') { $value = Event::$eventTypes[$event->getEventType()]; } else { $value = $event->getParam($param); } } } } if ($param != 'event_visible') { $output .= "<tr><th>{$title}</th><td>" . $value . "</td></tr>"; } } $output .= '</table>'; return $output; }
public function send(Event $event) { $handlers = $this->findEventHandlers($event->getModuleId(), $event->getEventType(), $event->getFilter()); foreach ($handlers as $handler) { $this->sendToEventHandler($handler, $event); } $handlers = $this->findMailEventHandlers($event->getModuleId(), $event->getEventType(), $event->getFilter()); foreach ($handlers as $handler) { $this->sendToMailEventHandler($handler, $event); } $handlers = $this->findComponentEventHandlers($event->getModuleId(), $event->getEventType(), $event->getFilter()); foreach ($handlers as $handler) { $this->sendToComponentEventHandler($handler, $event); } }
/** * Adds topic to database * Returns the ID of a new event on success, FALSE otherwise * * @global wpdb $wpdb * @param Event $event * @return int|boolean */ public static function addEvent($event) { global $wpdb; $duration = $event->getDuration() == null ? 'null' : $event->getDuration(); $bookedParticipants = $event->getBookedParticipants() == null ? 'null' : $event->getBookedParticipants(); $maxParticipants = $event->getMaxParticipants() == null ? 'null' : $event->getMaxParticipants(); $visibility = $event->getVisibility() == null ? 'null' : $event->getVisibility(); $query = "INSERT INTO `datr_Events` \n (`eventType`, `title_long`, `title_short`, \n `date_time`, `duration_min`, `invitation_text`,\n `lecturer_name`, `booked_participants`, `max_participants`,\n `topicID`, `mandantID`, `addressID`, event_visible) \n VALUES ('" . $event->getEventType() . "', '" . $event->getTitleLong() . "', '" . $event->getTitleShort() . "', '" . $event->getDateTime() . "', " . $duration . ", '" . $event->getInvitationText() . "', '" . $event->getLecturerName() . "', " . $bookedParticipants . ", " . $maxParticipants . ", " . $event->getTopicID() . ", " . $event->getMandantID() . ", " . $event->getAddressID() . ", " . $visibility . ")"; return $wpdb->query($query); }
/** * Delete the relationship between a resource * and a calendar event when this event has * been deleted. * @param Event $event */ public function deleteEventResource($event) { $eventArgs = $event->getArgs(); $cid = array_key_exists('cid', $eventArgs) ? $eventArgs['cid'] : ''; $rid = array_key_exists('rid', $eventArgs) ? $eventArgs['rid'] : ''; $mainTables = claro_sql_get_main_tbl(); $eventResourceTable = $mainTables['event_resource']; $eventType = $event->getEventType(); $sql = 'DELETE FROM `' . $eventResourceTable . '` ' . 'WHERE `event_id` = ' . $rid . ' ' . 'AND `course_code` = \'' . $cid . '\''; claro_sql_query($sql); }