openrat-cms

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

commit 6712ab7108e4ba896cdc1a5b3121dd2aa1f918a2
parent ba81e425c082ce2450b0d7120a0f492a275bf728
Author: Jan Dankert <develop@jandankert.de>
Date:   Wed,  5 Jun 2019 23:43:38 +0200

New: Aliases für Seiten unterteilt nach Sprachen.

Diffstat:
modules/cms-core/action/ObjectAction.class.php | 71++++++++++++++++++++++++++++++++++++++++++-----------------------------
modules/cms-core/action/PageAction.class.php | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
modules/cms-core/model/Alias.class.php | 4+++-
modules/cms-core/model/BaseObject.class.php | 56+++++++++++++++++++++++++++++++++++++++++++-------------
modules/cms-ui/themes/default/html/views/object/name.tpl.src.xml | 16++++++++++++++++
modules/cms-ui/themes/default/html/views/object/prop.php | 22+++++++---------------
modules/cms-ui/themes/default/html/views/object/prop.tpl.src.xml | 14+++-----------
modules/cms-ui/themes/default/html/views/page/info.php | 23++++++++++++++++++++---
modules/cms-ui/themes/default/html/views/page/info.tpl.src.xml | 21+++++++++++++++++++++
modules/cms-ui/themes/default/html/views/page/name.php | 34++++++++++++++++++++++++++++++++++
modules/cms-ui/themes/default/html/views/page/name.tpl.src.xml | 26++++++++++++++++++++++++++
modules/language/language.yml | 7+++++--
12 files changed, 291 insertions(+), 76 deletions(-)

