eventbrite_one_way_sync-1.0.0/scripts/lib/dummy-eventbrite-server/www/index.php
scripts/lib/dummy-eventbrite-server/www/index.php
<?php
// @codingStandardsIgnoreStart
/**
* This file is a dummy Eventbrite server to demonstrate that this module
* works as expected.
*/
const ORGANIZATION='MY_ORGANIZATION';
const TOKEN='MY_TOKEN';
try {
check_token(get('token'));
switch (get('url')) {
case 'organizations/' . ORGANIZATION . '/members/':
print(json_encode(organization_members()));
break;
case 'organizations/' . ORGANIZATION . '/events/':
print(json_encode(organization_events()));
break;
case 'users/me/':
print(json_encode(users_me()));
break;
case 'events/1234/':
print(json_encode(event_1234()));
break;
default:
throw new \Exception('Sorry, this URL is not valid.');
}
}
catch (\Throwable $t) {
print_r($t->getMessage() . PHP_EOL);
print_r('(' . $t->getLine() . ')');
}
function check_token(string $token) {
if ($token !== TOKEN) {
throw new \Exception('Please use ?token=' . TOKEN);
}
}
function get(string $param) : string {
$ret = '';
if (array_key_exists($param, $_GET)) {
$ret = $_GET[$param];
}
return $ret;
}
function organization_members() : array {
return [
'members' => [
'me' => [],
],
];
}
function organization_events() : array {
return [
'pagination' => [
'has_more_items' => get('page') == 2 ? FALSE : TRUE,
'page_size' => get('page') == 2 ? 1 : 3,
'object_count' => 4,
'page_count' => 2,
'page_number' => get('page'),
],
'events' => get('page') == 2 ? events_page_2() : events_page_1(),
];
}
function events_page_1() : array {
return [
[
"name" => [
"text" => "My event 1",
],
"start" => [
"timezone" => "America/Montreal",
"local" => "2022-08-30T19:00:00",
"utc" => "2022-08-30T23:00:00Z",
],
"end" => [
"timezone" => "America/Montreal",
"local" => "2022-08-30T22:00:00",
"utc" => "2022-08-31T02:00:00Z",
],
"organization_id" => ORGANIZATION,
"status" => "draft",
"id" => "1",
"is_series" => TRUE,
"series_id" => "S1",
],
[
"name" => [
"text" => "My event 2",
],
"start" => [
"timezone" => "America/Montreal",
"local" => "2100-08-30T19:00:00",
"utc" => "2100-08-30T23:00:00Z",
],
"end" => [
"timezone" => "America/Montreal",
"local" => "2100-08-30T22:00:00",
"utc" => "2100-08-31T02:00:00Z",
],
"organization_id" => ORGANIZATION,
"status" => "draft",
"id" => "2",
"is_series" => TRUE,
"series_id" => "S1",
],
[
"name" => [
"text" => "My event 3",
],
"start" => [
"timezone" => "America/Montreal",
"local" => "2101-08-30T19:00:00",
"utc" => "2101-08-30T23:00:00Z",
],
"end" => [
"timezone" => "America/Montreal",
"local" => "2102-08-30T22:00:00",
"utc" => "2102-08-31T02:00:00Z",
],
"organization_id" => ORGANIZATION,
"status" => "draft",
"id" => "3",
"is_series" => FALSE,
],
];
}
function events_page_2() : array {
return [
event_1234(),
];
}
function users_me() : array {
return [
"emails" => [
[
"email" => "dummy_account@example.com",
"verified" => false,
"primary" => true,
],
],
"id" => "12345",
"name" => "Dummy Account for Drupal Eventbrite One-Way Sync Module",
"first_name" => "Dummy",
"last_name" => "Account",
"is_public" => false,
"image_id" => "1234",
];
}
function event_1234() {
return [
"name" => [
"text" => "My event 4",
],
"start" => [
"timezone" => "America/Montreal",
"local" => "2022-08-30T19:00:00",
"utc" => "2022-08-30T23:00:00Z",
],
"end" => [
"timezone" => "America/Montreal",
"local" => "2022-08-30T22:00:00",
"utc" => "2022-08-31T02:00:00Z",
],
"organization_id" => ORGANIZATION,
"status" => "draft",
"id" => "1234",
"is_series" => TRUE,
"series_id" => "S1",
];
}
// @codingStandardsIgnoreEnd
