Example #1
0
 /**
  * {@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;
 }
Example #2
0
 /**
  * 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);
 }
Example #5
0
 /**
  * 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);
 }