openrat-cms

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

commit e33fdc89c6c828dab8cf4199500fc19d6b693b12
parent 3c0f431a713480d74e40b03d68f03a10f6703b63
Author: dankert <devnull@localhost>
Date:   Thu, 19 Mar 2009 02:00:11 +0100

Wiki-Tags aus Konfiguration lesen und nicht hart verdrahten.

Diffstat:
actionClasses/PageelementAction.class.php | 66+++++++++++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 45 insertions(+), 21 deletions(-)

diff --git a/actionClasses/PageelementAction.class.php b/actionClasses/PageelementAction.class.php @@ -146,8 +146,9 @@ class PageelementAction extends Action $this->value->publish = false; if ( intval($this->value->valueid)!=0 ) - $this->value->loadWithId(); - else $this->value->load(); + $this->value->loadWithId(); + else + $this->value->load(); $this->setTemplateVar('name' ,$this->value->element->name ); $this->setTemplateVar('desc' ,$this->value->element->desc ); @@ -562,7 +563,10 @@ class PageelementAction extends Action else $this->setTemplateVar( 'editor','text' ); - $this->setTemplateVar( 'text',$this->convertOIDs( $this->value->text ) ); + if ( !isset($this->templateVars['text'])) + // Möglicherweise ist die Ausgabevariable bereits gesetzt, wenn man bereits + // einen Text eingegeben hat (Vorschaufunktion). + $this->setTemplateVar( 'text',$this->convertOIDs( $this->value->text ) ); if (! $this->isEditMode() ) { @@ -600,8 +604,11 @@ class PageelementAction extends Action $transformer->text = $this->value->text; $transformer->parseDocument(); $this->setTemplateVar( 'document',$transformer->doc ); - - $this->setTemplateVar( 'text',$this->value->text ); + + if ( !isset($this->templateVars['text'])) + // Möglicherweise ist die Ausgabevariable bereits gesetzt, wenn man bereits + // einen Text eingegeben hat (Vorschaufunktion). + $this->setTemplateVar( 'text',$this->value->text ); $this->setTemplateVar( 'objects',$objects ); $this->setTemplateVar( 'images' ,$objects ); } @@ -899,6 +906,7 @@ class PageelementAction extends Action */ function savelongtext() { + global $conf; $value = new Value(); $language = Session::getProjectLanguage(); $value->languageid = $language->languageid; @@ -916,13 +924,16 @@ class PageelementAction extends Action if ( $this->hasRequestVar('linkobjectid') ) - $value->linkToObjectId = $this->getRequestVar('linkobjectid'); + $value->linkToObjectId = $this->getRequestVar('linkobjectid'); else - $value->text = $this->convertOIDs( $this->getRequestVar('text') ); + $value->text = $this->convertOIDs( $this->getRequestVar('text') ); // Vorschau anzeigen - if ( $value->element->type=='longtext' && ($this->hasRequestVar('preview')||$this->hasRequestVar('addmarkup')) ) + if ( $this->hasRequestVar('preview' ) || + $this->hasRequestVar('addmarkup') ) { + $inputText = $this->getRequestVar('text'); + if ( $this->hasRequestVar('preview') ) { $value->page = $this->page; @@ -930,38 +941,47 @@ class PageelementAction extends Action $value->page->languageid = $value->languageid; $value->page->load(); $value->generate(); - $this->setTemplateVar('preview_text',$value->value ); + $this->setTemplateVar('preview',$value->value ); } if ( $this->hasRequestVar('addmarkup') ) { - $addText = $this->getRequestVar('addtext'); + $conf_tags = $conf['editor']['text-markup']; - if ( !empty($addText) ) // Nur, wenn ein Text eingegeben wurde + if ( $this->hasRequestVar('addtext') ) // Nur, wenn ein Text eingegeben wurde { $addText = $this->getRequestVar('addtext'); if ( $this->hasRequestVar('strong') ) - $value->text .= '*'.$addText.'*'; + $inputText .= $conf_tags['strong-begin'].$addText.$conf_tags['strong-end']; if ( $this->hasRequestVar('emphatic') ) - $value->text .= '_'.$addText.'_'; + $inputText .= $conf_tags['emphatic-begin'].$addText.$conf_tags['emphatic-end']; if ( $this->hasRequestVar('link') ) - $value->text .= '"'.$addText.'"->"'.$this->getRequestVar('objectid').'"'; + $inputText .= '"'.$addText.'"'.$conf_tags['linkto'].'"'.$this->getRequestVar('objectid').'"'; } if ( $this->hasRequestVar('table') ) - $value->text .= "|$addText | |\n|$addText | |\n|$addText | |\n"; + $inputText .= "\n". + $conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep']."\n". + $conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep']."\n". + $conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep'].' '.$addText.' '.$conf_tags['table-cell-sep']."\n"; if ( $this->hasRequestVar('list') ) - $value->text .= "\n- ".$addText."\n".'- '.$addText."\n".'- '.$addText."\n"; + $inputText .= "\n". + $conf_tags['list-unnumbered'].' '.$addText."\n". + $conf_tags['list-unnumbered'].' '.$addText."\n". + $conf_tags['list-unnumbered'].' '.$addText."\n"; if ( $this->hasRequestVar('numlist') ) - $value->text .= "\n# ".$addText."\n".'# '.$addText."\n".'# '.$addText."\n"; + $inputText .= "\n". + $conf_tags['list-numbered'].' '.$addText."\n". + $conf_tags['list-numbered'].' '.$addText."\n". + $conf_tags['list-numbered'].' '.$addText."\n"; if ( $this->hasRequestVar('image') ) - $value->text .= '{'.$this->getRequestVar('objectid').'}'; + $inputText .= $conf_tags['image-begin'].$this->getRequestVar('objectid').$conf_tags['image-end']; } // Ermitteln aller verlinkbaren Objekte (fuer Editor) @@ -987,14 +1007,18 @@ class PageelementAction extends Action $this->setTemplateVar( 'publish' ,$this->page->hasRight(ACL_PUBLISH) ); $this->setTemplateVar( 'html' ,$value->element->html ); $this->setTemplateVar( 'wiki' ,$value->element->wiki ); - $this->setTemplateVar( 'text' ,$value->text ); + $this->setTemplateVar( 'text' ,$inputText ); $this->setTemplateVar( 'name' ,$value->element->name ); $this->setTemplateVar( 'desc' ,$value->element->desc ); $this->setTemplateVar( 'objectid',$this->page->objectid ); - $this->forward( 'pageelement_edit_longtext' ); + + $this->setTemplateVar( 'mode' ,'edit' ); + } + else + { + $this->afterSave($value); } - $this->afterSave($value); }