From efebfddd580d1b457504f1462e0cbc064844c98e Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 6 Jun 2018 10:00:17 +0200 Subject: [PATCH] Added fallback to default language for phrases . added fallback to default language in PhrasesLib.php . fixed small issues concerning right translation in PhrasesLib.php . all other files: adding translation for Infocenter overview + details page (client- and serverside) --- application/libraries/PhrasesLib.php | 83 +++- .../views/system/infocenter/infocenter.php | 15 +- .../system/infocenter/infocenterDetails.php | 52 ++- .../system/infocenter/studiengangZgvInfo.php | 6 +- .../views/system/infocenter/zgvpruefungen.php | 14 +- application/views/templates/FHC-Header.php | 2 +- .../views/widgets/filter/saveFilter.php | 4 +- .../views/widgets/filter/selectFields.php | 2 +- .../views/widgets/filter/selectFilters.php | 4 +- public/js/FilterWidget.js | 4 +- public/js/PhrasesLib.js | 14 +- public/js/infocenter/infocenterDetails.js | 22 +- public/js/tablesort/tablesort.js | 2 +- system/phrasesupdate.php | 363 ++++++++++++++++-- 14 files changed, 501 insertions(+), 86 deletions(-) diff --git a/application/libraries/PhrasesLib.php b/application/libraries/PhrasesLib.php index 9329bcfc4..be106e6af 100644 --- a/application/libraries/PhrasesLib.php +++ b/application/libraries/PhrasesLib.php @@ -182,6 +182,10 @@ class PhrasesLib /** * Retrives a phrases from the the property _phrases with the given parameters * It also replace parameters inside the phrase if they are provided + * @param string $category Category name which is used to categorize the phrase. + * @param string $phrase Phrase name. + * @param array $parameters Array of String var(s) to be set into phrases' placeholder values (order matters). + * @return string Phrase text */ public function t($category, $phrase, $parameters = array(), $orgeinheit_kurzbz = null, $orgform_kurzbz = null) { @@ -217,18 +221,21 @@ class PhrasesLib /** * Extends the functionalities of the constructor of this class * This is a workaround to use more parameters in the construct since PHP doesn't support many constructors - * The new accepted parameters are: - * - categories: + * @param (array) $params Array of categories and (optional) language. + * categories: * - could be a string or an array of strings. These are the categories used to load phrases * - could be an array of categories, and for each category there is an array of phrases - * - language: optional parameter must be a string. It's used to load phrases + * language: optional parameter must be a string. It's used to load phrases + * stores phrases-array in property $_phrases */ private function _extend_construct($params) { // Checks if the $params is an array with at least one element if (is_array($params) && count($params) > 0) { - $parameters = $params[0]; // temporary variable + $parameters = $params[0]; // temporary variable + $indexArray = false; //flag for indexed array + $assocArray = false; //flag for associative array // If there are parameters if (is_array($parameters) && count($parameters) > 0) @@ -252,16 +259,75 @@ class PhrasesLib $language = $this->_ci->PersonModel->getLanguage(getAuthUID()); } - // checks if categories is associative or indexed array + // Checks if categories is associative or indexed array if (ctype_digit(implode('', array_keys($categories)))) { - // Loads phrases + // is indexed array -> Loads phrases + $indexArray = true; $phrases = $this->_ci->PhraseModel->getPhrasesByCategoryAndLanguage($categories, $language); } else { - // Loads specific phrasentexte by category and phrases - $phrases = $this->_ci->PhraseModel->getPhrasesByCategoryAndPhrasesAndLanguage($categories, $language); + // is assoc array -> Loads specific phrasentexte by category and phrases + $assocArray = true; + $phrases = $this->_ci->PhraseModel + ->getPhrasesByCategoryAndPhrasesAndLanguage($categories, $language); + } + + // If language is not default language and phrasentext is null -> fallback to default language + if ($language != DEFAULT_LANGUAGE) + { + // get array with phrasentexte in the default language + $defaultPhrases = array(); + if ($indexArray) + { + $defaultPhrases = $this->_ci->PhraseModel + ->getPhrasesByCategoryAndLanguage($categories, DEFAULT_LANGUAGE); + } + elseif ($assocArray) + { + $defaultPhrases = $this->_ci->PhraseModel + ->getPhrasesByCategoryAndPhrasesAndLanguage($categories, DEFAULT_LANGUAGE); + } + + // combine array with phrasentexte in users language and in default language + // (default used if phrasentext in users language is null or not set) + $phrasesArr = array(); + if (!empty($phrases->retval)) + { + // loop through phrases in default language + foreach ($defaultPhrases->retval as $defaultPhrase) + { + $phraseObj = new stdClass(); + $found = false; // flag for found phrase + + // loop through phrases in users language + foreach ($phrases->retval as $phrase) + { + // if same phrase and category found and text is not null + // use phrase in users language + if ($phrase->phrase === $defaultPhrase->phrase + && $phrase->category === $defaultPhrase->category + && !is_null($phrase->text)) + { + $found = true; + array_push($phrasesArr, $phrase); + break; + } + } + + // otherwise use phrase in default language + if (!$found) + { + array_push($phrasesArr, $defaultPhrase); + } + } + $phrases->retval = $phrasesArr; + } + else + { + $phrases->retval = $defaultPhrases->retval; + } } // If there are phrases loaded then store them in the property _phrases @@ -275,6 +341,7 @@ class PhrasesLib /** * Returns the property _phrases JSON encoded + * @return json encoded property _phrases */ public function getJSON() { diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index b747d9810..41431922e 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -12,10 +12,10 @@ 'tablesorter' => true, 'ajaxlib' => true, 'filterwidget' => true, - 'phrases'=> array( + 'phrases' => array( 'person' => array('vorname', 'nachname'), - 'ui' => array('speichern'), - 'global' => array('mailAnXversandt') + 'global' => array('mailAnXversandt'), + 'ui' => array('bitteEintragWaehlen') ), 'navigationwidget' => true, 'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css', @@ -33,12 +33,17 @@
- +
load->view('system/infocenter/infocenterData.php', array('fhc_controller_id' => $fhc_controller_id)); + $this->load->view( + 'system/infocenter/infocenterData.php', + array('fhc_controller_id' => $fhc_controller_id) + ); ?>
diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 39da27aad..069cd99c7 100755 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -24,8 +24,33 @@ array( 'public/js/bootstrapper.js', 'public/js/tablesort/tablesort.js', - 'public/js/infocenter/infocenterDetails.js') + 'public/js/infocenter/infocenterDetails.js' + ), + 'phrases' => + array( + 'infocenter' => + array( + 'notizHinzufuegen', + 'notizAendern', + 'bewerberParken', + 'bewerberAusparken', + 'nichtsZumAusparken', + 'fehlerBeimAusparken', + 'fehlerBeimParken', + 'bewerberGeparktBis' + ), + 'ui' => + array( + 'gespeichert', + 'fehlerBeimSpeichern' + ), + 'global' => + array( + 'bis', + 'zeilen' + ) ) + ) ); ?> @@ -44,14 +69,17 @@
- p->t('global', 'wirdBearbeitetVon') . ':' ?> + p->t('global', 'wirdBearbeitetVon').':' ?>    -  p->t('ui', 'freigeben')) ?> + +   + p->t('ui', 'freigeben')) ?> +
@@ -61,7 +89,9 @@
-

