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:
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>