openrat-cms

# OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs

commit 8f3ae4ddb3665754da400c920241b65aaf1971cf
parent 4b7cca764fdd4c712a812f756958403c7445b3a2
Author: Jan Dankert <develop@jandankert.de>
Date:   Tue, 21 May 2019 22:36:44 +0200

Vereinfachte Ansicht der Seiteninhalte.

Diffstat:
modules/cms-core/action/PageAction.class.php | 45++++++++++++++-------------------------------
modules/cms-core/action/PageelementAction.class.php | 2+-
modules/cms-core/model/Page.class.php | 9++++++++-
modules/cms-ui/themes/default/html/views/page/edit.php | 63++++++++++++++++++++++++++-------------------------------------
modules/cms-ui/themes/default/html/views/page/edit.tpl.src.xml | 102++++++++++++++++++++++++++++++-------------------------------------------------
modules/cms-ui/themes/default/html/views/pageelement/edit.php | 16++++++++--------
modules/cms-ui/themes/default/html/views/pageelement/edit.tpl.src.xml | 4++--
modules/language/lang-cn.php | 6++++++
modules/language/lang-de.php | 8+++++++-
modules/language/lang-en.php | 6++++++
modules/language/lang-es.php | 8+++++++-
modules/language/lang-fr.php | 8+++++++-
modules/language/lang-it.php | 6++++++
modules/language/lang-ru.php | 6++++++
modules/language/language.yml | 32++++++++++++++++++++++++--------
15 files changed, 166 insertions(+), 155 deletions(-)

