From 8d87112492ef046989f66c01f3a3092440b6e898 Mon Sep 17 00:00:00 2001 From: Marco Glietsch Date: Sat, 21 Jan 2023 21:54:53 +0100 Subject: [PATCH] =?UTF-8?q?Anpassung=20f=C3=BCr=20EinsatzApp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Kalenderfeed (iCal) jeder Abteilung läuft jetzt endlos. Umlaute werden angepasst und der Ort tauch jetzt im Beschreibungstext auf --- app/Helpers/StringHelper.php | 24 ++++++++++++++++++++++ app/Http/Controllers/ServiceController.php | 19 ++++++++++------- config/app.php | 3 ++- resources/views/inc/views/iCal.blade.php | 4 ++-- 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/app/Helpers/StringHelper.php b/app/Helpers/StringHelper.php index 9e135940..67def1d6 100644 --- a/app/Helpers/StringHelper.php +++ b/app/Helpers/StringHelper.php @@ -16,4 +16,28 @@ class StringHelper $string = str_replace(' ', '-', $string); return $string; } + + static function normalize($string) + { + $string = strip_tags($string); + $string = str_replace(" ", " ", $string); + $string = str_replace("\r\n", " ", $string); + $string = str_replace("ü", "ü", $string); + $string = str_replace("ä", "ä", $string); + $string = str_replace("ö", "ö", $string); + $string = str_replace("ä", "ä", $string); + $string = str_replace("Ä", "Ä", $string); + $string = str_replace("ö", "ö", $string); + $string = str_replace("Ö", "Ö", $string); + $string = str_replace("ü", "ü", $string); + $string = str_replace("Ü", "Ü", $string); + $string = str_replace("ß", "ß", $string); + + $string = str_replace("</p>", "", $string); + $string = str_replace(">", "", $string); + $string = str_replace("<;", "", $string); + + + return $string; + } } \ No newline at end of file diff --git a/app/Http/Controllers/ServiceController.php b/app/Http/Controllers/ServiceController.php index a7710533..2fcdf52d 100755 --- a/app/Http/Controllers/ServiceController.php +++ b/app/Http/Controllers/ServiceController.php @@ -287,15 +287,21 @@ class ServiceController extends PostController public function showService(Request $request, $year, $department, $instance, $type = 'html') { + $type = strtolower($type); + $this->prepareModelData('SHOW'); $model = $this->newModel() ->select('posts.*', 'tags3.name as serviceType', 'posts.type') ->isPublished() ->where('posts.type', $this->modelType); - if(strtolower($year) != "app") - { - $model = $model->where(DB::raw('year(datetime)'), $year); - } + + if($type != 'dienstplan.ical') + { + if(strtolower($year) != "app") + { + $model = $model->where(DB::raw('year(datetime)'), $year); + } + } $model = $model->join('post_tag as post_tag1', function($join){ $join->on('posts.id', 'post_tag1.post_id'); }) @@ -341,7 +347,6 @@ class ServiceController extends PostController $model->isMainPost = true; $viewFile = ''; - $type = strtolower($type); switch($type) { case 'html': @@ -362,8 +367,8 @@ class ServiceController extends PostController { case 'dienstplan.ical': $response = Response::make($view, 200); - $response->header("Content-Disposition", "attachment; filename=Dienstplan-$year-$department-$instance.ics"); - $response->header("Content-Type", "text/calendar; charset=utf-8"); + $response->header("Content-Disposition", "attachment; filename=Dienstplan-$department-$instance.ics"); + $response->header("Content-Type", "text/calendar; charset=ISO-8859–15"); return $response; break; diff --git a/config/app.php b/config/app.php index 269584bd..bdfa0dbb 100755 --- a/config/app.php +++ b/config/app.php @@ -247,7 +247,8 @@ return [ 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class, 'Wizard' => App\Helpers\WizardHelper::class, 'String' => App\Helpers\StringHelper::class, - 'BreakingNews' => App\Helpers\BreakingNewsHelper::class, + 'StringHelper' => App\Helpers\StringHelper::class, + 'BreakingNews' => App\Helpers\BreakingNewsHelper::class, ], ]; diff --git a/resources/views/inc/views/iCal.blade.php b/resources/views/inc/views/iCal.blade.php index a6d29d47..097df694 100644 --- a/resources/views/inc/views/iCal.blade.php +++ b/resources/views/inc/views/iCal.blade.php @@ -10,8 +10,8 @@ DTSTART:{{ Date::toCal($post->datetime) }} DTEND:{{ Date::toCal($post->datetime, +2) }} UID:{{ $post->id }} SUMMARY:{{ $post->serviceType }} -DESCRIPTION:{{ $post->beschreibung }} -LOCATION:{{ $post->ort }} +DESCRIPTION:{{ StringHelper::normalize($post->beschreibung) }}\nOrt: {{ $post->ort }} +LOCATION: DTSTAMP:{{ Date::toCal($post->created_at) }} BEGIN:VALARM ACTION:DISPLAY