This commit is contained in:
Bernd Bestel 2020-12-28 19:38:52 +01:00
parent f602719794
commit 16f400447a
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 32 additions and 14 deletions

View File

@ -44,13 +44,28 @@ class SystemApiController extends BaseApiController
} }
public function GetSystemTime(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args) public function GetSystemTime(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{
try
{ {
$offset = 0; $offset = 0;
$params = $request->getQueryParams(); $params = $request->getQueryParams();
if (isset($params['offset'])) if (isset($params['offset']))
{
if (!filter_var($params['offset'], FILTER_VALIDATE_INT))
{
throw new \Exception('Query parameter "offset" is not a valid integer');
}
$offset = $params['offset']; $offset = $params['offset'];
}
return $this->ApiResponse($response, $this->getApplicationService()->GetSystemTime($offset)); return $this->ApiResponse($response, $this->getApplicationService()->GetSystemTime($offset));
} }
catch (\Exception $ex)
{
return $this->GenericErrorResponse($response, $ex->getMessage());
}
}
public function LogMissingLocalization(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args) public function LogMissingLocalization(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args)
{ {

View File

@ -83,15 +83,18 @@ class ApplicationService extends BaseService
return $dt->format('Y-m-d H:i:s'); return $dt->format('Y-m-d H:i:s');
} }
private static function getSqliteLocaltime(int $offset): string private static function getSqliteLocaltime(int $offset): string
{ {
$pdo = new \PDO('sqlite::memory:'); $pdo = new \PDO('sqlite::memory:');
if ($offset > 0) if ($offset > 0)
{
return $pdo->query('SELECT datetime(\'now\', \'+' . $offset . ' seconds\', \'localtime\');')->fetch()[0]; return $pdo->query('SELECT datetime(\'now\', \'+' . $offset . ' seconds\', \'localtime\');')->fetch()[0];
}
else else
{
return $pdo->query('SELECT datetime(\'now\', \'' . $offset . ' seconds\', \'localtime\');')->fetch()[0]; return $pdo->query('SELECT datetime(\'now\', \'' . $offset . ' seconds\', \'localtime\');')->fetch()[0];
} }
}
/** /**
* Returns the response for the API call /system/time * Returns the response for the API call /system/time