90 lines
No EOL
2.5 KiB
PHP
90 lines
No EOL
2.5 KiB
PHP
<?php
|
|
|
|
function buildFieldsString($requestFields) {
|
|
$fields = [];
|
|
foreach ($requestFields as $field) {
|
|
if (isset($field['subfields'])) {
|
|
$subfields = [];
|
|
foreach ($field['subfields'] as $subfield) {
|
|
if (isset($subfield['subfields'])) {
|
|
$subsubfields = [];
|
|
foreach ($subfield['subfields'] as $subsubfield) {
|
|
$subsubfields[] = $subsubfield['name'];
|
|
}
|
|
$subfields[] = $subfield['name'] . '{' . implode(',', $subsubfields) . '}';
|
|
} else {
|
|
$subfields[] = $subfield['name'];
|
|
}
|
|
}
|
|
$fields[] = $field['name'] . '{' . implode(',', $subfields) . '}';
|
|
} else {
|
|
$fields[] = $field['name'];
|
|
}
|
|
}
|
|
return '&fields=' . implode(',', $fields);
|
|
}
|
|
|
|
function buildParamsString($requestParams) {
|
|
$queryString = [];
|
|
foreach ($requestParams as $param) {
|
|
$queryString[] = urlencode($param['name']) . '=' . urlencode($param['value']);
|
|
}
|
|
return implode('&', $queryString);
|
|
}
|
|
|
|
function getEventsByMonth($month) {
|
|
$events = page('programme')->children();
|
|
}
|
|
|
|
function fetchMapadoEvent($request) {
|
|
$token = site()->mapadoToken();
|
|
$requestEndPoint = $request['requestEndPoint'];
|
|
$requestParams = $request['requestParams'];
|
|
$requestFields = $request['requestFields'];
|
|
|
|
$url = "https://ticketing.mapado.net/v1/$requestEndPoint?";
|
|
|
|
$url .= buildParamsString($requestParams);
|
|
$url .= buildFieldsString($requestFields);
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
|
"Authorization: Bearer " . $token
|
|
]);
|
|
|
|
$responseString = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
$response = json_decode($responseString);
|
|
|
|
return $response;
|
|
}
|
|
|
|
function fetchMapadoEvents($request) {
|
|
$token = site()->mapadoToken();
|
|
$contractId = site()->mapadoContractId();
|
|
$requestEndPoint = $request['requestEndPoint'];
|
|
$requestParams = $request['requestParams'];
|
|
$requestFields = $request['requestFields'];
|
|
|
|
$url = "https://ticketing.mapado.net/v1/$requestEndPoint?contract=$contractId&";
|
|
|
|
$url .= buildParamsString($requestParams);
|
|
$url .= buildFieldsString($requestFields);
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
|
"Authorization: Bearer " . $token
|
|
]);
|
|
|
|
$responseString = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
$responseJson = json_encode(json_decode($responseString));
|
|
|
|
return $responseJson;
|
|
} |