commit 9925a8cee59b3762296d50edc1e325137cf9ed46
parent 39aba013fab1a695c006319b0fdec525d4831704
Author: Jan Dankert <devnull@localhost>
Date: Wed, 12 Sep 2018 23:28:39 +0200
Einstellungen werden nun über die Oberklasse "ObjectAction" verarbeitet, da dies für alle Node-Typen gleich ist.
Diffstat:
8 files changed, 83 insertions(+), 42 deletions(-)
diff --git a/modules/cms-core/action/FileAction.class.php b/modules/cms-core/action/FileAction.class.php
@@ -65,18 +65,6 @@ class FileAction extends ObjectAction
$this->file->extension = $upload->extension;
$this->file->size = $upload->size;
- $this->file->settings = $this->getRequestVar( 'settings');
-
- // Validate YAML-Settings
- try {
- \Spyc::YAMLLoad( $this->file->settings);
- }
- catch( \Exception $e )
- {
- throw new \ValidationException( 'settings' );
- }
-
-
$this->file->save();
$this->file->value = $upload->value;
diff --git a/modules/cms-core/action/ObjectAction.class.php b/modules/cms-core/action/ObjectAction.class.php
@@ -509,4 +509,28 @@ class ObjectAction extends Action
$this->baseObject->setCreationTimestamp();
}
+
+
+ public function settingsView()
+ {
+ $this->setTemplateVar('settings',$this->baseObject->settings);
+ $this->request->action = 'object';
+ }
+
+ public function settingsPost()
+ {
+ $this->baseObject->settings = $this->getRequestVar( 'settings');
+
+ // Validate YAML-Settings
+ try {
+ \Spyc::YAMLLoad( $this->baseObject->settings);
+ }
+ catch( \Exception $e )
+ {
+ throw new \ValidationException( 'settings' );
+ }
+
+ $this->baseObject->objectSave(false);
+ $this->addNotice($this->baseObject->getType(),$this->baseObject->filename,'SAVED',OR_NOTICE_OK);
+ }
}
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/file/edit.php b/modules/cms-ui/themes/default/html/views/file/edit.php
@@ -9,7 +9,7 @@
<div class="input">
<br/>
- <input size="40" id="req1536351057324003241_file" type="file" name="file" class="upload" />
+ <input size="40" id="req15367875652052599737_file" type="file" name="file" class="upload" />
<br/>
@@ -17,19 +17,5 @@
</div>
</div>
- <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 lang('settings') ?></legend><div>
- <div class="line">
- <div class="label">
- <label for="<?php echo REQUEST_ID ?>_settings" class="label">
- <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'SETTINGS'.'')))); ?></span>
-
- </label>
- </div>
- <div class="input">
- <textarea name="settings" data-extension="" data-mimetype="" data-mode="yaml" class="editor code-editor"><?php echo ${'settings'} ?></textarea>
-
- </div>
- </div>
- </div></fieldset>
<div class="bottom"><div class="command "><input type="submit" class="submit ok" value="OK" /></div></div></form>
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/file/edit.tpl.src.xml b/modules/cms-ui/themes/default/html/views/file/edit.tpl.src.xml
@@ -12,20 +12,5 @@
</part>
</part>
- <group title="message:settings">
-
- <part class="line">
- <part class="label">
- <label for="settings">
- <text key="SETTINGS"></text>
- </label>
- </part>
- <part class="input">
- <editor name="settings" type="code" mode="yaml"></editor>
- </part>
- </part>
-
- </group>
-
</form>
</output>
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/object/settings.php b/modules/cms-ui/themes/default/html/views/object/settings.php
@@ -0,0 +1,19 @@
+
+
+ <form name="" target="_self" data-target="view" action="./" data-method="settings" data-action="object" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="object" data-async="" data-autosave=""><input type="submit" class="invisible" /><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="object" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="settings" /><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":"" ?>"><legend class="on-click-open-close"><div class="arrow arrow-right on-closed"></div><div class="arrow arrow-down on-open"></div><?php echo lang('settings') ?></legend><div>
+ <div class="line">
+ <div class="label">
+ <label for="<?php echo REQUEST_ID ?>_settings" class="label">
+ <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'SETTINGS'.'')))); ?></span>
+
+ </label>
+ </div>
+ <div class="input">
+ <textarea name="settings" data-extension="" data-mimetype="" data-mode="yaml" class="editor code-editor"><?php echo ${'settings'} ?></textarea>
+
+ </div>
+ </div>
+ </div></fieldset>
+ <div class="bottom"><div class="command "><input type="submit" class="submit ok" value="OK" /></div></div></form>
+ +
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/object/settings.tpl.src.xml b/modules/cms-ui/themes/default/html/views/object/settings.tpl.src.xml
@@ -0,0 +1,21 @@
+<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>
+
+ <group title="message:settings">
+
+ <part class="line">
+ <part class="label">
+ <label for="settings">
+ <text key="SETTINGS"></text>
+ </label>
+ </part>
+ <part class="input">
+ <editor name="settings" type="code" mode="yaml"></editor>
+ </part>
+ </part>
+
+ </group>
+
+ </form>
+</output>+
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/html/views/title/show.php b/modules/cms-ui/themes/default/html/views/title/show.php
@@ -164,6 +164,15 @@
</a>
</div>
+ <div class="entry clickable filtered on-action-link on-action-folder on-action-page on-action-file on-action-url on-action-image">
+ <a title="<?php echo lang('menu_settings_desc') ?>" target="_self" data-type="dialog" data-action="" data-method="settings" data-id="<?php echo OR_ID ?>" data-extra="{'dialogAction':null,'dialogMethod':'settings'}" href="<?php echo Html::url('','settings','',array('dialogAction'=>'','dialogMethod'=>'settings')) ?>">
+ <img class="image-icon image-icon--method" title="" src="./modules/cms-ui/themes/default/images/icon/method/settings.svg" />
+
+ <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'menu_settings'.'')))); ?></span>
+
+ </a>
+
+ </div>
<div class="entry clickable filtered on-action-page on-action-file on-action-folder on-action-pageelement on-action-template">
<a title="<?php echo lang('menu_pub_desc') ?>" target="_self" data-type="dialog" data-action="" data-method="pub" data-id="<?php echo OR_ID ?>" data-extra="{'dialogAction':null,'dialogMethod':'pub'}" href="<?php echo Html::url('','pub','',array('dialogAction'=>'','dialogMethod'=>'pub')) ?>">
<img class="image-icon image-icon--method" title="" src="./modules/cms-ui/themes/default/images/icon/method/publish.svg" />
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
@@ -141,6 +141,13 @@
</link>
</part>
<part
+ class="entry clickable filtered on-action-link on-action-folder on-action-page on-action-file on-action-url on-action-image">
+ <link type="dialog" title="message:menu_settings_desc" subaction="settings">
+ <image method="settings" align="left"></image>
+ <text key="menu_settings"></text>
+ </link>
+ </part>
+ <part
class="entry clickable filtered on-action-page on-action-file on-action-folder on-action-pageelement on-action-template">
<link type="dialog" title="message:menu_pub_desc" subaction="pub">
<image method="publish" align="left"></image>