nouveau-theatre-de-besancon/site/plugins/helpers/index.php
2024-07-29 12:29:00 +02:00

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;
}