<?php
$requirePath = __DIR__ . DIRECTORY_SEPARATOR;
require $requirePath . 'class.SmartCurl.php';
require $requirePath . 'config.php';
require $requirePath . 'load.php';
require $requirePath . 'parse.php';

$sched_config = getSchedConfig();

$data = loadData($sched_config);

$sched_config['filterEventType'] = 'lecture';

$content = parseData($sched_config, $data);

header('Content-Type:application/json; charset=utf-8');
header('Cache-Control:max-age=0, private, must-revalidate');
header('Access-Control-Allow-Origin: *');

$events = array_map(function($hallData) use ($data) {
	return array_map(function($event) use ($data) {
		unset($event['hall_id']);

		if (!array_key_exists($event['event_id'], $data['events'])) {
			unset($event['event_id']);
			return $event;
		}
		
		$eventData = &$data['events'][$event['event_id']];
		$event['title'] = $eventData['title'];
		$event['speakers'] = array_map(function($speaker_id) use ($data) {
			if (!array_key_exists($speaker_id, $data['speakers'])) {
				return [];
			}
			
			$speakerData = &$data['speakers'][$speaker_id];
			
			return [
				'name' => $speakerData['first_name'] . ' ' . $speakerData['last_name'],
				'description' => $speakerData['biography'],
			];
		}, array_filter($eventData['participant_user_ids'], function($speaker_id) {
			return !in_array($speaker_id, [4]);
		}));
		
		unset($event['event_id']);
		return $event;
	}, $hallData);
}, $content['slots']);

echo json_encode($events);