openrat-cms

OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs | README

commit 0b2fc32dab13317c41144b6142211e764f175cf7
parent 74ffcc0e61069ae2eab3354df4ac4ad899d7fcea
Author: Jan Dankert <develop@jandankert.de>
Date:   Wed, 11 Nov 2020 21:47:40 +0100

Fix: Templatemodel-extensions are now editable.

Diffstat:
Mmodules/cms/action/TemplateAction.class.php | 72++++--------------------------------------------------------------------
Mmodules/cms/ui/themes/default/html/views/template/addel.php | 58+++++++++++++++++++++-------------------------------------
Mmodules/cms/ui/themes/default/html/views/template/addel.tpl.src.xml | 47++++++++++++++++-------------------------------
Mmodules/cms/ui/themes/default/html/views/template/edit.php | 2+-
Mmodules/cms/ui/themes/default/html/views/template/edit.tpl.src.xml | 103++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mmodules/cms/ui/themes/default/html/views/template/src.php | 19+++++++++++++++++++
Mmodules/cms/ui/themes/default/html/views/template/src.tpl.src.xml | 5+++++
Mmodules/cms/ui/themes/default/html/views/title/show.php | 8--------
Mmodules/cms/ui/themes/default/html/views/title/show.tpl.src.xml | 6------
9 files changed, 118 insertions(+), 202 deletions(-)

