commit 180e050e8edd62004226338319cfe09bfec08c61
parent f4a94071d580972152936ca4179ab366dc5900a3
Author: Jan Dankert <devnull@localhost>
Date: Thu, 15 Nov 2018 01:02:36 +0100
Template-Source und Template-Extension wird jetzt für alle Modelle gleichzeitig bearbeitet.
Diffstat:
15 files changed, 191 insertions(+), 139 deletions(-)
diff --git a/modules/cms-core/action/TemplateAction.class.php b/modules/cms-core/action/TemplateAction.class.php
@@ -9,7 +9,7 @@ use cms\model\Template;
use cms\model\Page;
-
+use cms\model\TemplateModel;
use Session;
use \Html;
use \Text;
@@ -77,26 +77,38 @@ class TemplateAction extends Action
}
- function srcPost()
+ /**
+ * Speichern des Quelltextes.
+ */
+ public function srcPost()
{
- // Speichern des Quelltextes
- //
- $text = $this->getRequestVar('src','raw');
-
- foreach( $this->template->getElementNames() as $elid=>$elname )
- {
- $text = str_replace('{{'.$elname.'}}' ,'{{'.$elid.'}}',$text );
- $text = str_replace('{{->'.$elname.'}}','{{->'.$elid.'}}',$text );
- $text = str_replace('{{'.lang('TEMPLATE_SRC_IFEMPTY' ).':'.$elname.':'.lang('TEMPLATE_SRC_BEGIN').'}}','{{IFEMPTY:' .$elid.':BEGIN}}',$text );
- $text = str_replace('{{'.lang('TEMPLATE_SRC_IFEMPTY' ).':'.$elname.':'.lang('TEMPLATE_SRC_END' ).'}}','{{IFEMPTY:' .$elid.':END}}' ,$text );
- $text = str_replace('{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$elname.':'.lang('TEMPLATE_SRC_BEGIN').'}}','{{IFNOTEMPTY:'.$elid.':BEGIN}}',$text );
- $text = str_replace('{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$elname.':'.lang('TEMPLATE_SRC_END' ).'}}','{{IFNOTEMPTY:'.$elid.':END}}' ,$text );
- }
-
- $this->template->src = $text;
- $this->template->save();
- $this->template->load();
-
+ $project = new Project( $this->template->projectid );
+ $models = $project->getModels();
+
+ foreach( $models as $modelId => $modelName ) {
+
+ $templatemodel = new TemplateModel($this->template->templateid, $modelId);
+ $templatemodel->load();
+
+ $text = $this->getRequestVar($modelName, 'raw');
+
+ foreach ($this->template->getElementNames() as $elid => $elname) {
+ $text = str_replace('{{' . $elname . '}}', '{{' . $elid . '}}', $text);
+ $text = str_replace('{{->' . $elname . '}}', '{{->' . $elid . '}}', $text);
+ $text = str_replace('{{' . lang('TEMPLATE_SRC_IFEMPTY') . ':' . $elname . ':' . lang('TEMPLATE_SRC_BEGIN') . '}}', '{{IFEMPTY:' . $elid . ':BEGIN}}', $text);
+ $text = str_replace('{{' . lang('TEMPLATE_SRC_IFEMPTY') . ':' . $elname . ':' . lang('TEMPLATE_SRC_END') . '}}', '{{IFEMPTY:' . $elid . ':END}}', $text);
+ $text = str_replace('{{' . lang('TEMPLATE_SRC_IFNOTEMPTY') . ':' . $elname . ':' . lang('TEMPLATE_SRC_BEGIN') . '}}', '{{IFNOTEMPTY:' . $elid . ':BEGIN}}', $text);
+ $text = str_replace('{{' . lang('TEMPLATE_SRC_IFNOTEMPTY') . ':' . $elname . ':' . lang('TEMPLATE_SRC_END') . '}}', '{{IFNOTEMPTY:' . $elid . ':END}}', $text);
+ }
+
+ $templatemodel->src = $text;
+
+ if ( !$templatemodel->isPersistent() )
+ $templatemodel->add();
+ else
+ $templatemodel->save();
+ }
+
$this->addNotice('template',$this->template->name,'SAVED',OR_NOTICE_OK);
}
@@ -206,20 +218,47 @@ class TemplateAction extends Action
}
- // Speichern der Dateiendung
- //
- function extensionPost()
+ /**
+ * Speichern der Dateiendung
+ */
+ public function extensionPost()
{
- if ( $this->getRequestVar('type') == "list" )
- $this->template->extension = $this->getRequestVar('extension');
- else
- $this->template->extension = $this->getRequestVar('extensiontext');
-
- $this->template->save();
+ $project = new Project( $this->template->projectid );
+ $models = $project->getModels();
+
+ $extensions = array();
+ foreach( $models as $modelId => $modelName ) {
+
+ $input = $this->getRequestVar( $modelName );
+
+ // Validierung: Werte dürfen nicht doppelt vorkommen.
+ if ( in_array($input, $extensions) )
+ {
+ $this->addNotice('template',$this->template->name,'DUPLICATE_INPUT','error');
+ throw new \ValidationException( $modelName );
+ }
+
+ $extensions[ $modelId ] = $input;
+ }
+
+ foreach( $models as $modelId => $modelName ) {
+
+ $templatemodel = new TemplateModel($this->template->templateid, $modelId);
+ $templatemodel->load();
+
+ $templatemodel->extension = $extensions[ $modelId ];
+
+ if ( !$templatemodel->isPersistent() )
+ $templatemodel->add();
+ else
+ $templatemodel->save();
+ }
+
$this->addNotice('template',$this->template->name,'SAVED','ok');
}
+
function addelView()
{
// Die verschiedenen Element-Typen
@@ -290,25 +329,27 @@ class TemplateAction extends Action
/**
- * Eigenschaften einer Vorlage anzeigen
+ * Extension einer Vorlage anzeigen
*/
function extensionView()
{
+ $project = new Project( $this->template->projectid );
+ $models = $project->getModels();
- global $conf;
- $mime_types = array();
- foreach( $conf['mime-types'] as $ext=>$type )
- $mime_types[$ext] = $ext.' - '.$type;
+ $modelSrc = array();
- $this->setTemplateVar('mime_types',$mime_types);
+ foreach( $models as $modelId => $modelName )
+ {
+ $templatemodel = new TemplateModel( $this->template->templateid, $modelId );
+ $templatemodel->load();
- $this->setTemplateVar('extension' ,$this->template->extension);
- $this->setTemplateVar('extensiontext',$this->template->extension);
-
- if ( isset($mime_types[$this->template->extension]) )
- $this->setTemplateVar('type','list');
- else
- $this->setTemplateVar('type','text');
+ $modelSrc[ $modelId ] = array(
+ 'name' =>$modelName,
+ 'extension'=>$templatemodel->extension
+ );
+ }
+
+ $this->setTemplateVar( 'extension',$modelSrc );
}
@@ -460,36 +501,52 @@ class TemplateAction extends Action
*/
function srcView()
{
- $text = $this->template->src;
-
- foreach( $this->template->getElementIds() as $elid )
- {
- $element = new Element( $elid );
- $element->load();
+ $project = new Project( $this->template->projectid );
+ $models = $project->getModels();
- $text = str_replace('{{'.$elid.'}}',
- '{{'.$element->name.'}}',
- $text );
- $text = str_replace('{{->'.$elid.'}}',
- '{{->'.$element->name.'}}',
- $text );
- $text = str_replace('{{IFEMPTY:'.$elid.':BEGIN}}',
- '{{'.lang('TEMPLATE_SRC_IFEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_BEGIN').'}}',
- $text );
- $text = str_replace('{{IFEMPTY:'.$elid.':END}}',
- '{{'.lang('TEMPLATE_SRC_IFEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_END').'}}',
- $text );
- $text = str_replace('{{IFNOTEMPTY:'.$elid.':BEGIN}}',
- '{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_BEGIN').'}}',
- $text );
- $text = str_replace('{{IFNOTEMPTY:'.$elid.':END}}',
- '{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_END').'}}',
- $text );
- }
+ $modelSrc = array();
- $this->setTemplateVar( 'src',$text );
-
- }
+ foreach( $models as $modelId => $modelName )
+ {
+ $templatemodel = new TemplateModel( $this->template->templateid, $modelId );
+ $templatemodel->load();
+
+ $text = $templatemodel->src;
+
+ foreach( $this->template->getElementIds() as $elid )
+ {
+ $element = new Element( $elid );
+ $element->load();
+
+ $text = str_replace('{{'.$elid.'}}',
+ '{{'.$element->name.'}}',
+ $text );
+ $text = str_replace('{{->'.$elid.'}}',
+ '{{->'.$element->name.'}}',
+ $text );
+ $text = str_replace('{{IFEMPTY:'.$elid.':BEGIN}}',
+ '{{'.lang('TEMPLATE_SRC_IFEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_BEGIN').'}}',
+ $text );
+ $text = str_replace('{{IFEMPTY:'.$elid.':END}}',
+ '{{'.lang('TEMPLATE_SRC_IFEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_END').'}}',
+ $text );
+ $text = str_replace('{{IFNOTEMPTY:'.$elid.':BEGIN}}',
+ '{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_BEGIN').'}}',
+ $text );
+ $text = str_replace('{{IFNOTEMPTY:'.$elid.':END}}',
+ '{{'.lang('TEMPLATE_SRC_IFNOTEMPTY').':'.$element->name.':'.lang('TEMPLATE_SRC_END').'}}',
+ $text );
+ }
+
+ $modelSrc[ $modelId ] = array(
+ 'name' =>$modelName,
+ 'source'=>$text
+ );
+ }
+
+ $this->setTemplateVar( 'src',$modelSrc );
+
+ }
// Anzeigen aller Templates
diff --git a/modules/cms-core/model/Project.class.php b/modules/cms-core/model/Project.class.php
@@ -153,6 +153,11 @@ class Project extends ModelBase
}
+ /**
+ * Liefert die Projektmodelle als Array mit ID->Name.
+ *
+ * @return array
+ */
public function getModels()
{
$db = db_connection();
diff --git a/modules/cms-core/model/TemplateModel.class.php b/modules/cms-core/model/TemplateModel.class.php
@@ -124,7 +124,9 @@ class TemplateModel
$stmt->setInt ( 'modelid' ,$this->modelid );
$stmt->query();
- }
+
+ $this->templatemodelid = $nextid;
+ }
/**
diff --git a/modules/cms-ui/themes/default/html/views/template/extension.php b/modules/cms-ui/themes/default/html/views/template/extension.php
@@ -1,31 +1,13 @@
-
-
<form name="" target="_self" data-target="view" action="./" data-method="extension" data-action="template" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form template" data-async="" data-autosave=""><input type="hidden" name="<?php echo REQ_PARAM_EMBED ?>" value="1" /><input type="hidden" name="<?php echo REQ_PARAM_TOKEN ?>" value="<?php echo token() ?>" /><input type="hidden" name="<?php echo REQ_PARAM_ACTION ?>" value="template" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="extension" /><input type="hidden" name="<?php echo REQ_PARAM_ID ?>" value="<?php echo OR_ID ?>" />
- <fieldset class="toggle-open-close<?php echo '1'?" open":" closed" ?><?php echo '1'?" show":"" ?>"><div>
- <div class="line">
- <div class="label">
- <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang('TEMPLATE_extension')))); ?></span>
-
- </div>
- <div class="input">
- <input class="radio" type="radio" id="<?php echo REQUEST_ID ?>_type_list" name="type" value="list"<?php if('list'==@$type)echo ' checked="checked"' ?> />
-
- <div class="inputholder"><select id="<?php echo REQUEST_ID ?>_extension" name="extension" title="" class="" size=1"><?php include_once( 'modules/template-engine/components/html/selectbox/component-select-box.php') ?><?php component_select_option_list($mime_types,$extension,1,0) ?><?php if (count($mime_types)==0) { ?><input type="hidden" name="extension" value="" /><?php } ?><?php if (count($mime_types)==1) { ?><input type="hidden" name="extension" value="<?php echo array_keys($mime_types)[0] ?>" /><?php } ?>
- </select></div>
- </div>
- </div>
- <div class="line">
- <div class="label">
- </div>
- <div class="input">
- <input class="radio" type="radio" id="<?php echo REQUEST_ID ?>_type_text" name="type" value="text"<?php if('text'==@$type)echo ' checked="checked"' ?> />
-
- <div class="inputholder"><input id="<?php echo REQUEST_ID ?>_extensiontext" name="extensiontext<?php if ('') echo '_disabled' ?>" type="text" maxlength="256" class="text" value="<?php echo Text::encodeHtml(@$extensiontext) ?>" /><?php if ('') { ?><input type="hidden" name="extensiontext" value="<?php $extensiontext ?>"/><?php } ?></div>
-
- </div>
- </div>
- </div></fieldset>
+ <?php foreach($extension as $list_key=>$list_value){ ?><?php extract($list_value) ?>
+ <fieldset class="toggle-open-close<?php echo '1'?" open":" closed" ?><?php echo '1'?" show":"" ?>"><legend class="on-click-open-close"><div class="arrow arrow-right on-closed"></div><div class="arrow arrow-down on-open"></div><?php echo $name ?></legend><div>
+ <?php $$name= $extension; ?>
+
+ <label class="or-form-row"><span class="or-form-label">?extension?</span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_<?php echo $name ?>" name="<?php echo $name ?><?php if ('') echo '_disabled' ?>" required="required" type="text" maxlength="10" class="text" value="<?php echo Text::encodeHtml(@$$name) ?>" /><?php if ('') { ?><input type="hidden" name="<?php echo $name ?>" value="<?php $$name ?>"/><?php } ?></div></span></label>
+
+ </div></fieldset>
+ <?php } ?>
<div class="or-form-actionbar"><input type="submit" class="or-form-btn or-form-btn--primary" value="OK" /></div></form>
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/template/extension.tpl.src.xml b/modules/cms-ui/themes/default/html/views/template/extension.tpl.src.xml
@@ -1,27 +1,14 @@
<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd">
- <header back="true"></header>
- <form>
- <group>
- <part class="line">
- <part class="label">
- <text text="TEMPLATE_extension"></text>
- </part>
- <part class="input">
- <radio name="type" value="list"></radio>
- <selectbox list="mime_types" name="extension" addempty="true"></selectbox>
- </part>
- </part>
+ xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd">
+ <form>
+ <list list="extension" extract="true">
+ <group title="var:name">
- <part class="line">
- <part class="label">
- </part>
- <part class="input">
- <radio name="type" value="text"></radio>
- <input name="extensiontext" size="10"></input>
- </part>
- </part>
- </group>
- </form>
+ <set var="var:name" value="var:extension"/>
+ <input name="var:name" label="extension" required="true" maxlength="10" />
+ </group>
+ </list>
+
+ </form>
</output>
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/template/src.php b/modules/cms-ui/themes/default/html/views/template/src.php
@@ -1,13 +1,13 @@
-
-
<form name="" target="_self" data-target="view" action="./" data-method="src" data-action="template" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form template" data-async="" data-autosave=""><input type="hidden" name="<?php echo REQ_PARAM_EMBED ?>" value="1" /><input type="hidden" name="<?php echo REQ_PARAM_TOKEN ?>" value="<?php echo token() ?>" /><input type="hidden" name="<?php echo REQ_PARAM_ACTION ?>" value="template" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="src" /><input type="hidden" name="<?php echo REQ_PARAM_ID ?>" value="<?php echo OR_ID ?>" />
- <input type="hidden" name="templateid" value="<?php echo $templateid ?>"/>
-
- <input type="hidden" name="modelid" value="<?php echo $modelid ?>"/>
-
- <textarea name="src" data-extension="" data-mimetype="" data-mode="htmlmixed" class="editor code-editor"><?php echo ${'src'} ?></textarea>
-
+ <?php foreach($src as $list_key=>$list_value){ ?><?php extract($list_value) ?>
+ <fieldset class="toggle-open-close<?php echo '1'?" open":" closed" ?><?php echo '1'?" show":"" ?>"><legend class="on-click-open-close"><div class="arrow arrow-right on-closed"></div><div class="arrow arrow-down on-open"></div><?php echo $name ?></legend><div>
+ <?php $$name= $source; ?>
+
+ <textarea name="<?php echo $name ?>" data-extension="" data-mimetype="" data-mode="htmlmixed" class="editor code-editor"><?php echo ${$name} ?></textarea>
+
+ </div></fieldset>
+ <?php } ?>
<div class="or-form-actionbar"><input type="submit" class="or-form-btn or-form-btn--primary" value="OK" /></div></form>
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/template/src.tpl.src.xml b/modules/cms-ui/themes/default/html/views/template/src.tpl.src.xml
@@ -1,9 +1,14 @@
<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd">
- <header views="srcelement" back="true"></header>
<form>
- <hidden name="templateid" />
- <hidden name="modelid" />
- <editor type="code" name="src" mode="htmlmixed" />
+ <list list="src" extract="true">
+
+ <group title="var:name">
+
+ <set var="var:name" value="var:source" />
+ <editor type="code" name="var:name" mode="htmlmixed" />
+ </group>
+ </list>
+
</form>
</output>
\ No newline at end of file
diff --git a/modules/language/lang-cn.php b/modules/language/lang-cn.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"Elements",
'MENU_TEMPLATE_EXTENSION_DESC'=>"Edit the extension",
'MENU_TEMPLATE_EXTENSION'=>"Extension",
+'TEMPLATE_EXTENSION'=>"Extension of published pages",
'MENU_TEMPLATE_LISTING'=>"All templates",
'MENU_TEMPLATE_LISTING_DESC'=>"View all Templates",
'MENU_TEMPLATE_NAME_DESC'=>"Edit the template name",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"was copied",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"Delete the template with all elements in it",
'TEMPLATE_ELEMENT'=>"Element",
'TEMPLATE_ELEMENTS'=>"Elements",
-'TEMPLATE_EXTENSION'=>"Extension of published pages",
'TEMPLATE_NAME'=>"Template-Name",
'TEMPLATE_SHOW'=>"Template View",
'TEMPLATE_SOURCE'=>"Sourcecode of the template",
diff --git a/modules/language/lang-de.php b/modules/language/lang-de.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"Platzhalter",
'MENU_TEMPLATE_EXTENSION_DESC'=>"Die Erweiterung bearbeiten",
'MENU_TEMPLATE_EXTENSION'=>"Erweiterung",
+'TEMPLATE_EXTENSION'=>"Dateiendung der erzeugten Seiten",
'MENU_TEMPLATE_LISTING'=>"Anzeigen",
'MENU_TEMPLATE_LISTING_DESC'=>"Anzeige aller Vorlagen",
'MENU_TEMPLATE_NAME_DESC'=>"Den Namen der Vorlage bearbeiten",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"Während Ihrer Bearbeitung ist der Inhalt von einem anderen Benutzer um {last_change_time} geändert worden. Ihre Änderung wird nicht gespeichert.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"Während Ihrer Bearbeitung ist dieser Inhalt von einem anderen Benutzer um {last_change_time} geändert worden. Ihre Änderungen wurden gespeichert, prüfen Sie jedoch über das Archiv, ob gemachte Änderungen von Ihnen übernommen werden müssen.",
'NOTICE_COPIED'=>"wurde kopiert.",
+'NOTICE_DUPLICATE_INPUT'=>"Ihre Eingabe muss eindeutig sein.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"Es konnte keine Verbindung zur Datenbank hergestellt werden.",
'ERROR_DATABASE_CONNECTION'=>"Es konnte keine Verbindung zur Datenbank hergestellt werden.",
'ERROR_DATABASE'=>"Es gab einen Fehler bei der Durchführung einer Datenbankanfrage.",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"Löschen der Seitenvorlage incl. Platzhalter",
'TEMPLATE_ELEMENT'=>"Platzhalter",
'TEMPLATE_ELEMENTS'=>"Platzhalter",
-'TEMPLATE_EXTENSION'=>"Dateiendung der erzeugten Seiten",
'TEMPLATE_NAME'=>"Vorlagen-Name",
'TEMPLATE_SHOW'=>"Ansicht der Vorlage",
'TEMPLATE_SOURCE'=>"Quelltext der Vorlage",
diff --git a/modules/language/lang-en.php b/modules/language/lang-en.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"Elements",
'MENU_TEMPLATE_EXTENSION_DESC'=>"Edit the extension",
'MENU_TEMPLATE_EXTENSION'=>"Extension",
+'TEMPLATE_EXTENSION'=>"Extension of published pages",
'MENU_TEMPLATE_LISTING'=>"All templates",
'MENU_TEMPLATE_LISTING_DESC'=>"View all Templates",
'MENU_TEMPLATE_NAME_DESC'=>"Edit the template name",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"was copied",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"Delete the template with all elements in it",
'TEMPLATE_ELEMENT'=>"Element",
'TEMPLATE_ELEMENTS'=>"Elements",
-'TEMPLATE_EXTENSION'=>"Extension of published pages",
'TEMPLATE_NAME'=>"Template-Name",
'TEMPLATE_SHOW'=>"Template View",
'TEMPLATE_SOURCE'=>"Sourcecode of the template",
diff --git a/modules/language/lang-es.php b/modules/language/lang-es.php
@@ -893,6 +893,7 @@ MENU_INDEX_ADMINISTRATION_DESC =",
'MENU_TEMPLATE_EL'=>"elementos",
'MENU_TEMPLATE_EXTENSION_DESC'=>"corregir la extensión",
'MENU_TEMPLATE_EXTENSION'=>"Extension",
+'TEMPLATE_EXTENSION'=>"de la opinión publicada de la plantilla de las páginas",
'MENU_TEMPLATE_LISTING'=>"todas las plantillas",
'MENU_TEMPLATE_LISTING_DESC'=>"ver todas las plantillas",
'MENU_TEMPLATE_NAME_DESC'=>"Éditer le nom de calibre",
@@ -1002,6 +1003,7 @@ MENU_INDEX_ADMINISTRATION_DESC =",
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"fue copiada",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1120,7 +1122,6 @@ MENU_INDEX_ADMINISTRATION_DESC =",
'TEMPLATE_DELETE_DESC'=>"la plantilla con todos los elementos en él",
'TEMPLATE_ELEMENT'=>"extensión de los elementos del elemento",
'TEMPLATE_ELEMENTS'=>"Elements",
-'TEMPLATE_EXTENSION'=>"de la opinión publicada de la plantilla de las páginas",
'TEMPLATE_NAME'=>"Template-Name",
'TEMPLATE_SHOW'=>"Template View",
'TEMPLATE_SOURCE'=>"Sourcecode de la plantilla?",
diff --git a/modules/language/lang-fr.php b/modules/language/lang-fr.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"Éléments",
'MENU_TEMPLATE_EXTENSION_DESC'=>"Éditer la prolongation",
'MENU_TEMPLATE_EXTENSION'=>"Prolongation",
+'TEMPLATE_EXTENSION'=>"Prolongation des pages éditées",
'MENU_TEMPLATE_LISTING'=>"Tous les calibres",
'MENU_TEMPLATE_LISTING_DESC'=>"Regarder tous les calibres",
'MENU_TEMPLATE_NAME_DESC'=>"Éditer le nom de calibre",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"a été copié",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"Supprimer le calibre avec tous les éléments dans lui",
'TEMPLATE_ELEMENT'=>"Élément",
'TEMPLATE_ELEMENTS'=>"Éléments",
-'TEMPLATE_EXTENSION'=>"Prolongation des pages éditées",
'TEMPLATE_NAME'=>"Template-Name",
'TEMPLATE_SHOW'=>"Vue de calibre",
'TEMPLATE_SOURCE'=>"Sourcecode du calibre",
diff --git a/modules/language/lang-it.php b/modules/language/lang-it.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"gli elementi",
'MENU_TEMPLATE_EXTENSION_DESC'=>"pubblicare l'estensione",
'MENU_TEMPLATE_EXTENSION'=>"Extension",
+'TEMPLATE_EXTENSION'=>"della vista pubblicata della mascherina delle pagine",
'MENU_TEMPLATE_LISTING'=>"tutte le mascherine",
'MENU_TEMPLATE_LISTING_DESC'=>"osservare tutte le mascherine",
'MENU_TEMPLATE_NAME_DESC'=>"pubblica il nome della mascherina",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"è stata copiata",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"la mascherina con tutti gli elementi in esso",
'TEMPLATE_ELEMENT'=>"estensione degli elementi dell'elemento",
'TEMPLATE_ELEMENTS'=>"Elements",
-'TEMPLATE_EXTENSION'=>"della vista pubblicata della mascherina delle pagine",
'TEMPLATE_NAME'=>"Template-Name",
'TEMPLATE_SHOW'=>"Template View",
'TEMPLATE_SOURCE'=>"Sourcecode della mascherina?",
diff --git a/modules/language/lang-ru.php b/modules/language/lang-ru.php
@@ -869,6 +869,7 @@ function language() { return array(
'MENU_TEMPLATE_EL'=>"Elements",
'MENU_TEMPLATE_EXTENSION_DESC'=>"Продление Редактировать продлении",
'MENU_TEMPLATE_EXTENSION'=>"Extension",
+'TEMPLATE_EXTENSION'=>"Элементы Продление опубликованных страниц шаблона",
'MENU_TEMPLATE_LISTING'=>"Все шаблоны",
'MENU_TEMPLATE_LISTING_DESC'=>"Просмотр всех Шаблоны",
'MENU_TEMPLATE_NAME_DESC'=>"Имя Редактировать название шаблона",
@@ -978,6 +979,7 @@ function language() { return array(
'NOTICE_CONCURRENT_VALUE_CHANGE_NOT_SAVED'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where not saved.",
'NOTICE_CONCURRENT_VALUE_CHANGE'=>"While your edit session another user has changed this content at {last_change_time}. Your changes where saved, but you should check the archive if the overwritten content should be merged.",
'NOTICE_COPIED'=>"копирования",
+'NOTICE_DUPLICATE_INPUT'=>"Duplicate Input detected.",
'NOTICE_DATABASE_CONNECTION_ERROR'=>"The connection to the database could not be established.",
'ERROR_DATABASE_CONNECTION'=>"ERROR_DATABASE_CONNECTION",
'ERROR_DATABASE'=>"ERROR_DATABASE",
@@ -1096,7 +1098,6 @@ function language() { return array(
'TEMPLATE_DELETE_DESC'=>"Удаление шаблона со всеми ее элементами Элемент",
'TEMPLATE_ELEMENT'=>"Element",
'TEMPLATE_ELEMENTS'=>"Elements",
-'TEMPLATE_EXTENSION'=>"Элементы Продление опубликованных страниц шаблона",
'TEMPLATE_NAME'=>"Template name",
'TEMPLATE_SHOW'=>"Template View",
'TEMPLATE_SOURCE'=>"Просмотр Sourcecode в шаблон",
diff --git a/modules/language/language.yml b/modules/language/language.yml
@@ -4346,6 +4346,10 @@ MENU_TEMPLATE_EXTENSION:
de: Erweiterung
en: Extension
fr: Prolongation
+TEMPLATE_EXTENSION:
+ de: Erweiterung
+ en: Extension
+ fr: Prolongation
MENU_TEMPLATE_LISTING:
de: Anzeigen
en: All templates
@@ -4768,6 +4772,9 @@ NOTICE_COPIED:
fr: a été copié
it: è stata copiata
ru: копирования
+NOTICE_DUPLICATE_INPUT:
+ de: Ihre Eingabe muss eindeutig sein.
+ en: Duplicate Input detected.
NOTICE_DATABASE_CONNECTION_ERROR:
de: Es konnte keine Verbindung zur Datenbank hergestellt werden.
en: The connection to the database could not be established.