From f23606de643033505afec6132ec994d0f3b7c46d Mon Sep 17 00:00:00 2001 From: Dave M Date: Wed, 12 Oct 2022 18:29:59 +0000 Subject: [PATCH] Merge done --- src/ControllerTrait.php | 11 +++--- view/lean/widget/calendar.phtml | 67 +++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 view/lean/widget/calendar.phtml diff --git a/src/ControllerTrait.php b/src/ControllerTrait.php index 8a80e1a..4cc0476 100644 --- a/src/ControllerTrait.php +++ b/src/ControllerTrait.php @@ -9,8 +9,7 @@ use Picea, use Psr\Http\Message\ServerRequestInterface; use Storage\Session; - -use Laminas\Diactoros\Response\{ HtmlResponse, TextResponse, RedirectResponse, JsonResponse, EmptyResponse }; +use Laminas\Diactoros\Response\{EmptyResponse, HtmlResponse, TextResponse, RedirectResponse, JsonResponse}; use Ulmus\EntityCollection; @@ -79,12 +78,12 @@ trait ControllerTrait { public static function renderNothing(int $code = 204, array $headers = []) : ResponseInterface { - return new EmptyResponse($code, $headers); + return new EmptyResponse($code, $headers); } - public static function renderText(string $text, int $code = 200, array $headers = []) : ResponseInterface + public static function renderText(string $html, int $code = 200, array $headers = []) : ResponseInterface { - return new TextResponse($text, $code, $headers); + return new TextResponse($html, $code, $headers); } public static function renderHtml(string $html, int $code = 200, array $headers = []) : ResponseInterface @@ -92,7 +91,7 @@ trait ControllerTrait { return new HtmlResponse($html, $code, $headers); } - public static function renderJson(array $data, int $code = 200, array $headers = []) : ResponseInterface + public static function renderJson(/*\JsonSerializable|array*/ $data, int $code = 200, array $headers = []) : ResponseInterface { return new JsonResponse($data, $code, $headers); } diff --git a/view/lean/widget/calendar.phtml b/view/lean/widget/calendar.phtml new file mode 100644 index 0000000..634cebd --- /dev/null +++ b/view/lean/widget/calendar.phtml @@ -0,0 +1,67 @@ +{% use + Ulmus\Entity\Field\Date +%} + +{% arguments int $month, int $year %} + +{% define "week.heading", int $day, int $month, int $year %} +{% define "day.content", \DateTime $date, bool $today %} +{% define "day.empty", int $day, int $month, int $year %} + +{% php + $month = ltrim($month, "0"); + $datetime = ( new Date( "{$year}-{$month}-1" ) ); + $index = $datetime->format('w'); + $dayCount = $datetime->format('t'); + $currentDay = 0; +%} + +
+
+ {% foreach range(1, 7) as $day %} + {% slot "week.heading", $day, $month, $year %} +
+ {# Random calendar date that starts on a sunday #} + {{ substr(( new Date("2019-12-$day") )->formatLocale("%A"), 0, 3) }} +
+ {% endslot %} + {% endforeach %} +
+ + {% foreach range(0, 5) as $week %} +
+ {% foreach range(0, 6) as $day %} + {% if ( $week * 6 + $day >= $index ) && ( $currentDay < $dayCount ) %} + {% php + $currentDay++; + %} + + {% slot "day.content", new \DateTime("$year-$month-$currentDay"), date("$year-$month-$currentDay") === date('Y-n-j') %} +
{{ $date->format('d') }}
+ {% endslot %} + {% else %} + {% slot "day.empty", $day, $month, $year %} +
+ {% endslot %} + {% endif %} + {% endforeach %} +
+ + {% if $currentDay >= $dayCount %} + {% break %} + {% endif %} + {% endforeach %} +
+ + \ No newline at end of file