diff --git a/modules/cms/action/TemplateAction.class.php b/modules/cms/action/TemplateAction.class.php @@ -103,9 +103,9 @@ class TemplateAction extends BaseAction } */ - $templatemodel->src = $newSource; - - $templatemodel->save(); + $templatemodel->src = $newSource; + $templatemodel->extension = $this->getRequestVar('extension'); + $templatemodel->save(); $this->addNotice('template', 0, $this->template->name, 'SAVED', Action::NOTICE_OK); } @@ -201,45 +201,6 @@ class TemplateAction extends BaseAction $this->setTemplateVar('id' ,$this->template->templateid); } - - /** - * Speichern der Dateiendung - */ - public function extensionPost() - { - $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', 0, $this->template->name, 'DUPLICATE_INPUT', 'error'); - throw new \util\exception\ValidationException( $modelName ); - } - - $extensions[ $modelId ] = $input; - } - - foreach( $models as $modelId => $modelName ) { - - $templatemodel = new TemplateModel($this->template->templateid, $modelId); - $templatemodel->load(); - - $templatemodel->extension = $extensions[ $modelId ]; - - $templatemodel->save(); - } - - $this->addNotice('template', 0, $this->template->name, 'SAVED', 'ok'); - } - - - function addelView() { // Die verschiedenen Element-Typen @@ -309,31 +270,6 @@ class TemplateAction extends BaseAction - /** - * Extension einer Vorlage anzeigen - */ - function extensionView() - { - $project = new Project( $this->template->projectid ); - $models = $project->getModels(); - - $modelSrc = array(); - - foreach( $models as $modelId => $modelName ) - { - $templatemodel = new TemplateModel( $this->template->templateid, $modelId ); - $templatemodel->load(); - - $modelSrc[ $modelId ] = array( - 'name' =>$modelName, - 'extension'=>$templatemodel->extension - ); - } - - $this->setTemplateVar( 'extension',$modelSrc ); - } - - /** * Anzeigen des Inhaltes, der Inhalt wird samt Header direkt @@ -540,7 +476,7 @@ class TemplateAction extends BaseAction $this->setTemplateVar( 'modelid',$modelId ); $this->setTemplateVar( 'source' ,$text ); - + $this->setTemplateVar( 'extension',$templatemodel->extension ); } diff --git a/modules/cms/ui/themes/default/html/views/template/addel.php b/modules/cms/ui/themes/default/html/views/template/addel.php @@ -8,36 +8,24 @@ <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('subaction') ?>" value="<?php echo O::escapeHtml('addel') ?>" /><?php echo O::escapeHtml('') ?> <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('id') ?>" value="<?php echo O::escapeHtml(''.@$_id.'') ?>" /><?php echo O::escapeHtml('') ?> <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> - <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?> + <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('name').'') ?> </h3> <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> - <div class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?> - <span><?php echo O::escapeHtml(''.@O::lang('name').'') ?> - </span> - </div> - <div class="<?php echo O::escapeHtml('or-value') ?>"><?php echo O::escapeHtml('') ?> - <input name="<?php echo O::escapeHtml('name') ?>" required="<?php echo O::escapeHtml('required') ?>" autofocus="<?php echo O::escapeHtml('autofocus') ?>" type="<?php echo O::escapeHtml('text') ?>" maxlength="<?php echo O::escapeHtml('50') ?>" value="<?php echo O::escapeHtml(''.@$name.'') ?>" class="<?php echo O::escapeHtml('or-input') ?>" /><?php echo O::escapeHtml('') ?> - </div> + <input name="<?php echo O::escapeHtml('name') ?>" required="<?php echo O::escapeHtml('required') ?>" autofocus="<?php echo O::escapeHtml('autofocus') ?>" type="<?php echo O::escapeHtml('text') ?>" maxlength="<?php echo O::escapeHtml('50') ?>" value="<?php echo O::escapeHtml(''.@$name.'') ?>" class="<?php echo O::escapeHtml('or-input') ?>" /><?php echo O::escapeHtml('') ?> </div> </section> <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> - <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?> + <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('element_type').'') ?> </h3> <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> - <div class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?> - <span><?php echo O::escapeHtml(''.@O::lang('element_type').'') ?> - </span> - </div> - <div class="<?php echo O::escapeHtml('or-value') ?>"><?php echo O::escapeHtml('') ?> - <?php { $text= 'text'; ?> + <?php { $text= 'text'; ?> + <?php } ?> + <select name="<?php echo O::escapeHtml('typeid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> + <?php foreach($types as $_key=>$_value) { ?> + <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$typeid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?> + </option> <?php } ?> - <select name="<?php echo O::escapeHtml('typeid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> - <?php foreach($types as $_key=>$_value) { ?> - <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$typeid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?> - </option> - <?php } ?> - </select> - </div> + </select> </div> </section> <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--is-open or-collapsible--show') ?>"><?php echo O::escapeHtml('') ?> @@ -50,21 +38,17 @@ </span> </h2> <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> - </div> - </section> - <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> - <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?> - </h3> - <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> - <div class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?> - </div> - <div class="<?php echo O::escapeHtml('or-value') ?>"><?php echo O::escapeHtml('') ?> - <label class="<?php echo O::escapeHtml('or-label') ?>"><?php echo O::escapeHtml('') ?> - <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('addtotemplate') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(1){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?> - <span><?php echo O::escapeHtml(''.@O::lang('menu_template_srcelement').'') ?> - </span> - </label> - </div> + <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> + <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml('') ?> + </h3> + <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> + <label><?php echo O::escapeHtml('') ?> + <input type="<?php echo O::escapeHtml('checkbox') ?>" name="<?php echo O::escapeHtml('addtotemplate') ?>" value="<?php echo O::escapeHtml('1') ?>" <?php if(1){ ?>checked="<?php echo O::escapeHtml('checked') ?>"<?php } ?> class="<?php echo O::escapeHtml('or-form-checkbox') ?>" /><?php echo O::escapeHtml('') ?> + <span class="<?php echo O::escapeHtml('or-form-label') ?>"><?php echo O::escapeHtml(''.@O::lang('menu_template_srcelement').'') ?> + </span> + </label> + </div> + </section> </div> </section> </div> diff --git a/modules/cms/ui/themes/default/html/views/template/addel.tpl.src.xml b/modules/cms/ui/themes/default/html/views/template/addel.tpl.src.xml @@ -1,32 +1,17 @@ -<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"> - <form> - <fieldset class="line" label=""> - <part class="label"> - <text value="${message:name}"/> - </part> - <part class="value"> - <input name="name" maxlength="50" required="true" focus="true"/> - </part> - </fieldset> - <fieldset class="line" label=""> - <part class="label"> - <text value="${message:element_type}"/> - </part> - <part class="value"> - <set var="text" value="'text'"/> - <selectbox list="types" name="typeid" lang="true"/> - </part> - </fieldset> - <group title="${message:options}"/> - <fieldset class="line" label=""> - <part class="label"> - </part> - <part class="value"> - <label for="addtotemplate"> - <checkbox name="addtotemplate" default="true"/> - <text value="${message:menu_template_srcelement}"/> - </label> - </part> - </fieldset> - </form> +<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"> + <form> + <fieldset label="${message:name}"> + <input name="name" maxlength="50" required="true" focus="true"/> + </fieldset> + <fieldset label="${message:element_type}"> + <set var="text" value="'text'"/> + <selectbox list="types" name="typeid" lang="true"/> + </fieldset> + <group title="${message:options}"> + <fieldset> + <checkbox name="addtotemplate" default="true" label="${message:menu_template_srcelement}"/> + </fieldset> + </group> + </form> </output> diff --git a/modules/cms/ui/themes/default/html/views/template/edit.php b/modules/cms/ui/themes/default/html/views/template/edit.php @@ -59,7 +59,7 @@ </i> <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--node-open or-collapsible--on-open') ?>"><?php echo O::escapeHtml('') ?> </i> - <span><?php echo O::escapeHtml(''.@$name.'') ?> + <span><?php echo O::escapeHtml(''.@O::lang('model').' '.@$name.'') ?> </span> </h2> <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> diff --git a/modules/cms/ui/themes/default/html/views/template/edit.tpl.src.xml b/modules/cms/ui/themes/default/html/views/template/edit.tpl.src.xml @@ -1,52 +1,53 @@ -<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"> - <table> - <row class="headline"> - <column> - <text value="${message:name}"/> - </column> - <column> - <text value="${message:type}"/> - </column> - </row> - <list list="${elements}" extract="true"> - <row class="data"> - <column class="act-clickable"> - <link type="open" id="${id}" name="${name}" action="element"> - <image elementtype="${type}"/> - <text value="${name}" title="${description}"/> - </link> - </column> - <column> - <text value="${message:el_${type}}"/> - </column> - </row> - </list> - <if empty="${elements}"> - <row> - <column colspan="2"> - <text value="${message:NOT_FOUND}"/> - </column> - </row> - </if> - <row class="data"> - <column colspan="2" class="act-clickable"> - <link type="dialog" subaction="addel" action="template" id="${templateid}"> - <image method="add"/> - <text value="${message:menu_template_addel}"/> - </link> - </column> - </row> - </table> - <list list="${models}" extract="true"> - <group title="${name}"> - <part class="act-clickable"> - <text value="${source}" escape="true" type="code" maxlength="200"/> - <newline/> - <link type="edit" subaction="src" var1="modelid" value1="${modelid}" class="form-button"> - <image action="template"/> - <text value="${message:edit}"/> - </link> - </part> - </group> - </list> +<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"> + <table> + <row class="headline"> + <column> + <text value="${message:name}"/> + </column> + <column> + <text value="${message:type}"/> + </column> + </row> + <list list="${elements}" extract="true"> + <row class="data"> + <column class="act-clickable"> + <link type="open" id="${id}" name="${name}" action="element"> + <image elementtype="${type}"/> + <text value="${name}" title="${description}"/> + </link> + </column> + <column> + <text value="${message:el_${type}}"/> + </column> + </row> + </list> + <if empty="${elements}"> + <row> + <column colspan="2"> + <text value="${message:NOT_FOUND}"/> + </column> + </row> + </if> + <row class="data"> + <column colspan="2" class="act-clickable"> + <link type="dialog" subaction="addel" action="template" id="${templateid}"> + <image method="add"/> + <text value="${message:menu_template_addel}"/> + </link> + </column> + </row> + </table> + <list list="${models}" extract="true"> + <group title="${message:model} ${name}"> + <part class="act-clickable"> + <text value="${source}" escape="true" type="code" maxlength="200"/> + <newline/> + <link type="edit" subaction="src" var1="modelid" value1="${modelid}" class="form-button"> + <image action="template"/> + <text value="${message:edit}"/> + </link> + </part> + </group> + </list> </output> diff --git a/modules/cms/ui/themes/default/html/views/template/src.php b/modules/cms/ui/themes/default/html/views/template/src.php @@ -22,6 +22,25 @@ </textarea> </div> </section> + <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--is-closed or-collapsible--show') ?>"><?php echo O::escapeHtml('') ?> + <h2 class="<?php echo O::escapeHtml('or-collapsible-title or-group-title or-collapsible-act-switch') ?>"><?php echo O::escapeHtml('') ?> + <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--node-closed or-collapsible--on-closed') ?>"><?php echo O::escapeHtml('') ?> + </i> + <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--node-open or-collapsible--on-open') ?>"><?php echo O::escapeHtml('') ?> + </i> + <span><?php echo O::escapeHtml(''.@O::lang('options').'') ?> + </span> + </h2> + <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> + <section class="<?php echo O::escapeHtml('or-fieldset') ?>"><?php echo O::escapeHtml('') ?> + <h3 class="<?php echo O::escapeHtml('or-fieldset-label') ?>"><?php echo O::escapeHtml(''.@O::lang('file_extension').'') ?> + </h3> + <div class="<?php echo O::escapeHtml('or-fieldset-value') ?>"><?php echo O::escapeHtml('') ?> + <input name="<?php echo O::escapeHtml('extension') ?>" required="<?php echo O::escapeHtml('required') ?>" type="<?php echo O::escapeHtml('text') ?>" maxlength="<?php echo O::escapeHtml('10') ?>" value="<?php echo O::escapeHtml(''.@$extension.'') ?>" class="<?php echo O::escapeHtml('or-input') ?>" /><?php echo O::escapeHtml('') ?> + </div> + </section> + </div> + </section> </div> <div class="<?php echo O::escapeHtml('or-form-actionbar') ?>"><?php echo O::escapeHtml('') ?> <div class="<?php echo O::escapeHtml('or-btn or-btn--secondary or-act-form-cancel') ?>"><?php echo O::escapeHtml('') ?> 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 @@ -4,5 +4,10 @@ <group title="${message:source}"> <editor type="code" name="source" mode="htmlmixed"/> </group> + <group title="${message:options}" open="false"> + <fieldset label="${message:file_extension}"> + <input name="extension" maxlength="10" required="true" /> + </fieldset> + </group> </form> </output> diff --git a/modules/cms/ui/themes/default/html/views/title/show.php b/modules/cms/ui/themes/default/html/views/title/show.php @@ -254,14 +254,6 @@ </span> </a> </div> - <div class="<?php echo O::escapeHtml('or-dropdown-entry or-act-clickable or-filtered') ?>"><?php echo O::escapeHtml('') ?> - <a title="<?php echo O::escapeHtml(''.@O::lang('menu_extension_desc').'') ?>" target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('dialog') ?>" data-action="<?php echo O::escapeHtml('') ?>" data-method="<?php echo O::escapeHtml('extension') ?>" data-id="<?php echo O::escapeHtml('') ?>" data-extra-dialogAction="<?php echo O::escapeHtml('') ?>" data-extra-dialogMethod="<?php echo O::escapeHtml('extension') ?>" data-extra="<?php echo O::escapeHtml('{\'dialogAction\':null,\'dialogMethod\':\'extension\'}') ?>" href="<?php echo O::escapeHtml('') ?>" class="<?php echo O::escapeHtml('or-link') ?>"><?php echo O::escapeHtml('') ?> - <i class="<?php echo O::escapeHtml('or-image-icon or-image-icon--method-extension') ?>"><?php echo O::escapeHtml('') ?> - </i> - <span class="<?php echo O::escapeHtml('or-dropdown-text') ?>"><?php echo O::escapeHtml(''.@O::lang('menu_extension').'') ?> - </span> - </a> - </div> <div class="<?php echo O::escapeHtml('or-dropdown-divide') ?>"><?php echo O::escapeHtml('') ?> </div> <div class="<?php echo O::escapeHtml('or-dropdown-entry or-act-clickable or-filtered') ?>"><?php echo O::escapeHtml('') ?> diff --git a/modules/cms/ui/themes/default/html/views/title/show.tpl.src.xml b/modules/cms/ui/themes/default/html/views/title/show.tpl.src.xml @@ -323,12 +323,6 @@ <text class="dropdown-text" value="${message:menu_src}"/> </link> </part> - <part class="dropdown-entry,act-clickable,filtered"> - <link type="dialog" title="${message:menu_extension_desc}" subaction="extension"> - <image method="extension"/> - <text class="dropdown-text" value="${message:menu_extension}"/> - </link> - </part> <part class="dropdown-divide"/> <part class="dropdown-entry,act-clickable,filtered"> <link type="dialog" title="${message:menu_value_desc}" subaction="value">