diff --git a/modules/cms-core/action/ObjectAction.class.php b/modules/cms-core/action/ObjectAction.class.php @@ -479,7 +479,7 @@ class ObjectAction extends Action $this->baseObject->filename = BaseObject::urlify( $this->getRequestVar('filename') ); $this->baseObject->save(); - $alias = $this->baseObject->getAlias(); + $alias = $this->baseObject->getAliasForLanguage(null); $alias->filename = BaseObject::urlify( $this->getRequestVar( 'alias_filename') ); $alias->parentid = $this->getRequestId('alias_folderid'); @@ -490,24 +490,38 @@ class ObjectAction extends Action $alias->save(); - // Name/Beschreibung für alle Sprachen speichern. - foreach( $this->baseObject->getNames() as $name ) - { - $language = new Language( $name->languageid ); - $language->load(); - - if ( $this->hasRequestVar( 'name_'.$language->name ) ) - $name->name = $this->getRequestVar( 'name_'.$language->name ); - if ( $this->hasRequestVar( 'description_'.$language->name ) ) - $name->description = $this->getRequestVar( 'description_'.$language->name ); + // Should we do this? + if ( $this->hasRequestVar('creationTimestamp') && $this->userIsAdmin() ) + $this->baseObject->createDate = $this->getRequestVar('creationTimestamp',OR_FILTER_NUMBER); + $this->baseObject->setCreationTimestamp(); - $name->save(); - } $this->addNotice($this->baseObject->getType(),$this->baseObject->filename,'PROP_SAVED','ok'); } + /** + * Abspeichern der Ordner-Eigenschaften. + */ + public function namePost() + { + if ( ! $this->hasRequestVar('name' ) ) + throw new \ValidationException('name'); + + $name = $this->baseObject->getNameForLanguage( $this->getRequestId('languageid')); + + $language = new Language( $name->languageid ); + $language->load(); + + $name->name = $this->getRequestVar( 'name' ); + $name->description = $this->getRequestVar( 'description' ); + + $name->save(); + + $this->addNotice($this->baseObject->getType(),$this->baseObject->filename,'SAVED','ok'); + } + + @@ -518,30 +532,29 @@ class ObjectAction extends Action public function propView() { $this->setTemplateVar( 'filename', $this->baseObject->filename ); - $alias = $this->baseObject->getAlias(); + $alias = $this->baseObject->getAliasForLanguage(null ); $this->setTemplateVar( 'alias_filename', $alias->filename ); $this->setTemplateVar( 'alias_folderid', $alias->parentid ); $project = Project::create( $this->baseObject->projectid ); $this->setTemplateVar( 'folders' , $project->getAllFlatFolders() ); + } - $nameProps = array(); - foreach( $this->baseObject->getNames() as $name ) - { - $nameProps[ $name->languageid ] = get_object_vars( $name ); - $language = new Language( $name->languageid ); - $language->load(); - $nameProps[ $name->languageid ]['languageName' ] = $language->name; - $nameProps[ $name->languageid ]['languageIsDefault'] = $language->isDefault; - $nameProps[ $name->languageid ]['languageIsoCode' ] = $language->isoCode; - } - $this->setTemplateVar('names',$nameProps); + /** + * Eigenschaften anzeigen. + */ + public function nameView() + { + $name = $this->baseObject->getNameForLanguage( $this->getRequestId('languageid') ); + + $nameProps = get_object_vars( $name ); + + $language = new Language( $name->languageid ); + $language->load(); + $nameProps[ 'languageName' ] = $language->name; + $this->setTemplateVars($nameProps); - // Should we do this? - if ( $this->hasRequestVar('creationTimestamp') && $this->userIsAdmin() ) - $this->baseObject->createDate = $this->getRequestVar('creationTimestamp',OR_FILTER_NUMBER); - $this->baseObject->setCreationTimestamp(); } diff --git a/modules/cms-core/action/PageAction.class.php b/modules/cms-core/action/PageAction.class.php @@ -316,7 +316,7 @@ class PageAction extends ObjectAction { $this->setTemplateVar('id',$this->page->objectid); - $this->page->public = true; + $this->page->publisher = new PublishPublic( $this->page->projectid ); $this->page->load(); $this->page->full_filename(); @@ -325,7 +325,30 @@ class PageAction extends ObjectAction $this->setTemplateVars( $this->page->getProperties() ); - if ( $this->userIsProjectAdmin() ) + $alias = $this->page->getAliasForLanguage(null); + $this->setTemplateVar( 'alias', $alias->full_filename() ); + + $languages = $this->page->getProject()->getLanguages(); + $languagesVars = array(); + + foreach( $languages as $id => $name ) + { + $this->page->languageid = $id; + $this->page->load(); + + $languagesVar = $this->page->getProperties(); + $languagesVar['languagename'] = $name; + $languagesVar['languageid' ] = $id; + $alias = $this->page->getAliasForLanguage( $id ); + $languagesVar['alias' ] = $alias->full_filename(); + + $languagesVars[] = $languagesVar; + + } + + $this->setTemplateVar('languages',$languagesVars ); + + if ( $this->userIsProjectAdmin() ) { $this->setTemplateVar('templateid',$this->page->templateid); $this->setTemplateVar('modelid',$this->page->modelid); @@ -342,6 +365,52 @@ class PageAction extends ObjectAction /** + * Die Eigenschaften der Seite anzeigen + */ + function nameView() + { + $this->page->load(); + + $this->setTemplateVars( $this->page->getProperties() ); + $this->setTemplateVar( 'languageid', $this->page->languageid ); + + $alias = $this->page->getAliasForLanguage( $this->page->languageid ); + + $this->setTemplateVar( 'alias_filename', $alias->filename ); + $this->setTemplateVar( 'alias_folderid', $alias->parentid ); + + $project = Project::create( $this->baseObject->projectid ); + $this->setTemplateVar( 'folders' , $project->getAllFlatFolders() ); + } + + + + + function namePost() { + + parent::namePost(); // Save name and description + + $alias = $this->page->getAliasForLanguage( $this->getRequestId('languageid')); + + $alias->filename = BaseObject::urlify( $this->getRequestVar( 'alias_filename') ); + $alias->parentid = $this->getRequestId('alias_folderid'); + + // If no alias, remove the alias + if ( ! $alias->filename ) { + + $alias->delete(); + $this->addNotice($alias->getType(),'','DELETED','ok'); + } + else + { + $alias->save(); + $this->addNotice($alias->getType(),$alias->filename,'SAVED','ok'); + } + + } + + + /** * Austauschen der Vorlage vorbereiten * * Es wird ein Formualar erzeugt, in dem der Benutzer auswaehlen kann, welche Elemente diff --git a/modules/cms-core/model/Alias.class.php b/modules/cms-core/model/Alias.class.php @@ -50,7 +50,9 @@ class Alias extends BaseObject ' WHERE link_objectid={objectid}'); $sql->setInt( 'objectid' ,$this->linkedObjectId ); } - + else{ + return; + } $row = $sql->getRow(); diff --git a/modules/cms-core/model/BaseObject.class.php b/modules/cms-core/model/BaseObject.class.php @@ -391,7 +391,7 @@ SQL { $alias = $this->getAlias(); - if ( $alias->filename ) + if ( $alias ) $folder = new Folder($alias->parentid); else $folder = new Folder($this->parentid); @@ -495,7 +495,7 @@ SQL public function getParentFolderId() { $alias = $this->getAlias(); - if ( $alias->filename ) + if ( $alias ) return $alias->parentid; else return $this->parentid; @@ -513,7 +513,8 @@ SQL $filename = $this->filename; $alias = $this->getAlias(); - if ( $alias->filename ) + + if ( $alias ) $filename = $alias->filename; if ( $conf['filename']['edit'] && $filename != '' && $filename != $this->objectid ) @@ -528,7 +529,7 @@ SQL { $filename = $this->objectid; } - elseif ( $this->orderid == 1 && + elseif ( isset($this->orderId) && intval($this->orderId ) == 1 && !empty($conf['filename']['default']) && !$conf['filename']['edit'] ) { @@ -1580,27 +1581,29 @@ SQL /** + * Liefert alle Name-Objekte. * @return Name + * @throws \ObjectNotFoundException */ - public function getDefaultName() + public function getNameForLanguage( $languageId ) { - $languageId = $this->getProject()->getDefaultLanguageId(); + $name = new Name(); + $name->objectid = $this->objectid; + $name->languageid = $languageId; + $name->load(); - return $this->getNameForLanguage( $languageId ); + return $name; } /** * @return Name */ - public function getNameForLanguage( $languageid ) + public function getDefaultName() { - $name = new Name(); - $name->objectid = $this->objectid; - $name->languageid = $languageid; - $name->load(); + $languageId = $this->getProject()->getDefaultLanguageId(); - return $name; + return $this->getNameForLanguage( $languageId ); } @@ -1642,11 +1645,38 @@ SQL } + + /** + * The Alias for this Object or <code>null</code>. + * + * @return Alias|null + */ public function getAlias() { + $alias = $this->getAliasForLanguage( $this->languageid ); + + if ( !$alias->isPersistent() ) + $alias = $this->getAliasForLanguage( null ); + + if ( !$alias->isPersistent() ) + return null; // no alias found + + return $alias; + } + + + /** + * Creates an Alias for a specific language. + * @param $languageid could be null for the default alias. + * @return Alias + * @throws \ObjectNotFoundException + */ + public function getAliasForLanguage( $languageid ) + { $alias = new Alias(); $alias->projectid = $this->projectid; $alias->linkedObjectId = $this->objectid; + $alias->languageid = $languageid; $alias->load(); return $alias; diff --git a/modules/cms-ui/themes/default/html/views/object/name.tpl.src.xml b/modules/cms-ui/themes/default/html/views/object/name.tpl.src.xml @@ -0,0 +1,15 @@ +<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 label="message:global_save"> + + <hidden name="languageid" /> + <group title="message:alias" open="true"> + + <input label="name" name="name" maxlength="255" required="true" /> + + <inputarea label="description" name="description" class="description" maxlength="255" /> + + </group> + + </form> +</output>+ \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/object/prop.php b/modules/cms-ui/themes/default/html/views/object/prop.php @@ -1,21 +1,13 @@ <form name="" target="_self" data-target="view" action="./" data-method="prop" data-action="object" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form object" data-async="" data-autosave=""><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="prop" /><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('global_prop') ?></legend><div> - <label class="or-form-row"><span class="or-form-label">Dateiname</span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_filename" name="<?php if ('') echo ''.'_' ?>filename<?php if ('') echo '_disabled' ?>" autofocus="autofocus" type="text" maxlength="150" class="filename" value="<?php echo Text::encodeHtml(@$filename) ?>" /><?php if ('') { ?><input type="hidden" name="filename" value="<?php $filename ?>"/><?php } ?></div></span></label> + <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('global_prop') ?></legend><div class="closable"> + <label class="or-form-row"><span class="or-form-label"><?php echo lang('global_filename') ?></span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_filename" name="<?php if ('') echo ''.'_' ?>filename<?php if ('') echo '_disabled' ?>" autofocus="autofocus" type="text" maxlength="150" class="filename" value="<?php echo Text::encodeHtml(@$filename) ?>" /><?php if ('') { ?><input type="hidden" name="filename" value="<?php $filename ?>"/><?php } ?></div></span></label> + <label class="or-form-row"><span class="or-form-label"><?php echo lang('alias') ?></span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_alias_filename" name="<?php if ('') echo ''.'_' ?>alias_filename<?php if ('') echo '_disabled' ?>" type="text" maxlength="150" class="filename" value="<?php echo Text::encodeHtml(@$alias_filename) ?>" /><?php if ('') { ?><input type="hidden" name="alias_filename" value="<?php $alias_filename ?>"/><?php } ?></div></span></label> + + <label class="or-form-row"><span class="or-form-label">Verzeichnis</span><span class="or-form-input"><div class="inputholder"><select id="<?php echo REQUEST_ID ?>_alias_folderid" name="alias_folderid" title="" class=""<?php if (count($folders)<=1) echo ' disabled="disabled"'; ?> size=1"><?php include_once( 'modules/template-engine/components/html/selectbox/component-select-box.php') ?><?php component_select_option_list($folders,$alias_folderid,0,0) ?><?php if (count($folders)==0) { ?><input type="hidden" name="alias_folderid" value="" /><?php } ?><?php if (count($folders)==1) { ?><input type="hidden" name="alias_folderid" value="<?php echo array_keys($folders)[0] ?>" /><?php } ?> + </select></div></span></label> </div></fieldset> - <?php foreach($names as $list_key=>$list_value){ ?><?php extract($list_value) ?> - <fieldset class="toggle-open-close<?php echo $languageIsDefault?" 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 $languageName ?></legend><div> - <?php $$languageName= $name; ?> - - <label class="or-form-row"><span class="or-form-label">Name</span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_<?php echo $languageName ?>" name="<?php if ('name') echo 'name'.'_' ?><?php echo $languageName ?><?php if ('') echo '_disabled' ?>" type="text" maxlength="255" class="filename" value="<?php echo Text::encodeHtml(@$$languageName) ?>" /><?php if ('') { ?><input type="hidden" name="<?php echo $languageName ?>" value="<?php $$languageName ?>"/><?php } ?></div></span></label> - - <?php $$languageName= $description; ?> - - <label class="or-form-row"><span class="or-form-label">Beschreibung</span><span class="or-form-input"><div class="inputholder"><textarea class="description" name="<?php if ('description') echo 'description'.'_' ?><?php echo $languageName ?><?php if ('') echo '_disabled' ?>" maxlength="255"><?php echo Text::encodeHtml($$languageName) ?></textarea></div></span></label> - - </div></fieldset> - <?php } ?> - <div class="or-form-actionbar"><input type="submit" class="or-form-btn or-form-btn--primary" value="<?php echo lang('global_save') ?>" /></div></form> + <div class="or-form-actionbar"><input type="button" class="or-form-btn or-form-btn--secondary or-form-btn--cancel" value="<?php echo lang("CANCEL") ?>" /><input type="submit" class="or-form-btn or-form-btn--primary" value="<?php echo lang('global_save') ?>" /></div></form> \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/object/prop.tpl.src.xml b/modules/cms-ui/themes/default/html/views/object/prop.tpl.src.xml @@ -5,20 +5,12 @@ <group title="message:global_prop"> <input name="filename" label="global_filename" class="filename" maxlength="150" focus="true" /> - </group> - - <list list="names" extract="true"> - <group title="var:languageName" open="var:languageIsDefault"> + <input name="alias_filename" label="alias" class="filename" maxlength="150" /> - <set var="var:languageName" value="var:name" /> - <input label="global_name" name="var:languageName" class="filename" prefix="name" maxlength="255" /> - - <set var="var:languageName" value="var:description" /> - <inputarea label="global_description" prefix="description" name="var:languageName" class="description" maxlength="255" /> + <selectbox name="alias_folderid" label="folder" list="folders"/> + </group> - </group> - </list> </form> </output> \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/page/info.php b/modules/cms-ui/themes/default/html/views/page/info.php @@ -5,7 +5,7 @@ <form name="" target="_self" data-target="view" action="./" data-method="info" data-action="page" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form page" data-async="" data-autosave=""><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="page" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="info" /><input type="hidden" name="<?php echo REQ_PARAM_ID ?>" value="<?php echo OR_ID ?>" /> <span class="headline"><?php echo nl2br(encodeHtml(htmlentities($name))); ?></span> - <fieldset class="toggle-open-close<?php echo '1'?" open":" closed" ?><?php echo '1'?" show":"" ?>"><div> + <fieldset class="toggle-open-close<?php echo '1'?" open":" closed" ?><?php echo '1'?" show":"" ?>"><div class="closable"> <div class="line"> <div class="label"> <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'type'.'')))); ?></span> @@ -48,7 +48,24 @@ </div> </div> </div></fieldset> - <fieldset class="toggle-open-close<?php echo ''?" 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('additional_info') ?></legend><div> + <?php foreach($languages as $list_key=>$list_value){ ?><?php extract($list_value) ?> + <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 $languagename ?></legend><div class="closable"> + <label class="or-form-row"><span class="or-form-label"><?php echo lang('name') ?></span><span class="or-form-input"><span><?php echo nl2br(encodeHtml(htmlentities($name))); ?></span></span></label> + + <label class="or-form-row"><span class="or-form-label"><?php echo lang('description') ?></span><span class="or-form-input"><span><?php echo nl2br(encodeHtml(htmlentities($description))); ?></span></span></label> + + <label class="or-form-row"><span class="or-form-label"><?php echo lang('alias') ?></span><span class="or-form-input"><span><?php echo nl2br(encodeHtml(htmlentities($alias))); ?></span></span></label> + + <div class="clickable"> + <a class="or-link-btn" target="_self" data-type="edit" data-action="page" data-method="name" data-id="<?php echo OR_ID ?>" data-extra="{'languageid':'<?php echo $languageid ?>'}" href="<?php echo Html::url('page','name','',array('languageid'=>$languageid)) ?>"> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'edit'.'')))); ?></span> + + </a> + + </div> + </div></fieldset> + <?php } ?> + <fieldset class="toggle-open-close<?php echo ''?" 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('additional_info') ?></legend><div class="closable"> <div class="line"> <div class="label"> <label for="<?php echo REQUEST_ID ?>_full_filename" class="label"> @@ -126,7 +143,7 @@ </div> </div></fieldset> - <fieldset class="toggle-open-close<?php echo ''?" 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('prop_userinfo') ?></legend><div> + <fieldset class="toggle-open-close<?php echo ''?" 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('prop_userinfo') ?></legend><div class="closable"> <div class="line"> <div class="label"> <label for="<?php echo REQUEST_ID ?>_create_date" class="label"> diff --git a/modules/cms-ui/themes/default/html/views/page/info.tpl.src.xml b/modules/cms-ui/themes/default/html/views/page/info.tpl.src.xml @@ -40,7 +40,28 @@ </part> </part> </group> + + <list list="languages" extract="true"> + + + <group title="var:languagename"> + + <text label="name" var="name" /> + <text label="description" var="description" /> + + <text label="alias" var="alias" /> + + <part class="clickable"> + <link class="or-link-btn" type="edit" action="page" subaction="name" var1="languageid" value1="var:languageid"> + <text key="edit" /> + </link> + </part> + </group> + + </list> + <group title="message:additional_info" open="false"> + <part class="line"> <part class="label"> <label for="full_filename"> diff --git a/modules/cms-ui/themes/default/html/views/page/name.php b/modules/cms-ui/themes/default/html/views/page/name.php @@ -0,0 +1,33 @@ + + + <form name="" target="_self" data-target="view" action="./" data-method="name" data-action="page" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form page" data-async="" data-autosave=""><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="page" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="name" /><input type="hidden" name="<?php echo REQ_PARAM_ID ?>" value="<?php echo OR_ID ?>" /> + <input type="hidden" name="languageid" value="<?php echo $languageid ?>"/> + + <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('name') ?></legend><div class="closable"> + <label class="or-form-row"><span class="or-form-label"><?php echo lang('name') ?></span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_name" name="<?php if ('') echo ''.'_' ?>name<?php if ('') echo '_disabled' ?>" required="required" type="text" maxlength="255" class="" value="<?php echo Text::encodeHtml(@$name) ?>" /><?php if ('') { ?><input type="hidden" name="name" value="<?php $name ?>"/><?php } ?></div></span></label> + + <label class="or-form-row"><span class="or-form-label">Beschreibung</span><span class="or-form-input"><div class="inputholder"><textarea class="description" name="<?php if ('') echo ''.'_' ?>description<?php if ('') echo '_disabled' ?>" maxlength="255"><?php echo Text::encodeHtml($description) ?></textarea></div></span></label> + + </div></fieldset> + <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('alias') ?></legend><div class="closable"> + <label class="or-form-row"><span class="or-form-label"><?php echo lang('alias') ?></span><span class="or-form-input"><div class="inputholder"><input id="<?php echo REQUEST_ID ?>_alias_filename" name="<?php if ('') echo ''.'_' ?>alias_filename<?php if ('') echo '_disabled' ?>" type="text" maxlength="150" class="filename" value="<?php echo Text::encodeHtml(@$alias_filename) ?>" /><?php if ('') { ?><input type="hidden" name="alias_filename" value="<?php $alias_filename ?>"/><?php } ?></div></span></label> + + <label class="or-form-row"><span class="or-form-label">Verzeichnis</span><span class="or-form-input"><div class="inputholder"><select id="<?php echo REQUEST_ID ?>_alias_folderid" name="alias_folderid" title="" class=""<?php if (count($folders)<=1) echo ' disabled="disabled"'; ?> size=1"><?php include_once( 'modules/template-engine/components/html/selectbox/component-select-box.php') ?><?php component_select_option_list($folders,$alias_folderid,0,0) ?><?php if (count($folders)==0) { ?><input type="hidden" name="alias_folderid" value="" /><?php } ?><?php if (count($folders)==1) { ?><input type="hidden" name="alias_folderid" value="<?php echo array_keys($folders)[0] ?>" /><?php } ?> + </select></div></span></label> + <label class="or-form-row"><span class="or-form-label"></span><span class="or-form-input"><?php { $tmpname = 'leave_link';$default = '0';$readonly = '';$required = ''; + if ( isset($$tmpname) ) + $checked = $$tmpname; + else + $checked = $default; + + ?><input class="checkbox" type="checkbox" id="<?php echo REQUEST_ID ?>_<?php echo $tmpname ?>" name="<?php echo $tmpname ?>" <?php if ($readonly) echo ' disabled="disabled"' ?> value="1"<?php if( $checked ) echo ' checked="checked"' ?><?php if( $required ) echo ' required="required"' ?> /><?php + + if ( $readonly && $checked ) + { + ?><input type="hidden" name="<?php echo $tmpname ?>" value="1" /><?php + } + } ?>&nbsp;?leave_link? </span></label> + + </div></fieldset> + <div class="or-form-actionbar"><input type="button" class="or-form-btn or-form-btn--secondary or-form-btn--cancel" value="<?php echo lang("CANCEL") ?>" /><input type="submit" class="or-form-btn or-form-btn--primary" value="<?php echo lang('global_save') ?>" /></div></form> + + \ No newline at end of file diff --git a/modules/cms-ui/themes/default/html/views/page/name.tpl.src.xml b/modules/cms-ui/themes/default/html/views/page/name.tpl.src.xml @@ -0,0 +1,25 @@ +<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 label="message:global_save"> + + <hidden name="languageid" /> + + <group title="message:name" open="true"> + + <input label="name" name="name" maxlength="255" required="true" /> + + <inputarea label="description" name="description" class="description" maxlength="255" /> + + </group> + + <group title="message:alias" open="true"> + + <input name="alias_filename" label="alias" class="filename" maxlength="150" /> + + <selectbox name="alias_folderid" label="folder" list="folders"/> + + <checkbox label="leave_link" name="leave_link" default="0" /> + </group> + + </form> +</output>+ \ No newline at end of file diff --git a/modules/language/language.yml b/modules/language/language.yml @@ -6145,4 +6145,7 @@ EDIT_PASSWORD: en: Change password SOURCE: de: Quelltext - en: Source- \ No newline at end of file + en: Source +LEAVE_LINK: + de: Link hinterlassen + en: Leave a link+ \ No newline at end of file