openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 97dbffccbc0e3d5a23e20e3c15599ab458f39862
parent d8e3bf753c21a2fe18d25612fb600deb8fc242e1
Author: dankert <openrat@jandankert.de>
Date:   Sat, 19 Mar 2022 00:24:33 +0100

Fix: Using the correct PageContext for generating the page source.

Diffstat:
Mmodules/cms/action/PageAction.class.php | 4++--
Mmodules/cms/action/page/PagePreviewAction.class.php | 5+----
Mmodules/cms/action/page/PageSrcAction.class.php | 11+++--------
Mmodules/cms/ui/themes/default/html/views/page/preview.tpl.src.xml | 4++--
Mmodules/cms/ui/themes/default/html/views/page/src.php | 59++++++++++++++++++++++++++++++++++-------------------------
Mmodules/cms/ui/themes/default/html/views/page/src.tpl.src.xml | 18+++++++++++-------
6 files changed, 53 insertions(+), 48 deletions(-)

diff --git a/modules/cms/action/PageAction.class.php b/modules/cms/action/PageAction.class.php @@ -92,10 +92,10 @@ class PageAction extends ObjectAction protected function setModelAndLanguage() { $this->setTemplateVar('languages' ,$this->page->getProject()->getLanguages()); - $this->setTemplateVar('languageid',$this->page->getProject()->getDefaultLanguageId() ); + $this->setTemplateVar('languageid',$this->request->getLanguageId() ?: $this->page->getProject()->getDefaultLanguageId() ); $this->setTemplateVar('models' ,$this->page->getProject()->getModels() ); - $this->setTemplateVar('modelid' ,$this->page->getProject()->getDefaultModelId() ); + $this->setTemplateVar('modelid' ,$this->request->getModelId() ?: $this->page->getProject()->getDefaultModelId() ); } diff --git a/modules/cms/action/page/PagePreviewAction.class.php b/modules/cms/action/page/PagePreviewAction.class.php @@ -8,7 +8,7 @@ use cms\generator\PageContext; use cms\generator\Producer; use util\Html; -class PagePreviewAction extends PageAction implements Method { +class PagePreviewAction extends PageAction { /** @@ -22,7 +22,4 @@ class PagePreviewAction extends PageAction implements Method { $this->setTemplateVar('preview_url',$linkFormat->linkToObject($this->page,$this->page) ); } - - public function post() { - } } diff --git a/modules/cms/action/page/PageSrcAction.class.php b/modules/cms/action/page/PageSrcAction.class.php @@ -7,19 +7,14 @@ use cms\generator\PageGenerator; use cms\generator\Producer; use cms\model\Project; -class PageSrcAction extends PageAction implements Method { +class PageSrcAction extends PageAction { public function view() { $project = new Project( $this->page->projectid ); $this->setModelAndLanguage(); - $pageContext = new PageContext( $this->page->objectid,Producer::SCHEME_PUBLIC); - $pageContext->languageId = $project->getDefaultLanguageId(); - $pageContext->modelId = $project->getDefaultModelId(); - - $generator = new PageGenerator( $pageContext ); + $pageContext = $this->createPageContext( Producer::SCHEME_PUBLIC ); + $generator = new PageGenerator( $pageContext ); $this->setTemplateVar('src',$generator->getCache()->get() ); } - public function post() { - } } diff --git a/modules/cms/ui/themes/default/html/views/page/preview.tpl.src.xml b/modules/cms/ui/themes/default/html/views/page/preview.tpl.src.xml @@ -4,8 +4,8 @@ <group title="${message:OPTIONS}" collapsible="true"> <fieldset> - <selectbox name="languageid" list="languages" default="${languageid}"/> - <selectbox name="modelid" list="models" default="${modelid}" /> + <selectbox name="languageid" list="languages" /> + <selectbox name="modelid" list="models" /> </fieldset> </group> <group title="${message:PREVIEW}"> diff --git a/modules/cms/ui/themes/default/html/views/page/src.php b/modules/cms/ui/themes/default/html/views/page/src.php @@ -6,16 +6,38 @@ <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('action') ?>" value="<?php echo O::escapeHtml('page') ?>" /><?php echo O::escapeHtml('') ?> <input type="<?php echo O::escapeHtml('hidden') ?>" name="<?php echo O::escapeHtml('subaction') ?>" value="<?php echo O::escapeHtml('src') ?>" /><?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('') ?> - <select name="<?php echo O::escapeHtml('languageid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> - <?php foreach($languages as $_key=>$_value) { ?> - <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$languageid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?></option> - <?php } ?> - </select> - <select name="<?php echo O::escapeHtml('modelid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> - <?php foreach($models as $_key=>$_value) { ?> - <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$modelid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?></option> - <?php } ?> - </select> + <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--is-open or-collapsible--is-visible 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('') ?> + <select name="<?php echo O::escapeHtml('languageid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> + <?php foreach($languages as $_key=>$_value) { ?> + <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$languageid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?></option> + <?php } ?> + </select> + <select name="<?php echo O::escapeHtml('modelid') ?>" size="<?php echo O::escapeHtml('1') ?>" class="<?php echo O::escapeHtml('or-input') ?>"><?php echo O::escapeHtml('') ?> + <?php foreach($models as $_key=>$_value) { ?> + <option value="<?php echo O::escapeHtml(''.@$_key.'') ?>" <?php if($_key==$modelid){ ?>selected="<?php echo O::escapeHtml('selected') ?>"<?php } ?>><?php echo O::escapeHtml(''.@$_value.'') ?></option> + <?php } ?> + </select> + </div> + </section> + <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--is-open or-collapsible--is-visible 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('SOURCE').'') ?></span> + </h2> + <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> + <div><?php echo O::escapeHtml('') ?> + <textarea name="<?php echo O::escapeHtml('src') ?>" data-extension="<?php echo O::escapeHtml('') ?>" data-mimetype="<?php echo O::escapeHtml('') ?>" data-mode="<?php echo O::escapeHtml('html') ?>" class="<?php echo O::escapeHtml('or-input or-editor or-code-editor') ?>"><?php echo O::escapeHtml(''.@$src.'') ?></textarea> + <trix-editor input="<?php echo O::escapeHtml('src') ?>"><?php echo O::escapeHtml('') ?></trix-editor> + </div> + </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--control or-btn--primary or-act-form-save') ?>"><?php echo O::escapeHtml('') ?> @@ -23,17 +45,4 @@ <span class="<?php echo O::escapeHtml('or-form-btn-label') ?>"><?php echo O::escapeHtml(''.@O::lang('button_ok').'') ?></span> </div> </div> - </form> - <section class="<?php echo O::escapeHtml('or-group or-collapsible or-collapsible--is-open or-collapsible--is-visible 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('SOURCE').'') ?></span> - </h2> - <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> - <div><?php echo O::escapeHtml('') ?> - <textarea name="<?php echo O::escapeHtml('src') ?>" data-extension="<?php echo O::escapeHtml('') ?>" data-mimetype="<?php echo O::escapeHtml('') ?>" data-mode="<?php echo O::escapeHtml('html') ?>" class="<?php echo O::escapeHtml('or-input or-editor or-code-editor') ?>"><?php echo O::escapeHtml(''.@$src.'') ?></textarea> - <trix-editor input="<?php echo O::escapeHtml('src') ?>"><?php echo O::escapeHtml('') ?></trix-editor> - </div> - </div> - </section> -\ No newline at end of file + </form> +\ No newline at end of file diff --git a/modules/cms/ui/themes/default/html/views/page/src.tpl.src.xml b/modules/cms/ui/themes/default/html/views/page/src.tpl.src.xml @@ -1,15 +1,19 @@ <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 action="page" method="GET" target="self" subaction="src" autosave="true" cancel="false"> - <selectbox name="languageid" list="languages" default="${languageid}"> + <group title="${message:OPTIONS}"> + <selectbox name="languageid" list="languages"> - </selectbox> - <selectbox name="modelid" list="models" default="${modelid}"> + </selectbox> + <selectbox name="modelid" list="models"> + + </selectbox> + </group> + + <group title="${message:SOURCE}"> + <editor type="code" mode="html" name="src" readonly="true"/> + </group> - </selectbox> </form> - <group title="${message:SOURCE}"> - <editor type="code" mode="html" name="src" readonly="true"/> - </group> </output>