added reporting screen (#1805)

This commit is contained in:
Kevin Papst
2020-07-12 14:05:14 +02:00
committed by GitHub
parent b97d9f692d
commit 164af7ae02
44 changed files with 1294 additions and 79 deletions

View File

@@ -17,22 +17,30 @@ class UserDateTimeFactory
/**
* @var \DateTimeZone
*/
protected $timezone;
private $timezone;
/**
* @var CurrentUser
*/
private $user;
public function __construct(CurrentUser $user)
{
$timezone = date_default_timezone_get();
$user = $user->getUser();
if ($user instanceof User) {
$timezone = $user->getTimezone();
}
$this->timezone = new \DateTimeZone($timezone);
$this->user = $user;
}
public function getTimezone(): \DateTimeZone
{
if (null === $this->timezone) {
$timezone = date_default_timezone_get();
$user = $this->user->getUser();
if ($user instanceof User) {
$timezone = $user->getTimezone();
}
$this->timezone = new \DateTimeZone($timezone);
}
return $this->timezone;
}
@@ -54,7 +62,7 @@ class UserDateTimeFactory
public function createDateTime(string $datetime = 'now'): \DateTime
{
$date = new \DateTime($datetime, $this->timezone);
$date = new \DateTime($datetime, $this->getTimezone());
return $date;
}
@@ -66,7 +74,7 @@ class UserDateTimeFactory
*/
public function createDateTimeFromFormat(string $format, ?string $datetime = 'now')
{
$date = \DateTime::createFromFormat($format, $datetime, $this->timezone);
$date = \DateTime::createFromFormat($format, $datetime, $this->getTimezone());
return $date;
}