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);
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
<?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();
Example #4
0
 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;
 }
Example #6
0
 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;
 }