diff --git a/modules/cms-core/action/PageAction.class.php b/modules/cms-core/action/PageAction.class.php @@ -427,41 +427,24 @@ class PageAction extends ObjectAction */ function editView() { - $this->page->public = true; - $this->page->simple = true; - $this->page->generate_elements(); + $template = new Template( $this->page->templateid ); + $template->load(); - $list = array(); + /** @var Element[] $elements */ + $elements = $template->getElements(); - $languages = $this->page->getProject()->getLanguages(); + $elements = array_filter(/** + * @param $element Element + * @return Element + */ $elements, function($element ) { + return $element->isWritable(); + } ); - // Schleife ueber alle Inhalte der Seite - foreach( $this->page->values as $id=>$value ) - { - // Element wird nur angezeigt, wenn es editierbar ist - if ( $value->element->isWritable() ) - { - $list[$id] = array(); - $list[$id]['name'] = $value->element->label; - $list[$id]['pageelementid' ] = $this->page->objectid.'_'.$id; - $list[$id]['desc'] = $value->element->desc; - $list[$id]['languageid'] = $this->page->languageid; - $list[$id]['modelid' ] = $this->page->modelid; - $list[$id]['type'] = $value->element->type; - - $list[$id]['archive_count'] = intval($value->getCountVersions()); - if ( $list[$id]['archive_count'] > 0 ) - $list[$id]['archive_url'] = Html::url( 'pageelement','archive',$this->page->id,array(REQ_PARAM_ELEMENT_ID=>$id,REQ_PARAM_LANGUAGE_ID=>$this->page->languageid,REQ_PARAM_MODEL_ID=>$this->page->modelid) ); - - // Inhalt anzeigen - $list[$id]['value'] = $value->value; - } - } + $elements = array_map( function( $element ) { + return get_object_vars( $element ) + array('pageelementid'=>$this->page->id.'_'.$element->elementid,'typename'=>$element->getTypeName() ); + }, $elements); - $this->setTemplateVar('preview_url',Html::url('page','show',$this->page->objectid,array('withIcons'=>'1',REQ_PARAM_LANGUAGE_ID=>$this->page->languageid,REQ_PARAM_MODEL_ID=>$this->page->modelid,REQ_PARAM_EMBED=>'1') ) ); - $this->setTemplateVar('properties',$this->page->getProperties() ); - $this->setTemplateVar('el',$list); - $this->setTemplateVar('languages',$languages); + $this->setTemplateVar('elements',$elements); } diff --git a/modules/cms-core/action/PageelementAction.class.php b/modules/cms-core/action/PageelementAction.class.php @@ -175,7 +175,7 @@ class PageelementAction extends Action $this->setTemplateVar('element_name' ,$this->value->element->name ); $this->setTemplateVar('element_type' ,$this->value->element->getTypeName() ); $this->setTemplateVar('element_format',Element::getAvailableFormats()[ $this->value->element->format] ); - $this->setTemplateVar('format' ,Element::getAvailableFormats()[ $this->value->format ] ); + $this->setTemplateVar('format' ,@Element::getAvailableFormats()[ $this->value->format ] ); $user = new User( $this->value->lastchangeUserId ); diff --git a/modules/cms-core/model/Page.class.php b/modules/cms-core/model/Page.class.php @@ -35,6 +35,10 @@ class Page extends BaseObject //Wichtig für include-Values var $pageid; var $templateid; + + /** + * @var Template + */ var $template; /** @@ -598,7 +602,10 @@ SQL return $element->name; },$this->getElements() ); - $src = $this->template->src; + $templatemodel = new TemplateModel( $this->template->templateid, $this->modelid ); + $templatemodel->load(); + $src = $templatemodel->src; + $data = array(); // No we are collecting the data and are fixing some old stuff. diff --git a/modules/cms-ui/themes/default/html/views/page/edit.php b/modules/cms-ui/themes/default/html/views/page/edit.php @@ -1,59 +1,48 @@ <div class="table-wrapper"><div class="table-filter"><input type="search" name="filter" placeholder="<?php echo lang('SEARCH_FILTER') ?>" /></div><table width="100%"> - <?php $if3=!(($el)==FALSE); if($if3){?> - <tr class="headline"> - <th> - <span><?php echo nl2br(encodeHtml(htmlentities(lang('PAGE_ELEMENT_NAME')))); ?></span> - - </th> - <th> - <span><?php echo nl2br(encodeHtml(htmlentities(lang('PAGE_ELEMENT_VALUE')))); ?></span> - - </th> - <th> - <span><?php echo nl2br(encodeHtml(htmlentities(lang('EDIT')))); ?></span> - - </th> - </tr> - <?php } ?> - <?php $if3=(($el)==FALSE); if($if3){?> + <tr class="headline"> + <th> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'NAME'.'')))); ?></span> + + </th> + <th> + <span><?php echo nl2br(encodeHtml(htmlentities(lang('DESCRIPTION')))); ?></span> + + </th> + <th> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'TYPE'.'')))); ?></span> + + </th> + </tr> + <?php $if3=(($elements)==FALSE); if($if3){?> <tr> <td> - <span><?php echo nl2br(encodeHtml(htmlentities(lang('GLOBAL_NOT_FOUND')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'NOT_FOUND'.'')))); ?></span> </td> </tr> <?php } ?> - <?php foreach($el as $list_key=>$list_value){ ?><?php extract($list_value) ?> - <tr class="data"> - <td class="clickable"> - <a title="<?php echo $desc ?>" target="_self" date-name="<?php echo $name ?>" name="<?php echo $name ?>" data-type="open" data-action="pageelement" data-method="edit" data-id="<?php echo $pageelementid ?>" data-extra="{'languageid':'<?php echo $languageid ?>','modelid':'<?php echo $modelid ?>'}" href="<?php echo Html::url('pageelement','',$pageelementid,array('languageid'=>$languageid,'modelid'=>$modelid)) ?>"> + <?php foreach($elements as $list_key=>$list_value){ ?><?php extract($list_value) ?> + <tr class="data clickable"> + <td> + <a title="<?php echo $desc ?>" target="_self" date-name="<?php echo $name ?>" name="<?php echo $name ?>" data-type="open" data-action="pageelement" data-method="edit" data-id="<?php echo $pageelementid ?>" data-extra="[]" href="<?php echo Html::url('pageelement','',$pageelementid,array()) ?>"> <i class="image-icon image-icon--action-pageelement"></i> - <span><?php echo nl2br(encodeHtml(htmlentities($name))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities($label))); ?></span> </a> </td> <td> - <span><?php echo nl2br(encodeHtml(htmlentities(Text::maxLength( $value,50,'..',constant('STR_PAD_BOTH') )))); ?></span> - - <span><?php echo nl2br('&nbsp;'); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(Text::maxLength( $desc,50,'..',constant('STR_PAD_BOTH') )))); ?></span> </td> <td> - <?php foreach($languages as $languageid=>$languagename){ ?> - <div class="clickable"> - <a class="" target="_self" data-type="edit" data-action="pageelement" data-method="value" data-id="<?php echo $pageelementid ?>" data-extra="{'languageid':'<?php echo $languageid ?>'}" href="<?php echo Html::url('pageelement','value',$pageelementid,array('languageid'=>$languageid)) ?>"> - <i class="image-icon image-icon--method-edit"></i> - - <span><?php echo nl2br(encodeHtml(htmlentities($languagename))); ?></span> - - </a> - - </div> - <?php } ?> + <i class="image-icon image-icon--element-<?php echo $typename ?>"></i> + + <span><?php echo nl2br(encodeHtml(htmlentities(lang('el_'.$typename.'')))); ?></span> + </td> </tr> <?php } ?> diff --git a/modules/cms-ui/themes/default/html/views/page/edit.tpl.src.xml b/modules/cms-ui/themes/default/html/views/page/edit.tpl.src.xml @@ -1,67 +1,41 @@ <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"> - <table> - <if not="" empty="el"> - <row class="headline"> - <column header="true"> - <text text="PAGE_ELEMENT_NAME"></text> - </column> - <column header="true"> - <text text="PAGE_ELEMENT_VALUE"></text> - </column> - <column header="true"> - <text text="EDIT"></text> - </column> - </row> - </if> - <if empty="el"> - <row> - <column> - <text text="GLOBAL_NOT_FOUND"></text> - </column> - </row> - </if> - <list list="el" extract="true"> - <row class="data"> - <column class="clickable" > - <link type="open" title="var:desc" name="var:name" action="pageelement" id="var:pageelementid" var1="languageid" value1="var:languageid" var2="modelid" value2="var:modelid"> - <image action="pageelement" /> - <text var="name"></text> - </link> - </column> - <column> - <text var="value" maxlength="50"></text> - <text raw="_"></text> - </column> - <column> - <list list="languages" key="languageid" value="languagename"> - <part class="clickable"> - <link class="" type="edit" action="pageelement" subaction="value" id="var:pageelementid" var1="languageid" value1="var:languageid"> - <image method="edit"></image> - <text var="languagename"></text> - </link> - </part> - </list> - </column> - </row> - </list> - <!-- - <row> <column class="help" colspan="3"> <text - text="PAGE_ELEMENTS_DESC"></text> </column> </row> - --> - </table> + xsi:schemaLocation="http://www.openrat.de/template ../../../../../../template-engine/components/template.xsd"> + <table> + <row class="headline"> + <column header="true"> + <text key="NAME"></text> + </column> + <column header="true"> + <text text="DESCRIPTION"></text> + </column> + <column header="true"> + <text key="TYPE"></text> + </column> + </row> + <if empty="elements"> + <row> + <column> + <text key="NOT_FOUND"></text> + </column> + </row> + </if> + <list list="elements" extract="true"> + <row class="data clickable"> + <column> + <link type="open" title="var:desc" name="var:name" action="pageelement" id="var:pageelementid"> + <image action="pageelement"/> + <text var="label"></text> + </link> + </column> + <column> + <text var="desc" maxlength="50"></text> + </column> + <column> + <image elementtype="var:typename"/> + <text prefix="el_" key="var:typename"></text> + </column> + </row> + </list> + </table> - <!-- - <link action="page" subaction="form" - title="message:menu_page_form_desc" class="action"> <text - key="menu_page_form"></text> </link> - --> - -<!-- - <group title="message:menu_page_show"> - <part> - <insert url="var:preview_url" name="preview"></insert> - </part> - </group> ---> </output> \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/pageelement/edit.php b/modules/cms-ui/themes/default/html/views/pageelement/edit.php @@ -1,23 +1,23 @@ - <div class="table-wrapper"><div class="table-filter"><input type="search" name="filter" placeholder="<?php echo lang('SEARCH_FILTER') ?>" /></div><table width="100%"></div> + <div class="table-wrapper"><div class="table-filter"><input type="search" name="filter" placeholder="<?php echo lang('SEARCH_FILTER') ?>" /></div><table width="100%"> <tr class="headline"> - <td> + <th> <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'language'.'')))); ?></span> - </td> - <td> + </th> + <th> <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'value'.'')))); ?></span> - </td> + </th> </tr> <?php foreach($languages as $list_key=>$list_value){ ?><?php extract($list_value) ?> - <tr class="data"> + <tr class="data clickable"> <td> <span><?php echo nl2br(encodeHtml(htmlentities($languagename))); ?></span> </td> - <td class="clickable"> + <td> <a target="_self" data-type="edit" data-action="pageelement" data-method="value" data-id="<?php echo OR_ID ?>" data-extra="{'languageid':'<?php echo $languageid ?>'}" href="<?php echo Html::url('pageelement','value','',array('languageid'=>$languageid)) ?>"> <span><?php echo nl2br(encodeHtml(htmlentities(Text::maxLength( $value,120,'..',constant('STR_PAD_BOTH') )))); ?></span> @@ -26,5 +26,5 @@ </td> </tr> <?php } ?> - </table> + </table></div> \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/pageelement/edit.tpl.src.xml b/modules/cms-ui/themes/default/html/views/pageelement/edit.tpl.src.xml @@ -12,11 +12,11 @@ </row> <list list="languages" extract="true"> - <row class="data"> + <row class="data clickable"> <column> <text var="languagename" /> </column> - <column class="clickable"> + <column> <link subaction="value" var1="languageid" value1="var:languageid" type="edit" action="pageelement"> <text var="value" maxlength="120" escape="true" /> </link> diff --git a/modules/language/lang-cn.php b/modules/language/lang-cn.php @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Security", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/lang-de.php b/modules/language/lang-de.php @@ -535,7 +535,7 @@ function language() { return array( 'IS_NO'=>"Nein", 'IS_YES'=>"Ja", 'JAVASCRIPT_REQUIRED'=>"Bitte Javascript aktivieren", -'LANGUAGE_ISOCODE'=>"ISO Code", +'LANGUAGE_ISOCODE'=>"ISO-Code", 'LASTCHANGE_USER'=>"Letzter Änderungsautor", 'LICENSE'=>"Lizenz", 'LINK_OPEN_IN_NEW_WINDOW'=>"In neuem Fenster öffnen", @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"QR-Code anzeigen", 'LABEL'=>"Anzeigename", 'NAME'=>"Name", +'SOURCE'=>"Quelltext", +'GLOBAL_PUBLISHED'=>"Veröffentlicht", +'SECURITY'=>"Sicherheit", +'USER_LAST_LOGIN'=>"Letzte Anmeldung", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Kennwort ändern", );} \ No newline at end of file diff --git a/modules/language/lang-en.php b/modules/language/lang-en.php @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Security", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/lang-es.php b/modules/language/lang-es.php @@ -535,7 +535,7 @@ function language() { return array( 'IS_NO'=>"No", 'IS_YES'=>"Yes", 'JAVASCRIPT_REQUIRED'=>"Please enable Javascript", -'LANGUAGE_ISOCODE'=>"L'OIN codent", +'LANGUAGE_ISOCODE'=>"ISO codent", 'LASTCHANGE_USER'=>"Last User", 'LICENSE'=>"License", 'LINK_OPEN_IN_NEW_WINDOW'=>"Open in new window", @@ -1305,4 +1305,10 @@ MENU_INDEX_ADMINISTRATION_DESC =", 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Security", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/lang-fr.php b/modules/language/lang-fr.php @@ -535,7 +535,7 @@ function language() { return array( 'IS_NO'=>"No", 'IS_YES'=>"Yes", 'JAVASCRIPT_REQUIRED'=>"Please enable Javascript", -'LANGUAGE_ISOCODE'=>"L'OIN codent", +'LANGUAGE_ISOCODE'=>"ISO codent", 'LASTCHANGE_USER'=>"Last User", 'LICENSE'=>"License", 'LINK_OPEN_IN_NEW_WINDOW'=>"Open in new window", @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Securité", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/lang-it.php b/modules/language/lang-it.php @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Security", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/lang-ru.php b/modules/language/lang-ru.php @@ -1281,4 +1281,10 @@ function language() { return array( 'QRCODE_SHOW'=>"Show QR-Code", 'LABEL'=>"Label", 'NAME'=>"Name", +'SOURCE'=>"Source", +'GLOBAL_PUBLISHED'=>"Published", +'SECURITY'=>"Security", +'USER_LAST_LOGIN'=>"Last Logon", +'TOKEN'=>"Token", +'EDIT_PASSWORD'=>"Change password", );} \ No newline at end of file diff --git a/modules/language/language.yml b/modules/language/language.yml @@ -2113,9 +2113,6 @@ GLOBAL_LANGUAGES_DESC: fr: Tout le contenu peut être créé dans plusieurs langues it: Todo el contenido se puede crear en varias idiomas ru: Языки Все содержание могут быть созданы на нескольких языках -GLOBAL_LANGUAGE: - de: Sprache - en: Sprache GLOBAL_LANGUAGES: de: Sprachen en: Languages @@ -2723,10 +2720,10 @@ JAVASCRIPT_REQUIRED: de: Bitte Javascript aktivieren en: Please enable Javascript LANGUAGE_ISOCODE: - de: ISO Code + de: ISO-Code en: ISO Code - es: "L'OIN codent" - fr: "L'OIN codent" + es: "ISO codent" + fr: "ISO codent" it: La ISO cifra LASTCHANGE_USER: de: Letzter Änderungsautor @@ -5857,6 +5854,7 @@ FILE_IMAGE_NEW_WIDTH: it: Nueva anchura ru: Новая ширина климата GLOBAL_LANGUAGE: + de: Sprache en: Language es: Langue fr: Langue @@ -6130,4 +6128,22 @@ LABEL: en: Label NAME: de: Name - en: Name- \ No newline at end of file + en: Name +GLOBAL_PUBLISHED: + de: Veröffentlicht + en: Published +SECURITY: + de: Sicherheit + en: Security + fr: Securité +USER_LAST_LOGIN: + de: Letzte Anmeldung + en: Last Logon +TOKEN: + en: Token +EDIT_PASSWORD: + de: Kennwort ändern + en: Change password +SOURCE: + de: Quelltext + en: Source+ \ No newline at end of file