private function triggerEvent(DOMNode $node, Event $event, array $triggeredNodes = array()) { $hash = spl_object_hash($node); if (isset(self::$eventHandlers[$hash][$event->getType()])) { foreach (self::$eventHandlers[$hash][$event->getType()] as $handlerData) { $handler = $handlerData['handler']; $selector = $handlerData['selector']; if ($selector === null) { $boundHandler = $handler->bindTo($node); $boundHandler($event); // Delegated handler } else { foreach ($triggeredNodes as $triggeredNode) { $matches = $this->matchesSelector($triggeredNode, $selector); if ($matches) { $boundHandler = $handler->bindTo($triggeredNode); $boundHandler($event); if ($event->isPropagationStopped()) { return; } } } } } } if ($node->parentNode && !$event->isPropagationStopped()) { $triggeredNodes[] = $node; $this->triggerEvent($node->parentNode, $event, $triggeredNodes); } }
/** * Trigger event, call listeners * * @access public * @return Event */ public function trigger() { if ($this->has($this->event->getMethod(), $this->event->getType())) { $data =& $this->on[$this->event->getMethod()][$this->event->getType()]; krsort($data); foreach ($data as $items) { foreach ($items as $priority => $action) { if (!$this->event->isPropagationStopped()) { $this->call($action); } } } } return $this->event; }
<?php /** * Created by PhpStorm. * User: ununik * Date: 03.09.2015 * Time: 13:06 */ $eventDB = new Event(); $event = $eventDB->getEvent($_GET['id']); $enrollDB = $eventDB->getEnroll($_GET['id'], $event['author']); $mainTitle = $event['title']; $subscription = nl2br($event['subscription']); $place = nl2br($event['place']); $update = 0; $type = $eventDB->getType($event['type']); $type = $type['cz']; $enroll = $event['enroll']; $time = time(); $starttimestamp = $enrollDB['starttimestamp']; $startEnroll = date("j. n. Y", $starttimestamp); if ($event['timestamp1'] == $event['timestamp2'] || $event['timestamp2'] == 0) { $date = date("j. n. Y", $event['timestamp1']); } else { $date = date("j. n. Y", $event['timestamp1']) . ' - ' . date("j. n. Y", $event['timestamp2']); } if ($event['organisator'] != "") { $organisator = $event['organisator']; } else { $organisator = new Profil($event['id_organisator']); $organisator = $organisator->getName();
protected function handleIncome($data) { $this->debug("PHPSusi handleIncome:\n" . $data); $evt = new Event(); $evt->fromString($data); if ($evt->getType() === "consumerEvent") { $topic = $evt->getTopic(); if (array_key_exists($topic, $this->consumer_callbacks)) { $consumer_callbacks = $this->consumer_callbacks[$topic]; foreach ($consumer_callbacks as $callback) { try { $callback["handler"]($evt); } catch (Exception $e) { print $e; } } } } if ($evt->getType() === "processorEvent") { $topic = $evt->getTopic(); if (array_key_exists($topic, $this->processor_callbacks)) { $processor_callbacks = $this->processor_callbacks[$topic]; foreach ($processor_callbacks as $callback) { try { $callback["handler"]($evt); } catch (Exception $e) { print $e; } } $this->ack($evt->getData()); } } if ($evt->getType() === "ack") { // ID as string $id = $evt->getStr_ID(); if (array_key_exists($id, $this->finish_handlers)) { $finish_handler = $this->finish_handlers[$id]; try { $finish_handler($evt); // delete callback from memory unset($this->finish_handlers[$id]); } catch (Exception $e) { print $e; } } } if ($evt->getType() === "status") { if ($evt->getError() == true) { $error_msg = $evt->getErrorMsg(); echo "server error:" . $error_msg . "\n"; } } }
private function validateEvent(Event $event) { $okay = false; if (trim($event->getTitle()) == "") { $this->__message = "Enter a valid title !!!"; } else { if (trim($event->getType()) == "") { $this->__message = "Select a event privacy type either public or private!!!"; } else { if (trim($event->getVenue()) == "") { $this->__message = "Enter an address for the event"; } else { $okay = true; } } } return $okay; }
public function track(Event $event, $uid) { $parameters = $event->getParameters(); $parameters['om_event_type'] = $event->getType(); $this->client->doGet($this->url, $uid, $parameters, $this->timeout); }
public function update(Event $event) { global $PDO; if (!$event->getEventId()) { throw new Exception("Event don't have eventId when event don't exists"); } else { update("event", ["title" => $event->getTitle(), "description" => $event->getDescription(), "type" => $event->getType(), "location" => $event->getLocation(), "start_hour" => $event->getStartHour(), "final_hour" => $event->getFinalHour(), "color" => $event->getColor(), "status" => $event->getStatus(), "date_create" => $event->getDateCreate(), "user_id" => $event->getUserId(), "google_calendar_event_id" => $event->getGoogleCalendarEventId(), "notify_status" => $event->getNotifyStatus(), "parent_event_id" => $event->getParentEventId(), "calendar_id" => $event->getCalendarId()], ["Codigo" => $event->getEventId()]); //Event::eventId exits when not problem $eventMeta = $event->getEventMeta(); update("event_meta", ["event_id" => $eventMeta->getEventId(), "date_start" => $eventMeta->getDateStart(), "interval_case" => $eventMeta->getIntervalCase(), "interval_value" => $eventMeta->getIntervalValue(), "week" => $eventMeta->getWeek(), "week_day" => $eventMeta->getWeekDay()], ["Codigo" => $eventMeta->getEventMetaId()]); //verify if exists attendees $childEventsId = $event->childEventsId(); if ($childEventsId) { $filterOfChildEventsId = implode(",", $childEventsId); $rowsAffected = $PDO->exec("\n UPDATE event \n SET title = '{$event->getTitle()}',\n description = '{$event->getDescription()}',\n type = '{$event->getType()}',\n location = '{$event->getLocation()}',\n start_hour = '{$event->getStartHour()}',\n final_hour = '{$event->getFinalHour()}',\n color = '{$event->getColor()}'\n WHERE Codigo IN ({$filterOfChildEventsId})"); $rowsAffected = $PDO->exec("\n UPDATE event_meta \n SET date_start = '{$eventMeta->getDateStart()}',\n interval_case = '{$eventMeta->getIntervalCase()}',\n interval_value = '{$eventMeta->getIntervalValue()}',\n week = '{$eventMeta->getWeek()}',\n week_day = '{$eventMeta->getWeekDay()}'\n WHERE event_id IN ({$filterOfChildEventsId})"); } if ($event->getGoogleCalendarEventId()) { //verify google access $myGoogleClient = get_my_google_client($event->getUserId()); if ($myGoogleClient) { $client = $myGoogleClient->client; $service = new Google_Service_Calendar($client); $googleEvent = $service->events->get('primary', $event->getGoogleCalendarEventId()); $googleEvent->setSummary($event->getTitle()); $googleEvent->setDescription($event->getDescription()); $googleEvent->setLocation($event->getLocation()); //////////////////////////////////////////////////////////////////////// //create google calendar datetime $dateStart = $eventMeta->getDateStart(); $dateEnd = new DateTime($eventMeta->getDateStart()); $startHour = $event->getStartHour(); $finalHour = $event->getFinalHour(); //dateEnd $intervalValue = $eventMeta->getIntervalValue(); $dateEnd->add(new DateInterval("P{$intervalValue}D")); $dateEnd = $dateEnd->format("Y-m-d"); $start_event_date_time = new Google_Service_Calendar_EventDateTime(); $start_event_date_time->setDateTime("{$dateStart}T{$startHour}"); $start_event_date_time->setTimeZone("America/Lima"); $end_event_date_time = new Google_Service_Calendar_EventDateTime(); $end_event_date_time->setDateTime("{$dateEnd}T{$finalHour}"); $end_event_date_time->setTimeZone("America/Lima"); //////////////////////////////////////////////////////////////////////// $googleEvent->setStart($start_event_date_time); $googleEvent->setEnd($end_event_date_time); $service->events->update('primary', $googleEvent->getId(), $googleEvent); } } } return $event; }