commit 8f3ae4ddb3665754da400c920241b65aaf1971cf
parent 4b7cca764fdd4c712a812f756958403c7445b3a2
Author: Jan Dankert <develop@jandankert.de>
Date: Tue, 21 May 2019 22:36:44 +0200
Vereinfachte Ansicht der Seiteninhalte.
Diffstat:
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(' '); ?></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