function generateNotification($table, $attrs) { global $db; $obj = new NotificationObject(); $obj->setOperation("update"); $obj->setTimestamp(date(DateTime::ISO8601)); switch ($table) { case 'tournament_template': error_log("Tournament Template"); $obj->setType("tournament"); $obj->setId($attrs['id']); break; case 'tournament': error_log("Tournament"); $obj->setType("season"); $obj->setId($attrs['id']); break; case 'tournament_stage': error_log("Tournament Stage"); $obj->setType("stage"); $obj->setId($attrs['id']); break; case 'draw': error_log("Draw"); $obj->setType("draw"); $obj->setId($attrs['id']); break; case 'draw_config': error_log("Draw Config"); $obj->setType("draw"); $obj->setId($attrs['drawFK']); break; case 'standing': error_log("Standing"); $obj->setType("standing"); $obj->setId($attrs['id']); break; case 'standing_participants': error_log("Standing Participants"); $obj->setType("standing"); $obj->setId($attrs['standingFK']); break; case 'standing_data': error_log("Standing Data"); $id = $db->queryId("SELECT standingFK as identifier FROM standing_participants WHERE id =" . $attrs['standing_participantsFK']); $obj->setType("standing"); $obj->setId($id); break; case 'result': error_log("Result"); $id = $db->queryId("SELECT ep.eventFK as identifier FROM event_participants ep JOIN result r ON r.event_participantsFK = ep.id WHERE r.id =" . $attrs['id']); $obj->setType("event"); $obj->setId($id); break; case 'event': error_log("Event"); $obj->setType("event"); $obj->setId($attrs['id']); break; // case 'event_incident': // error_log("Event Incident"); // break; // // case 'event_incident_detail': // error_log("Event Incident Detail"); // break; // // case 'event_incident': // error_log("Event Incident"); // break; // // case 'event_incident_detail': // error_log("Event Incident Detail"); // break; // case 'incident': error_log("Incident"); $id = $db->queryId("SELECT eventFK as identifier FROM event_participants WHERE id = " . $attrs['event_participantsFK']); $obj->setType("event:actions"); $obj->setId($id); break; case 'event_scope': error_log("Event Scope"); $obj->setType("event:composition"); $obj->setId($attrs['eventFK']); break; case 'event_scope_detail': case 'scope_result': error_log("Event Scope Detail or Result: " . $table); $id = $db->queryId("SELECT eventFK as identifier from event_scope where id = " . $attrs['event_scopeFK']); $obj->setType("event:composition"); $obj->setId($id); break; case 'property': switch ($attrs['object']) { case 'tournament_stage': error_log("Property: Tournament Stage"); $obj->setType("stage"); $obj->setId($attrs['objectFK']); break; case 'event': error_log("Property: Event"); $obj->setType("event"); $obj->setId($attrs['objectFK']); break; case 'event_participant': error_log("Property: Event Participant"); $id = $db->queryId("SELECT eventFK as identifier from event_participants where id =" . $attrs['objectFK']); $obj->setType("event"); $obj->setId($id); break; case 'incident': error_log("Property: Incident"); $id = $db->queryId("SELECT DISTINCT ep.eventFK as identifier from incident i join event_participants ep on ep.id = i.event_participantsFK where i.id = " . $attrs['objectFK']); $obj->setType("event:actions"); $obj->setId($id); break; } break; default: } // If we have a ID for the notification return it as complete. if ($obj->getId()) { return $obj; } }