/**
  * @param array $data
  */
 protected function __construct(array $data)
 {
     parent::__construct($data);
     \Brosland\Chain\Utils::checkRequiredFields(self::$REQUIRED, $data);
 }
Пример #2
0
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;
    }
}