p->t('global','stammdaten')) ?>

+
+

p->t('global', 'stammdaten')) ?>

+
load->view('system/infocenter/stammdaten.php'); ?> load->view('system/infocenter/anmerkungenZurBewerbung.php'); ?> @@ -75,7 +105,9 @@
-

p->t('infocenter','dokumentenpruefung')) ?>

+
+

p->t('infocenter', 'dokumentenpruefung')) ?>

+
load->view('system/infocenter/dokpruefung.php'); ?>
@@ -89,7 +121,8 @@
-

p->t('infocenter', 'zgv') . ' - ' . ucfirst($this->p->t('lehre','pruefung'))?>

+

p->t('infocenter', 'zgv'). ' - '. + ucfirst($this->p->t('lehre', 'pruefung'))?>

load->view('system/infocenter/zgvpruefungen.php'); ?> @@ -104,7 +137,7 @@
-

p->t('global','nachrichten')) ?>

+

p->t('global', 'nachrichten')) ?>

@@ -123,7 +156,8 @@
-

p->t('global','notizen')) . ' & ' . ucfirst($this->p->t('global','aktivitaeten')) ?>

+

p->t('global', 'notizen')). ' & '. + ucfirst($this->p->t('global', 'aktivitaeten')) ?>

diff --git a/application/views/system/infocenter/studiengangZgvInfo.php b/application/views/system/infocenter/studiengangZgvInfo.php index 6242d0db6..813a87889 100644 --- a/application/views/system/infocenter/studiengangZgvInfo.php +++ b/application/views/system/infocenter/studiengangZgvInfo.php @@ -17,13 +17,13 @@ $this->load->view(
- +
- Keine Zugangsvoraussetzungen für den Studiengang definiert - p->t('infocenter', 'keineZugangsvoraussetzungenTxt'); ?> +
-
+
zgvmanation_bez; @@ -220,7 +220,7 @@
@@ -248,7 +248,7 @@ class="d-inline float-right" required> @@ -322,7 +322,7 @@ data-toggle="modal" data-target="#freigabeModal_prestudent_id ?>" data-toggle="tooltip" title=""> - p->t('ui', 'freigabeAnStudiengang') ?> + p->t('ui', 'freigabeAnStudiengang') ?>
@@ -339,10 +339,10 @@ + p->t('infocenter', 'freigabeBestaetigen') ?>
diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index fcfc4cdf6..33326cb56 100755 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -95,7 +95,7 @@ function _generateJSPhrasesStorageObject($phrases) $toPrint = "\n"; $toPrint .= ''; diff --git a/application/views/widgets/filter/saveFilter.php b/application/views/widgets/filter/saveFilter.php index c1f09a413..b338d3f3b 100644 --- a/application/views/widgets/filter/saveFilter.php +++ b/application/views/widgets/filter/saveFilter.php @@ -2,14 +2,14 @@
- Filter description: + p->t('global', 'beschreibung')); ?>: - +
diff --git a/application/views/widgets/filter/selectFields.php b/application/views/widgets/filter/selectFields.php index 73461840a..e511936af 100644 --- a/application/views/widgets/filter/selectFields.php +++ b/application/views/widgets/filter/selectFields.php @@ -2,7 +2,7 @@
- Add field: + p->t('filter', 'feldHinzufuegen')); ?>: diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index ffb93dfe5..babf34423 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -4,7 +4,7 @@
- Add filter: + p->t('filter', 'filterHinzufuegen')); ?>: @@ -12,6 +12,6 @@ - +
diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js index 004f4ddac..60ca22f2f 100644 --- a/public/js/FilterWidget.js +++ b/public/js/FilterWidget.js @@ -78,7 +78,7 @@ var FHC_FilterWidget = { $("#filterSelectFieldsDnd").append(strHtml); } - var strDropDown = ''; + var strDropDown = ''; $("#addField").append(strDropDown); if (data.allSelectedFields != null) @@ -126,7 +126,7 @@ var FHC_FilterWidget = { if (data != null) { - var strDropDown = ''; + var strDropDown = ''; $("#addFilter").append(strDropDown); if (data.selectedFilters != null) diff --git a/public/js/PhrasesLib.js b/public/js/PhrasesLib.js index a676bb7c8..4818c7de4 100644 --- a/public/js/PhrasesLib.js +++ b/public/js/PhrasesLib.js @@ -24,13 +24,13 @@ var FHC_PhraseLib = { * @param {array} params : String-parameters to be set in variables in phrasentext * @returns {String} : phrase-text */ - t: function(category, phrase, params = []) { + t: function (category, phrase, params = []) { // Checks if FHC_JS_PHRASES_STORAGE_OBJECT is an array if ($.isArray(FHC_JS_PHRASES_STORAGE_OBJECT)) { // loop through global JS PHRASES STORAGE OBJECT and search for phrase - for (var i in FHC_JS_PHRASES_STORAGE_OBJECT) + for (i in FHC_JS_PHRASES_STORAGE_OBJECT) { var phraseObj = FHC_JS_PHRASES_STORAGE_OBJECT[i]; // Single phrase object @@ -41,17 +41,17 @@ var FHC_PhraseLib = { && phraseObj.text.trim() != '') { // If params is null or not an array - if (params == null || (params != null && $.isArray(params))) + if (params == null || (params != null && !$.isArray(params))) { params = []; } - - return = FHC_PhraseLib._replacePhraseVariable(phraseObj.text, params); // parsing + + return FHC_PhraseLib._replacePhraseVariable(phraseObj.text, params); // parsing } } } - return '<< PHRASE ' + phraseObj.phrase + ' >>'; + return '<< PHRASE ' + phrase + ' >>'; }, //------------------------------------------------------------------------------------------------------------------ @@ -63,7 +63,7 @@ var FHC_PhraseLib = { * @param {array} replaceStringArr : String-array to be set in variables in phrasentext (order matters) * @returns {String} : replaced phrasen-text */ - _replacePhraseVariable: function(phrase, replaceStringArr) { + _replacePhraseVariable: function (phrase, replaceStringArr) { for (var i = 0; i < replaceStringArr.length; i++) { phrase = phrase.replace(/\{(.*?)\}/, replaceStringArr[i]); diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index 60b461bc1..93cf49b07 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -133,7 +133,7 @@ $(document).ready( var notizTitle = $(this).find("td:eq(1)").text(); var notizContent = this.title; - $("#notizform label:first").text("Notiz ändern").css("color", "red"); + $("#notizform label:first").text(FHC_PhraseLib.t('infocenter', 'notizAendern')).css("color", "red"); $("#notizform :input[type='reset']").css("display", "inline-block"); $("#notizform :input[name='hiddenNotizId']").val(notizId); @@ -243,7 +243,7 @@ var InfocenterDetails = { saveZgv: function (data) { var zgvError = function(){ - $("#zgvSpeichern_" + prestudentid).before("Fehler beim Speichern der ZGV!  "); + $("#zgvSpeichern_" + prestudentid).before("" + FHC_PhraseLib.t('ui', 'fehlerBeimSpeichern') + "  "); }; var prestudentid = data.prestudentid; @@ -258,7 +258,7 @@ var InfocenterDetails = { if (FHC_AjaxClient.hasData(data)) { InfocenterDetails._refreshLog(); - $("#zgvSpeichern_" + prestudentid).before("ZGV erfolgreich gespeichert!  "); + $("#zgvSpeichern_" + prestudentid).before("" + FHC_PhraseLib.t('ui', 'gespeichert') + "  "); } else { @@ -392,11 +392,11 @@ var InfocenterDetails = { if (data.length > 0) InfocenterDetails.getParkedDate(personid); else - $("#unparkmsg").removeClass().addClass("text-warning").text(" Nichts zum Ausparken."); + $("#unparkmsg").removeClass().addClass("text-warning").text(FHC_PhraseLib.t('infocenter', 'nichtsZumAusparken')); } }, errorCallback: function(){ - $("#unparkmsg").removeClass().addClass("text-danger").text(" Fehler beim Ausparken!"); + $("#unparkmsg").removeClass().addClass("text-danger").text(FHC_PhraseLib.t('infocenter', 'fehlerBeimAusparken')); }, veilTimeout: 0 } @@ -440,8 +440,8 @@ var InfocenterDetails = { { $("#parking").html( '
'+ - '     '+ - 'bis  '+ + '     '+ + FHC_PhraseLib.t('global', 'bis') + '  '+ ' '+ ''+ '
'); @@ -467,8 +467,8 @@ var InfocenterDetails = { var parkdate = $.datepicker.parseDate("yy-mm-dd", date); var gerparkdate = $.datepicker.formatDate("dd.mm.yy", parkdate); $("#parking").html( - 'BewerberIn geparkt bis '+gerparkdate+'     '+ - ' '+ + FHC_PhraseLib.t('infocenter', 'bewerberGeparktBis')+'  '+gerparkdate+'     '+ + ' '+ '' ); @@ -491,11 +491,11 @@ var InfocenterDetails = { { $("#notizmsg").empty(); $("#notizform :input[name='hiddenNotizId']").val(""); - $("#notizform label:first").text("Notiz hinzufügen").css("color", "black"); + $("#notizform label:first").text(FHC_PhraseLib.t('infocenter', 'notizHinzufuegen')).css("color", "black"); $("#notizform :input[type='reset']").css("display", "none"); }, _errorSaveNotiz: function() { - $("#notizmsg").text("Fehler beim Speichern der Notiz! "); + $("#notizmsg").text(FHC_PhraseLib.t('ui', 'fehlerBeimSpeichern')); } }; diff --git a/public/js/tablesort/tablesort.js b/public/js/tablesort/tablesort.js index f45b55ca7..1f901e74c 100644 --- a/public/js/tablesort/tablesort.js +++ b/public/js/tablesort/tablesort.js @@ -61,7 +61,7 @@ var Tablesort = { size: size, cssDisabled: 'disabled', savePages: false, - output: '{startRow} – {endRow} / {totalRows} Zeilen' + output: '{startRow} – {endRow} / {totalRows} ' + FHC_PhraseLib.t('global', 'zeilen') } ); } diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 37d0e2b9e..ab29ee6e2 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -26,7 +26,7 @@ $new = false; -$phrases = array( +$phrases = array( //******************* CORE/global array( 'app' => 'core', @@ -48,6 +48,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'global', + 'phrase' => 'zeilen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Zeilen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'lines', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'global', @@ -930,6 +950,27 @@ $phrases = array( ) ), + array( + 'app' => 'core', + 'category' => 'global', + 'phrase' => 'beschreibung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Beschreibung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'description', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + //******************************* CORE/ui array( @@ -1252,6 +1293,46 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'fehlerBeimSpeichern', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler beim Speichern', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Error on Saving', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'gespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gespeichert', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Saved', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), //*************************** CORE/filter @@ -1276,6 +1357,70 @@ $phrases = array( ) ), + array( + 'app' => 'core', + 'category' => 'filter', + 'phrase' => 'filterHinzufuegen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Filter hinzufügen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'add filter', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + + array( + 'app' => 'core', + 'category' => 'filter', + 'phrase' => 'feldHinzufuegen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Feld hinzufügen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'add field', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + + array( + 'app' => 'core', + 'category' => 'filter', + 'phrase' => 'filterBeschreibung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Filter Beschreibung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'filter description', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + + //**************************** CORE/person @@ -2205,6 +2350,46 @@ $phrases = array( ) ) ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'zugangsvoraussetzungen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Zugangsvoraussetzungen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => '', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'keineZugangsvoraussetzungenTxt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Keine Zugangsvoraussetzungen für den Studiengang definiert', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => '', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'infocenter', 'category' => 'infocenter', @@ -2294,8 +2479,8 @@ $phrases = array( array( 'sprache' => 'German', 'text' => 'Bei Absage von InteressentInnen erhalten diese den Status "Abgewiesener" und deren ' - . 'ZGV-Daten können im Infocenter nicht mehr bearbeitet oder freigegeben werden. ' - . 'Alle nicht gespeicherten ZGV-Daten gehen verloren. Fortfahren?', + .'ZGV-Daten können im Infocenter nicht mehr bearbeitet oder freigegeben werden. ' + .'Alle nicht gespeicherten ZGV-Daten gehen verloren. Fortfahren?', 'description' => '', 'insertvon' => 'system' ), @@ -2401,7 +2586,7 @@ $phrases = array( ), array( 'sprache' => 'English', - 'text' => '', + 'text' => 'Approve applicant', 'description' => '', 'insertvon' => 'system' ) @@ -2504,7 +2689,7 @@ $phrases = array( ), array( 'sprache' => 'English', - 'text' => 'change note', + 'text' => 'Change note', 'description' => '', 'insertvon' => 'system' ) @@ -2589,7 +2774,128 @@ $phrases = array( 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'bewerberParken', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'BewerberIn parken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Park applicant', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'bewerberAusparken', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'BewerberIn ausparken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Unpark applicant', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'nichtsZumAusparken', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nichts zum ausparken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => '', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'fehlerBeimAusparken', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler beim Ausparken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => '', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'fehlerBeimParken', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler beim Parken', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => '', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'infocenter', + 'category' => 'infocenter', + 'phrase' => 'bewerberGeparktBis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'BewerberIn geparkt bis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Applicant parked until', + 'description' => '', + 'insertvon' => 'system' + ) + ) ) + ); @@ -2602,9 +2908,9 @@ foreach ($phrases as $phrase) $qry = "SELECT phrase_id FROM system.tbl_phrase WHERE - app=" . $db->db_add_param($phrase['app']) . " AND - category=" . $db->db_add_param($phrase['category']) . " AND - phrase=" . $db->db_add_param($phrase['phrase']); + app=". $db->db_add_param($phrase['app']). " AND + category=". $db->db_add_param($phrase['category']). " AND + phrase=". $db->db_add_param($phrase['phrase']); //*** CHECK PHRASE if ($result = $db->db_query($qry)) @@ -2621,11 +2927,11 @@ foreach ($phrases as $phrase) insertvon, category) VALUES(". - $db->db_add_param($phrase['app']) . ','. - $db->db_add_param($phrase['phrase']) . ','. + $db->db_add_param($phrase['app']). ','. + $db->db_add_param($phrase['phrase']). ','. ' now(),'. - $db->db_add_param($phrase['insertvon']) . ','. - $db->db_add_param($phrase['category']) . ');'; + $db->db_add_param($phrase['insertvon']). ','. + $db->db_add_param($phrase['category']). ');'; if ($db->db_query($qry_insert)) { @@ -2639,11 +2945,11 @@ foreach ($phrases as $phrase) $phrase_id = $obj->id; } } - echo 'Kategorie/Phrase: ' . $phrase['category'] . '/' . $phrase['phrase'] . ' hinzugefügt
'; + echo 'Kategorie/Phrase: '. $phrase['category']. '/'. $phrase['phrase']. ' hinzugefügt
'; } else - echo 'Fehler: ' . $phrase['category'] . '/' . $phrase['phrase'] . ' hinzufügen nicht möglich
'; - + echo 'Fehler: '. $phrase['category']. '/'. + $phrase['phrase']. ' hinzufügen nicht möglich
'; } //phrase existing -> get phrase_id else @@ -2652,23 +2958,23 @@ foreach ($phrases as $phrase) { $phrase_id = $obj->phrase_id; } - echo 'Kategorie/Phrase: ' . $phrase['category'] . '/' . $phrase['phrase'] . ' vorhanden.
'; + echo 'Kategorie/Phrase: '. $phrase['category']. '/'. $phrase['phrase']. ' vorhanden.
'; } //*** CHECK PHRASENTEXT //loop through languages foreach ($phrase['phrases'] as $phrase_phrases) - { + { $language = $phrase_phrases['sprache']; //query phrasentext in certain language - $qry_language = + $qry_language = "SELECT * FROM system.tbl_phrasentext WHERE - phrase_id=" . $phrase_id . " AND - sprache='" . $language . "'"; + phrase_id=". $phrase_id. " AND + sprache='". $language. "'"; if ($result_language = $db->db_query($qry_language)) @@ -2686,22 +2992,25 @@ foreach ($phrases as $phrase) insertamum, insertvon) VALUES(". - $db->db_add_param($phrase_id, FHC_INTEGER) . ','. - $db->db_add_param($phrase_phrases['sprache']) . ','. + $db->db_add_param($phrase_id, FHC_INTEGER). ','. + $db->db_add_param($phrase_phrases['sprache']). ','. ' NULL,'. ' NULL,'. - $db->db_add_param($phrase_phrases['text']) . ','. - $db->db_add_param($phrase_phrases['description']) . ','. + $db->db_add_param($phrase_phrases['text']). ','. + $db->db_add_param($phrase_phrases['description']). ','. ' now(),'. - $db->db_add_param($phrase_phrases['insertvon']) . ');'; + $db->db_add_param($phrase_phrases['insertvon']). ');'; if ($db->db_query($qry_insert)) { - echo '-- Phrasentext ' . strtoupper(substr($phrase_phrases['sprache'], 0, 3)) . ': ' . $phrase_phrases['text'] . ' hinzugefügt
'; + echo '-- Phrasentext '. strtoupper(substr($phrase_phrases['sprache'], 0, 3)). ': '. + $phrase_phrases['text']. ' hinzugefügt
'; } else { - echo 'Fehler: Phrasentext ' . strtoupper(substr($phrase_phrases['sprache'], 0, 3)) . ': '. $phrase_phrases['text'] . ' hinzufügen nicht möglich
'; + echo 'Fehler: Phrasentext '. + strtoupper(substr($phrase_phrases['sprache'], 0, 3)). ': '. $phrase_phrases['text']. + ' hinzufügen nicht möglich
'; } } }