mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-11 18:51:31 +00:00
The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
51 lines
1.8 KiB
PHP
Executable File
51 lines
1.8 KiB
PHP
Executable File
<?php
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
// This script reads event data from a JSON file and outputs those events which are within the range
|
|
// supplied by the "start" and "end" GET parameters.
|
|
//
|
|
// An optional "timeZone" GET parameter will force all ISO8601 date stings to a given timeZone.
|
|
//
|
|
// Requires PHP 5.2.0 or higher.
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
// Require our Event class and datetime utilities
|
|
require dirname(__FILE__) . '/utils.php';
|
|
|
|
// Short-circuit if the client did not give us a date range.
|
|
if (!isset($_GET['start']) || !isset($_GET['end'])) {
|
|
die("Please provide a date range.");
|
|
}
|
|
|
|
// Parse the start/end parameters.
|
|
// These are assumed to be ISO8601 strings with no time nor timeZone, like "2013-12-29".
|
|
// Since no timeZone will be present, they will parsed as UTC.
|
|
$range_start = parseDateTime($_GET['start']);
|
|
$range_end = parseDateTime($_GET['end']);
|
|
|
|
// Parse the timeZone parameter if it is present.
|
|
$time_zone = null;
|
|
if (isset($_GET['timeZone'])) {
|
|
$time_zone = new DateTimeZone($_GET['timeZone']);
|
|
}
|
|
|
|
// Read and parse our events JSON file into an array of event data arrays.
|
|
$json = file_get_contents(dirname(__FILE__) . '/../json/events.json');
|
|
$input_arrays = json_decode($json, true);
|
|
|
|
// Accumulate an output array of event data arrays.
|
|
$output_arrays = array();
|
|
foreach ($input_arrays as $array) {
|
|
|
|
// Convert the input array into a useful Event object
|
|
$event = new Event($array, $time_zone);
|
|
|
|
// If the event is in-bounds, add it to the output
|
|
if ($event->isWithinDayRange($range_start, $range_end)) {
|
|
$output_arrays[] = $event->toArray();
|
|
}
|
|
}
|
|
|
|
// Send JSON to the client.
|
|
echo json_encode($output_arrays);
|