openrat-cms

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

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:
modules/cms-core/action/FileAction.class.php | 12------------
modules/cms-core/action/ObjectAction.class.php | 24++++++++++++++++++++++++
modules/cms-ui/themes/default/html/views/file/edit.php | 16+---------------
modules/cms-ui/themes/default/html/views/file/edit.tpl.src.xml | 15---------------
modules/cms-ui/themes/default/html/views/object/settings.php | 20++++++++++++++++++++
modules/cms-ui/themes/default/html/views/object/settings.tpl.src.xml | 22++++++++++++++++++++++
modules/cms-ui/themes/default/html/views/title/show.php | 9+++++++++
modules/cms-ui/themes/default/html/views/title/show.tpl.src.xml | 7+++++++
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>