From d130f3d366445c94d87a1fddeafb371e3d89864b Mon Sep 17 00:00:00 2001
From: Dominik Pfennig <dominik@suma-ev.de>
Date: Fri, 16 Sep 2016 08:57:52 +0200
Subject: [PATCH] =?UTF-8?q?Fehler=20in=20der=20Z=C3=A4hlung=20der=20Texte?=
 =?UTF-8?q?=20behoben.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/Http/Controllers/LanguageController.php | 23 ++++++++++++++-------
 app/Http/Controllers/MailController.php     | 12 +++++------
 app/MetaGer.php                             |  5 +----
 resources/lang/de/fokiNames.php             | 10 ---------
 resources/lang/de/languages.php             |  4 ++++
 resources/lang/en/fokiNames.php             | 10 ---------
 6 files changed, 26 insertions(+), 38 deletions(-)
 delete mode 100644 resources/lang/de/fokiNames.php
 create mode 100644 resources/lang/de/languages.php
 delete mode 100644 resources/lang/en/fokiNames.php

diff --git a/app/Http/Controllers/LanguageController.php b/app/Http/Controllers/LanguageController.php
index 29fe795f4..9ea2ccfa0 100644
--- a/app/Http/Controllers/LanguageController.php
+++ b/app/Http/Controllers/LanguageController.php
@@ -34,8 +34,9 @@ class LanguageController extends Controller
                     $tmp = include $filename;
                     foreach ($tmp as $key => $value) {
                         $sum = array_merge($sum, $this->getValues([$key => $value], basename($filename)));
+                        $langTexts[$dir]["textCount"] += count($this->getValues([$key => $value]));
                     }
-                    $langTexts[$dir]["textCount"] += count($tmp);
+
                 }
 
             }
@@ -83,9 +84,10 @@ class LanguageController extends Controller
                     foreach ($tmp as $key => $value) {
                         $sum                                    = array_merge($sum, $this->getValues([$key => $value], basename($filename)));
                         $texts[basename($filename)][$key][$dir] = $value;
+                        $langTexts[$dir] += count($this->getValues([$key => $value]));
                     }
                     $filePath[basename($filename)] = preg_replace("/lang\/.*?\//si", "lang/$to/", substr($filename, strpos($filename, "lang")));
-                    $langTexts[$dir] += count($tmp);
+
                 }
 
             }
@@ -111,14 +113,24 @@ class LanguageController extends Controller
             if ($has) {
                 continue;
             }
-
+            while ($this->hasToMuchDimensions($text)) {
+                $text = $this->deMultidimensionalizeArray($text);
+            }
             # Hier können wir später die bereits bearbeiteten Dateien ausschließen.
             foreach ($text as $textname => $languages) {
 
+                if ($languages === "") {
+                    continue;
+                }
+
+                $complete = true;
                 foreach ($languages as $lang => $value) {
                     if ($lang !== $to) {
                         $langs = array_add($langs, $lang, $lang);
                     }
+                    if (!isset($languages[$to]) && isset($languages[$lang])) {
+                        $complete = false;
+                    }
 
                 }
                 if (!isset($languages[$to])) {
@@ -130,10 +142,6 @@ class LanguageController extends Controller
 
         }
 
-        while ($this->hasToMuchDimensions($t)) {
-            $t = $this->deMultidimensionalizeArray($t);
-        }
-
         $t = $this->createHints($t, $to);
 
         return view('languages.edit')
@@ -156,7 +164,6 @@ class LanguageController extends Controller
                 foreach ($langTexts as $lang => $text) {
                     if ($lang !== $to) {
                         if (preg_match("/\s:\S+/si", $text)) {
-                            #die("test");
                             $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);
                         }
 
diff --git a/app/Http/Controllers/MailController.php b/app/Http/Controllers/MailController.php
index 44fbe0d14..aec7b0c92 100644
--- a/app/Http/Controllers/MailController.php
+++ b/app/Http/Controllers/MailController.php
@@ -160,12 +160,12 @@ class MailController extends Controller
 
         $message = "Moin moin,\n\nein Benutzer hat eine Sprachdatei aktualisiert.\nSollten die Texte so in Ordnung sein, ersetzt, oder erstellt die Datei aus dem Anhang in folgendem Pfad:\n$filename\n\nFolgend zusätzlich der Inhalt der Datei:\n\n$output";
 
-        Mail::send(['text' => 'kontakt.mail'], ['messageText' => $message], function ($message) use ($output, $filename) {
-            $message->subject('MetaGer - Sprachdatei');
-            $message->from('noreply@metager.de');
-            $message->to('office@suma-ev.de');
-            $message->attachData($output, basename($filename));
-        });
+        #Mail::send(['text' => 'kontakt.mail'], ['messageText' => $message], function ($message) use ($output, $filename) {
+        #    $message->subject('MetaGer - Sprachdatei');
+        #    $message->from('noreply@metager.de');
+        #    $message->to('office@suma-ev.de');
+        #    $message->attachData($output, basename($filename));
+        #});
 
         # Wir haben nun eine Mail an uns geschickt, welche die entsprechende Datei beinhaltet.
         # Nun müssen wir den Nutzer eigentlich nur noch zurück leiten und die Letzte bearbeitete Datei ausschließen:
diff --git a/app/MetaGer.php b/app/MetaGer.php
index e42484e6e..40d25e73c 100644
--- a/app/MetaGer.php
+++ b/app/MetaGer.php
@@ -668,10 +668,7 @@ class MetaGer
         $this->url = $request->url();
         # Zunächst überprüfen wir die eingegebenen Einstellungen:
         # Fokus
-        $this->fokus = trans('fokiNames.' . $request->input('focus', 'web'));
-        if (strpos($this->fokus, ".")) {
-            $this->fokus = trans('fokiNames.web');
-        }
+        $this->fokus = $request->input('focus', 'web');
         # Suma-File
         if (App::isLocale("en")) {
             $this->sumaFile = config_path() . "/sumas.xml";
diff --git a/resources/lang/de/fokiNames.php b/resources/lang/de/fokiNames.php
deleted file mode 100644
index 26e98681c..000000000
--- a/resources/lang/de/fokiNames.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-return [
-	'web' 			=>	"web",
-	'nachrichten'	=>	"nachrichten",
-	'wissenschaft'	=>	'wissenschaft',
-	'produktsuche'	=>	'produktsuche',
-	'bilder'		=>	'bilder',
-	'angepasst'		=>	'angepasst'
-];
\ No newline at end of file
diff --git a/resources/lang/de/languages.php b/resources/lang/de/languages.php
new file mode 100644
index 000000000..b62512838
--- /dev/null
+++ b/resources/lang/de/languages.php
@@ -0,0 +1,4 @@
+<?php
+
+return [
+];
diff --git a/resources/lang/en/fokiNames.php b/resources/lang/en/fokiNames.php
deleted file mode 100644
index f685ce917..000000000
--- a/resources/lang/en/fokiNames.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-return [
-	'web' 		=>	"web",
-	'news'		=>	"nachrichten",
-	'science'	=>	'wissenschaft',
-	'shopping'	=>	'produktsuche',
-	'images'	=>	'bilder',
-	'custom'	=>	'angepasst'
-];
-- 
GitLab