From 81f54e44a2bda9aa93d74da288386186d9c5ad51 Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Fri, 16 Sep 2016 09:48:55 +0200 Subject: [PATCH] =?UTF-8?q?Weitere=20Bugs=20behoben.=20Der=20gr=C3=B6?= =?UTF-8?q?=C3=9Fte=20Teils=20dieses=20Tools=20sollte=20nun=20so=20langsam?= =?UTF-8?q?=20funktionieren.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/LanguageController.php | 18 ++++++++++++++++++ resources/views/languages/edit.blade.php | 2 +- resources/views/languages/overview.blade.php | 9 ++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/LanguageController.php b/app/Http/Controllers/LanguageController.php index 9ea2ccfa0..7e5f1dbd2 100644 --- a/app/Http/Controllers/LanguageController.php +++ b/app/Http/Controllers/LanguageController.php @@ -142,6 +142,7 @@ class LanguageController extends Controller } + $t = $this->htmlEscape($t, $to); $t = $this->createHints($t, $to); return view('languages.edit') @@ -157,6 +158,20 @@ class LanguageController extends Controller ->with('new', $ex["new"]); } + private function htmlEscape($t, $to) + { + foreach ($t as $key => $langTexts) { + if ($langTexts !== "") { + foreach ($langTexts as $lang => $text) { + if ($lang !== $to) { + $t[$key][$lang] = htmlspecialchars($text); + } + } + } + } + return $t; + } + private function createHints($t, $to) { foreach ($t as $key => $langTexts) { @@ -166,6 +181,9 @@ class LanguageController extends Controller if (preg_match("/\s:\S+/si", $text)) { $t[$key][$lang] = preg_replace("/(\s)(:\S+)/si", "$1<a class=\"text-danger hint\" data-toggle=\"tooltip\" data-trigger=\"hover\" data-placement=\"auto\" title=\"Dies ist ein Variablenname. Er wird dort, wo der Text verwendet wird durch einen dynamischen Wert ersetzt. In der Übersetzung sollte dieser deshalb auch so wie er ist in den Satz integriert werden.\" data-container=\"body\" >$2</a>", $text); } + if (preg_match("/<.*?>/si", $text)) { + $t[$key][$lang] = preg_replace("/(<.*?>)/si", "<a class=\"text-danger hint\" data-toggle=\"tooltip\" data-trigger=\"hover\" data-placement=\"auto\" title=\"Dies ist ein sogenanntes HTML-Tag. Wenn Sie sich das zutrauen, bauen Sie diese HTML Tags gerne so wie sie sind in Ihre Übersetzung ein. Achten Sie hierbei darauf, dass der Text zwischen den Tags auch bei der Übersetzung an der logisch gleichen Stelle von den Tags umfasst ist.\" data-container=\"body\" >$1</a>", $text); + } } } diff --git a/resources/views/languages/edit.blade.php b/resources/views/languages/edit.blade.php index 631daaf65..efdd84ddf 100644 --- a/resources/views/languages/edit.blade.php +++ b/resources/views/languages/edit.blade.php @@ -37,7 +37,7 @@ In der nächsten Spalte findest du entweder Texte der Sprache für die uns einig @else <tr> <td class="name">{{preg_replace("/(\s*).*#(.*)$/si", "$1$2", $name)}}</td> - <td>@if(isset($langValues[$to])) <input type="text" size="50" form="submit" name="_new_{{$name}}" value="{{$langValues[$to]}}" readonly /> @else <input type="text" size="50" form="submit" name="_new_{{$name}}" /> @endif</td> + <td>@if(isset($langValues[$to])) <input type="text" size="50" form="submit" name="{{$name}}" value="{{$langValues[$to]}}" readonly /> @else <input type="text" size="50" form="submit" name="_new_{{$name}}" /> @endif</td> @foreach($langs as $lang => $value) <td>{!! $langValues[$lang] or "" !!}</td> @endforeach diff --git a/resources/views/languages/overview.blade.php b/resources/views/languages/overview.blade.php index 89ab3ffba..2a136ae47 100644 --- a/resources/views/languages/overview.blade.php +++ b/resources/views/languages/overview.blade.php @@ -19,7 +19,14 @@ <tr @if(floor(($values['textCount'] / count($sum)) * 100) < 100) class="danger" @else class="success" @endif> <td>{{$lang}}</td> <td>{{ $values['textCount'] . "/" . count($sum)}} Texten übersetzt. ({{ floor(($values['textCount'] / count($sum)) * 100) }} %)</td> - <td><a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url("/languages/edit", ['from'=>'all', 'to'=>'de'])) }}" class="btn btn-default @if(!$deComplete && $lang !== "de" || floor(($values['textCount'] / count($sum)) * 100) === 100) disabled @endif">Texte für "{{ $lang }}" ergänzen</a></td> + <td><a href=" + @if( $lang === "de" && floor(($values['textCount'] / count($sum)) * 100) < 100) + {{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url("/languages/edit", ['from'=>'all', 'to'=>'de'])) }} + @elseif($lang !== "de" && floor(($values['textCount'] / count($sum)) * 100) < 100) + {{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url("/languages/edit", ['from'=>'de', 'to'=>$lang])) }} + @else + # + @endif " class="btn btn-default @if((!$deComplete && $lang !== "de") || floor(($values['textCount'] / count($sum)) * 100) >= 100) disabled @endif">Texte für "{{ $lang }}" ergänzen</a></td> </tr> @endforeach </tbody> -- GitLab