update mapado event working
This commit is contained in:
parent
4cd3bfba57
commit
c98d5eb36b
8 changed files with 184 additions and 126 deletions
|
|
@ -3,67 +3,15 @@
|
|||
return [
|
||||
'pattern' => '/update-mapado-event.json',
|
||||
'method' => 'POST',
|
||||
'action' => function () {
|
||||
'action' => function() {
|
||||
$jsonRequest = file_get_contents("php://input");
|
||||
$request = json_decode($jsonRequest, true);
|
||||
|
||||
$id = $request['id'];
|
||||
|
||||
$request = [
|
||||
"requestEndPoint" => "ticketings/" . $id,
|
||||
"requestParams" => [],
|
||||
"requestFields" => [
|
||||
["name" => "title"],
|
||||
["name" => "address"],
|
||||
["name" => "slug"],
|
||||
[
|
||||
"name" => "eventDateList",
|
||||
"subfields" => [
|
||||
["name" => "startDate"],
|
||||
["name" => "endDate"],
|
||||
["name" => "bookableStock"]
|
||||
]
|
||||
],
|
||||
]
|
||||
];
|
||||
$page = page($request['pageUri']);
|
||||
|
||||
$request = createMapadoEventRequest($page);
|
||||
$mapadoEvent = fetchMapadoEvent($request);
|
||||
$duration = null;
|
||||
$sessionsToSave = [];
|
||||
|
||||
foreach ($mapadoEvent->eventDateList as $session) {
|
||||
|
||||
$sessionMonth = substr($session->startDate, 0, 7);
|
||||
|
||||
if ($sessionMonth === $requestMonth) {
|
||||
$day = intval(substr($session->startDate, 8, 2));
|
||||
$startTime = substr($session->startDate, 11, 5);
|
||||
$eventDateId = explode('/', $session->{'@id'});
|
||||
$eventDateId = $eventDateId[count($eventDateId) - 1];
|
||||
|
||||
if (isset($session->endDate) && !$duration) {
|
||||
$endTime = substr($session->endDate, 11 , 5);
|
||||
$duration = getTimeDifference($startTime, $endTime);
|
||||
|
||||
}
|
||||
|
||||
$dates[$day][] = array_merge($eventInfos, [
|
||||
"day" => $day,
|
||||
"time" => str_replace(':', 'h', $startTime),
|
||||
"duration" => $duration,
|
||||
"ticketingUrl" => option('ticketingUrl') . 'event/' . $mapadoEvent->slug . '?eventDate=' . $eventDateId
|
||||
]);
|
||||
|
||||
$sessionsToSave[] = [
|
||||
"date" => substr($session->startDate, 0, 10),
|
||||
"time" => str_replace(':', 'h', $startTime)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$event->update([
|
||||
"remoteDuration" => $duration,
|
||||
"remoteSessions" => $sessionsToSave
|
||||
]);
|
||||
return saveMapadoEvent($mapadoEvent, $page);
|
||||
}
|
||||
];
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue