commit ffdfd1a077c602de036f3aed53ec7b83310aedfc
parent 9bf303afa88754c22223837454e2802d6731952d
Author: Jan Dankert <devnull@localhost>
Date: Fri, 2 Feb 2018 02:17:38 +0100
Sprachen-Id aus dem Baum in die Views übertragen. Verwenden der JQuery-Data-Funktionen für das Speichern von Daten, da das Speichern in Attributen zu Encoding-Problemen führen kann. Außerdem ist das native setzen von Daten schneller als der Weg über die DOM-Attribute.
Diffstat:
7 files changed, 108 insertions(+), 59 deletions(-)
diff --git a/modules/cms-core/action/FolderAction.class.php b/modules/cms-core/action/FolderAction.class.php
@@ -52,6 +52,7 @@ class FolderAction extends ObjectAction
public function __construct()
{
$this->folder = new Folder( $this->getRequestId() );
+ $this->folder->languageid = $this->getRequestVar('languageid');
$this->folder->load();
}
diff --git a/modules/cms-core/action/TemplatelistAction.class.php b/modules/cms-core/action/TemplatelistAction.class.php
@@ -57,8 +57,11 @@ class TemplatelistAction extends Action
global $conf_php;
$list = array();
-
- foreach( Template::getAll() as $id=>$name )
+
+ $template = new Template();
+ $template->projectid = $this->getRequestId();
+
+ foreach( $template::getAll() as $id=>$name )
{
$list[$id] = array();
$list[$id]['name'] = $name;
diff --git a/modules/cms-ui/themes/default/script/openrat.js b/modules/cms-ui/themes/default/script/openrat.js
@@ -72,12 +72,12 @@ function refreshAllRefreshables()
if ( $(this).hasClass('static') )
return;
- var method = $(this).attr('data-method');
- var action = $(this).attr('data-action');
- var id = $(this).attr('data-id');
- var extraid = $(this).attr('data-extra');
+ var method = $(this).data('method');
+ var action = $(this).data('action');
+ var id = $(this).data('id');
+ var extraid = $(this).data('extra');
- loadView( $(this).closest('div.panel').find('div.content'),action,method,id);
+ loadView( $(this).closest('div.panel').find('div.content'),action,method,id,extraid);
});
}
@@ -641,8 +641,8 @@ function loadTree()
// Wurzel des Baums laden
//loadBranch( $('div#tree ul.tree > li'),'root',0);
- $('div#panel-tree div.content > div.sheet.action-tree.method-tree').orTree( { type:'root',id:0,onSelect:function(name,type,id) {
- openNewAction( name,type,id, '' );
+ $('div#panel-tree div.content > div.sheet.action-tree.method-tree').orTree( { type:'root',id:0,onSelect:function(name,type,id,extraId) {
+ openNewAction( name,type,id, extraId );
} });
// Die ersten 2 Hierarchien öffnen:
@@ -817,9 +817,16 @@ function openNewAction( name,action,id,extraId )
var maxTabs = 7;
if ( $('div#panel-content > div.header > ul.views > li.action').length >= maxTabs )
$('div#panel-content > div.header > ul.views > li.action').first().remove();
-
- $('div#panel-content > div.header > ul.views').append('<li class="action active '+action+' id'+id+'" title="'+name+'" data-action="'+action+'" data-id="'+id+'" data-method="'+DEFAULT_CONTENT_ACTION+'"><img class="icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+action+'.png" title="" /><div class="tabname">'+name+'</div><img class="close icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon/close.gif" title="" /></li>');
- resizeTabs( $('div#contentbar'),true);
+
+ var newLi = $('<li class="action active '+action+' id'+id+'" title="'+name+'"><img class="icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+action+'.png" title="" /><div class="tabname">'+name+'</div><img class="close icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon/close.gif" title="" /></li>');
+ $('div#panel-content > div.header > ul.views').append(newLi);
+
+ newLi.data('action',action);
+ newLi.data('id',id);
+ newLi.data('extra',extraId);
+ newLi.data('method',DEFAULT_CONTENT_ACTION);
+
+ resizeTabs( $('div#contentbar'),true);
$('div#panel-content > div.header > ul.views').scrollLeft(9999);
// Klick auf den "Schließen"-Knopf
@@ -912,7 +919,7 @@ function filterMenus(action)
function setNewAction( action,id,extraId )
{
filterMenus(action);
- $('#workbench ul.views > li.action.dependent').attr('data-action',action).attr('data-id',id).attr('data-extra',JSON.stringify(extraId));
+ $('#workbench ul.views > li.action.dependent').data('action',action).data('id',id).data('extra',extraId);
// Alle refresh-fähigen Views mit dem neuen Objekt laden.
refreshAllRefreshables();
@@ -1109,9 +1116,9 @@ function createUrl(action,subaction,id,extraid)
}
else if ( typeof extraid === 'object')
{
- url += '?0=0';
+ url += '?action='+action+'&subaction='+subaction+'&id='+id;
jQuery.each(extraid, function(name, field) {
- url = url + '&' + field.name + '=' + field.value;
+ url = url + '&' + name + '=' + field;
});
}
else
diff --git a/modules/cms-ui/themes/default/script/openrat.min.js b/modules/cms-ui/themes/default/script/openrat.min.js
@@ -1,19 +1,19 @@
;var DEFAULT_CONTENT_ACTION='edit',OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');refreshAll();window.setInterval(function(){ping()},300000)});function ping(){$.ajax(createUrl('title','ping',0))};function refreshAll(){refreshTitleBar();refreshWorkbench();$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){}
-else{$('div#dialog').html('').hide();$('div#filler').fadeOut(500)}})};function refreshAllRefreshables(){$('#workbench div.panel > div.header > ul.views > li.active').each(function(){if($(this).hasClass('static'))return;var e=$(this).attr('data-method'),i=$(this).attr('data-action'),t=$(this).attr('data-id'),a=$(this).attr('data-extra');loadView($(this).closest('div.panel').find('div.content'),i,e,t)})};function refreshActualView(e){$(e).closest('div.panel').find('li.active').each(function(){var e=$(this).attr('data-method'),i=$(this).attr('data-action'),t=$(this).attr('data-id');loadView($(this).closest('div.panel').find('div.content'),i,e,t)})};function refreshWorkbench(){$('ul#history').empty();resizeWorkbench();$('div.modaldialog').fadeOut(500);$('#workbench').removeClass('modal');$('div#filler').fadeOut(500);$('#workbench').fadeIn(750).find('li.active').each(function(){var i=$(this).attr('data-method'),e=$(this).attr('data-action');if(e)loadView($(this).closest('div.panel').find('div.content'),e,i,0)});$('div.backward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').prev();e.scrollTo(i,500,{'axis':'x'});i.click()});$('div.forward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').next();e.scrollTo(i,500,{'axis':'x'});i.click()});registerWorkbenchEvents();$(window).resize(function(){resizeWorkbench()})};function registerWorkbenchEvents(){$('ul.views > li.action').draggable({cursor:'move',revert:'invalid'});$('ul.views').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var a=i.draggable,n=$(this),s=a.parent();if($(a).closest('div.panel').attr('id')==$(n).closest('div.panel').attr('id'))$(a).css({top:0,left:0});else $(a).detach().css({top:0,left:0}).appendTo(n).click();if(s.find('li').size()==0){var t=s.closest('div.container');s.closest('div.panel').remove();if(t.hasClass('autosize'))t.children('div.panel').addClass('autosize').removeClass('resizable');else t.children('div.panel').addClass('resizable').removeClass('autosize');t.replaceWith(t.children('div.panel'));resizeWorkbench()}}});$('div.content').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var s=i.draggable,n=$(this),o=s.parent(),d=s.offset(),l=n.offset(),h=d.left-l.left,v=l.left+n.width()-d.left,r=d.top-l.top,c=l.top+n.height()-d.top,t=$('<div class="container"><div class="first" /><div class="divider" /><div class="second"></div>');if(h<Math.min(v,Math.min(r,c))){t.addClass('axle-x');t.children('div.divider').addClass('to-right');t.children('div.first').removeClass('first').addClass('resizable');t.children('div.second').removeClass('first').addClass('autosize')}
+else{$('div#dialog').html('').hide();$('div#filler').fadeOut(500)}})};function refreshAllRefreshables(){$('#workbench div.panel > div.header > ul.views > li.active').each(function(){if($(this).hasClass('static'))return;var e=$(this).data('method'),i=$(this).data('action'),t=$(this).data('id'),a=$(this).data('extra');loadView($(this).closest('div.panel').find('div.content'),i,e,t,a)})};function refreshActualView(e){$(e).closest('div.panel').find('li.active').each(function(){var e=$(this).attr('data-method'),i=$(this).attr('data-action'),t=$(this).attr('data-id');loadView($(this).closest('div.panel').find('div.content'),i,e,t)})};function refreshWorkbench(){$('ul#history').empty();resizeWorkbench();$('div.modaldialog').fadeOut(500);$('#workbench').removeClass('modal');$('div#filler').fadeOut(500);$('#workbench').fadeIn(750).find('li.active').each(function(){var i=$(this).attr('data-method'),e=$(this).attr('data-action');if(e)loadView($(this).closest('div.panel').find('div.content'),e,i,0)});$('div.backward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').prev();e.scrollTo(i,500,{'axis':'x'});i.click()});$('div.forward_link').click(function(){var e=$(this).closest('div.header').find('ul.views'),i=e.find('li.action.active').next();e.scrollTo(i,500,{'axis':'x'});i.click()});registerWorkbenchEvents();$(window).resize(function(){resizeWorkbench()})};function registerWorkbenchEvents(){$('ul.views > li.action').draggable({cursor:'move',revert:'invalid'});$('ul.views').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var a=i.draggable,n=$(this),s=a.parent();if($(a).closest('div.panel').attr('id')==$(n).closest('div.panel').attr('id'))$(a).css({top:0,left:0});else $(a).detach().css({top:0,left:0}).appendTo(n).click();if(s.find('li').size()==0){var t=s.closest('div.container');s.closest('div.panel').remove();if(t.hasClass('autosize'))t.children('div.panel').addClass('autosize').removeClass('resizable');else t.children('div.panel').addClass('resizable').removeClass('autosize');t.replaceWith(t.children('div.panel'));resizeWorkbench()}}});$('div.content').droppable({accept:'li.action',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var s=i.draggable,n=$(this),o=s.parent(),d=s.offset(),l=n.offset(),h=d.left-l.left,v=l.left+n.width()-d.left,r=d.top-l.top,c=l.top+n.height()-d.top,t=$('<div class="container"><div class="first" /><div class="divider" /><div class="second"></div>');if(h<Math.min(v,Math.min(r,c))){t.addClass('axle-x');t.children('div.divider').addClass('to-right');t.children('div.first').removeClass('first').addClass('resizable');t.children('div.second').removeClass('first').addClass('autosize')}
else if(v<Math.min(r,c)){t.addClass('axle-x');t.children('div.divider').addClass('to-left');t.children('div.first').removeClass('first').addClass('autosize');t.children('div.second').removeClass('first').addClass('resizable')}
else if(r<c){t.addClass('axle-y');t.children('div.divider').addClass('to-bottom');t.children('div.first').removeClass('first').addClass('resizable');t.children('div.second').removeClass('first').addClass('autosize')}
else{t.addClass('axle-y');t.children('div.divider').addClass('to-top');t.children('div.first').removeClass('first').addClass('autosize');t.children('div.second').removeClass('first').addClass('resizable')};t.children('div.resizable').addClass('bar').data('size-factor',0.4);$(s).closest('div.panel').clone().addClass('resizable').removeClass('autosize').replaceAll(t.children('div.resizable'));t.find('ul.views > li').remove();$(s).detach().css({top:0,left:0}).appendTo(t.find('ul.views')).click();var a=$(n).closest('div.panel').replaceWith(t);t.children('div.autosize').replaceWith(a);if(a.hasClass('autosize')){t.addClass('autosize').removeClass('resizable')};if(a.hasClass('resizable')){t.addClass('resizable').removeClass('autosize')};a.addClass('autosize').removeClass('resizable');if(o.find('li').length==0){var a=o.closest('div.container');o.closest('div.panel').remove();if(a.hasClass('autosize'))a.children('div.panel').addClass('autosize').removeClass('resizable');else a.children('div.panel').addClass('resizable').removeClass('autosize');a.replaceWith(a.children('div.panel'));resizeWorkbench()};resizeWorkbench();registerWorkbenchEvents()}});if($('#workbench div.panel.modal').length>0){$('#workbench div.panel.modal').parent().addClass('modal');$('div#filler').fadeTo(500,0.5);$('#workbench').addClass('modal')};$('div.container.axle-x > div.divider').draggable({stop:function(e,i){var t=i.position.left,a=$(this).hasClass('to-right')?1:-1;$(this).parent().children('div.resizable').each(function(){var e=((a*t)+$(this).width())/($(this).parent().width());e=Math.min(0.5,Math.max(0.1,e));$(this).data('size-factor',e)});resizeWorkbenchContainer($(this).parent())},axis:'x',revert:!0,revertDuration:0});$('div.container.axle-y > div.divider').draggable({stop:function(e,i){var t=i.position.top,a=$(this).hasClass('to-bottom')?1:-1;$(this).parent().children('div.resizable').each(function(){var e=((a*t)+$(this).height())/($(this).parent().height());e=Math.min(0.5,Math.max(0.1,e));$(this).data('size-factor',e)});resizeWorkbenchContainer($(this).parent())},axis:'y',revert:!0,revertDuration:0});$('ul.views > li.action').click(function(){$(this).orLoadView()});$('div.header').dblclick(function(){fullscreen(this)});loadTree()};function refreshTitleBar(){$('#header').load(createUrl('title','show',0),function(){$(this).fadeIn('slow');registerHeaderEvents()})};function loadViewByName(e,i){alert('loadViewByName');loadView($('div#'+e),i)};function loadView(e,i,t,s,n){var a=$(e).children('div.sheet.action-'+i+'.method-'+t+'.id-'+s);if(a.length==0){$(e).children('div.sheet').hide();a=$('<div class="sheet action-'+i+' method-'+t+' id-'+s+'" />');$(e).append(a)}
else{if(a.is(':visible')){return}
-else{$(e).children('div.sheet').hide();a.show();return}};var d=createUrl(i,t,s,n);$(a).empty().fadeTo(1,0.7).addClass('loader').html('').load(d,function(e,i,t){$(a).fadeTo(350,1);if(i=='error'){$(a).html('');$(a).removeClass('loader');notify('error',e);return};$(a).removeClass('loader');registerViewEvents(a)})};function registerViewEvents(e){$(e).trigger('orViewLoaded');$(e).find('input[data-hint]').orHint();$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('div.headermenu > a').each(function(e,i){});$(e).find('div.header > a.back').each(function(i,t){$(t).removeClass('button').wrap('<div class="entry perview" />').parent().appendTo($(e).closest('div.panel').find('div.header div.dropdown').first())});$(e).find('div.selector.tree').each(function(){var e=this;$(this).orTree({type:'project',selectable:$(e).attr('data-types').split(','),id:$(e).attr('data-init-folderid'),onSelect:function(i,t,a){var s=$(e).parent();$(s).find('input[type=text]').attr('value',i);$(s).find('input[type=hidden]').attr('value',a)}})});$('div.content li.object').draggable({cursor:'move',revert:'invalid'});$('div.content li.object > div.entry[data-type=\'folder\']').droppable({accept:'li.object',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var t=i.draggable,a=$(this).parent();startDialog($(this).text(),$(t).attr('data-type'),'copy',$(a).attr('data-id'),{'action':$(t).attr('data-type'),'subaction':'copy','id':$(t).attr('data-id'),'targetFolderId':$(a).attr('data-id')});$(t).detach().css({top:0,left:0}).appendTo(a).click()}});$(e).find('input').change(function(){$(this).closest('div.panel').find('ul.views li.action.active').addClass('dirty')})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parent().removeClass('open')});$('#header .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parent().toggleClass('open')});$('#header .toolbar-icon.menu').mouseover(function(){$(this).parent().find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#header').trigger('orHeaderLoaded');$('div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('div.search input').orHint();$('div.search input').orSearch({dropdown:'div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){if($('div#panel-tree li.action').data('action')=='tree'){$('div#panel-tree div.content > div.sheet.action-tree.method-tree').html(' ');$('div#panel-tree div.content > div.sheet.action-tree.method-tree').orTree({type:'root',id:0,onSelect:function(e,i,t){openNewAction(e,i,t,'')}});$('div#panel-tree div.content > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click();$('div#panel-tree div.content > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click()}};function submitUrl(e,i){postUrl(i,e);refreshAllRefreshables()};function postUrl(e,i){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,t,a){$('div.panel div.status div.loader').html(' ');doResponse(e,t,i)}})};function startView(e,i){var t=$('#panel-content').find('li.active').data('action'),a=$('#panel-content').find('li.active').data('id');loadView($(e).closest('div.panel').find('div.content'),t,i,a)};function startDialog(e,i,t,a,s){if(i==null||i.length==0)i=$('#panel-content').find('li.active').data('action');if(a==null||a.length==0)a=$('#panel-content').find('li.active').data('id');$('div#filler').fadeTo(500,0.5);$('div#dialog').html('<div class="header"><ul class="views"><li class="action active"><img class="icon" title="" src="./themes/default/images/icon/'+t+'.png" /><div class="tabname" style="width:100px;">'+e+'</div></li></ul></div><div class="content" />');$('div#dialog').data('id',a);$('div#dialog').show();loadView($('div#dialog div.content'),i,t,a,s)};function modalView(e,i){var t=$(e).closest('div.panel').find('li.active').attr('data-action'),a=$(e).closest('div.panel').find('li.active').attr('data-method'),s=$(e).closest('div.panel').find('li.active').attr('data-id');$(e).closest('div.content').modal({'overlayClose':'true','xxxonClose':function(){alert('close)')}});loadView($(e).closest('div.content'),t,a,s)};function setTitle(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};function openNewAction(e,i,t,a){setTitle(e);$('ul#history li.active').removeClass('active');if($('ul#history li.'+i+'.id'+t).length>0){$('ul#history li.'+i+'.id'+t).addClass('active')}
+else{$(e).children('div.sheet').hide();a.show();return}};var d=createUrl(i,t,s,n);$(a).empty().fadeTo(1,0.7).addClass('loader').html('').load(d,function(e,i,t){$(a).fadeTo(350,1);if(i=='error'){$(a).html('');$(a).removeClass('loader');notify('error',e);return};$(a).removeClass('loader');registerViewEvents(a)})};function registerViewEvents(e){$(e).trigger('orViewLoaded');$(e).find('input[data-hint]').orHint();$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('div.headermenu > a').each(function(e,i){});$(e).find('div.header > a.back').each(function(i,t){$(t).removeClass('button').wrap('<div class="entry perview" />').parent().appendTo($(e).closest('div.panel').find('div.header div.dropdown').first())});$(e).find('div.selector.tree').each(function(){var e=this;$(this).orTree({type:'project',selectable:$(e).attr('data-types').split(','),id:$(e).attr('data-init-folderid'),onSelect:function(i,t,a){var s=$(e).parent();$(s).find('input[type=text]').attr('value',i);$(s).find('input[type=hidden]').attr('value',a)}})});$('div.content li.object').draggable({cursor:'move',revert:'invalid'});$('div.content li.object > div.entry[data-type=\'folder\']').droppable({accept:'li.object',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,i){var t=i.draggable,a=$(this).parent();startDialog($(this).text(),$(t).attr('data-type'),'copy',$(a).attr('data-id'),{'action':$(t).attr('data-type'),'subaction':'copy','id':$(t).attr('data-id'),'targetFolderId':$(a).attr('data-id')});$(t).detach().css({top:0,left:0}).appendTo(a).click()}});$(e).find('input').change(function(){$(this).closest('div.panel').find('ul.views li.action.active').addClass('dirty')})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parent().removeClass('open')});$('#header .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parent().toggleClass('open')});$('#header .toolbar-icon.menu').mouseover(function(){$(this).parent().find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#header').trigger('orHeaderLoaded');$('div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('div.search input').orHint();$('div.search input').orSearch({dropdown:'div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){if($('div#panel-tree li.action').data('action')=='tree'){$('div#panel-tree div.content > div.sheet.action-tree.method-tree').html(' ');$('div#panel-tree div.content > div.sheet.action-tree.method-tree').orTree({type:'root',id:0,onSelect:function(e,i,t,a){openNewAction(e,i,t,a)}});$('div#panel-tree div.content > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click();$('div#panel-tree div.content > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click()}};function submitUrl(e,i){postUrl(i,e);refreshAllRefreshables()};function postUrl(e,i){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,t,a){$('div.panel div.status div.loader').html(' ');doResponse(e,t,i)}})};function startView(e,i){var t=$('#panel-content').find('li.active').data('action'),a=$('#panel-content').find('li.active').data('id');loadView($(e).closest('div.panel').find('div.content'),t,i,a)};function startDialog(e,i,t,a,s){if(i==null||i.length==0)i=$('#panel-content').find('li.active').data('action');if(a==null||a.length==0)a=$('#panel-content').find('li.active').data('id');$('div#filler').fadeTo(500,0.5);$('div#dialog').html('<div class="header"><ul class="views"><li class="action active"><img class="icon" title="" src="./themes/default/images/icon/'+t+'.png" /><div class="tabname" style="width:100px;">'+e+'</div></li></ul></div><div class="content" />');$('div#dialog').data('id',a);$('div#dialog').show();loadView($('div#dialog div.content'),i,t,a,s)};function modalView(e,i){var t=$(e).closest('div.panel').find('li.active').attr('data-action'),a=$(e).closest('div.panel').find('li.active').attr('data-method'),s=$(e).closest('div.panel').find('li.active').attr('data-id');$(e).closest('div.content').modal({'overlayClose':'true','xxxonClose':function(){alert('close)')}});loadView($(e).closest('div.content'),t,a,s)};function setTitle(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};function openNewAction(e,i,t,a){setTitle(e);$('ul#history li.active').removeClass('active');if($('ul#history li.'+i+'.id'+t).length>0){$('ul#history li.'+i+'.id'+t).addClass('active')}
else{$('ul#history').append('<li class="action active '+i+' id'+t+'"><img src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+i+'.png" title="" />'+e+'</li>');$('ul#history li.active').click(function(){$('ul#history li.active').removeClass('active');$(this).addClass('active');setNewAction(i,t,a)})};$('div#panel-content > div.header > ul.views li.active').removeClass('active');if($('div#panel-content > div.header > ul.views > li.'+i+'.id'+t).length>0){$('div#panel-content > div.header > ul.views > li.'+i+'.id'+t).addClass('active')}
-else{$('div#panel-content > div.header > ul.views > li.active').removeClass('active');var s=7;if($('div#panel-content > div.header > ul.views > li.action').length>=s)$('div#panel-content > div.header > ul.views > li.action').first().remove();$('div#panel-content > div.header > ul.views').append('<li class="action active '+i+' id'+t+'" title="'+e+'" data-action="'+i+'" data-id="'+t+'" data-method="'+DEFAULT_CONTENT_ACTION+'"><img class="icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+i+'.png" title="" /><div class="tabname">'+e+'</div><img class="close icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon/close.gif" title="" /></li>');resizeTabs($('div#contentbar'),!0);$('div#panel-content > div.header > ul.views').scrollLeft(9999);$('div#panel-content > div.header > ul.views img.close').click(function(){setTitle('');var i=$(this).closest('li.action').data('action'),t=$(this).closest('li.action').data('id');$('#workbench div.content > div.sheet.action-'+i+'.id-'+t).remove();if($(this).closest('li.action').hasClass('active')){$('#workbench div.refreshable div.content').html('');var e=$(this).closest('ul.views');$(this).parent().remove();$(e).find('li.action').last().click()}
-else{$(this).parent().remove()};resizeTabs($('div#panel-content'),!0)});$('div#panel-content > div.header > ul.views > li.active').click(function(){$('div#panel-content > div.header > ul.views li.active').removeClass('active');$(this).addClass('active');setTitle($(this).children('div.tabname').text());setNewAction(i,t,a)});resizeTabs($('div#panel-content '))};setNewAction(i,t,a)};function filterMenus(e){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive')};function setNewAction(e,i,t){filterMenus(e);$('#workbench ul.views > li.action.dependent').attr('data-action',e).attr('data-id',i).attr('data-extra',JSON.stringify(t));refreshAllRefreshables()};function setNewId(e){$('#workbench div.refreshable').attr('data-id',e);refreshAllRefreshables()};function notifyBrowser(e){if(!('Notification' in window)){return}
+else{$('div#panel-content > div.header > ul.views > li.active').removeClass('active');var n=7;if($('div#panel-content > div.header > ul.views > li.action').length>=n)$('div#panel-content > div.header > ul.views > li.action').first().remove();var s=$('<li class="action active '+i+' id'+t+'" title="'+e+'"><img class="icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon_'+i+'.png" title="" /><div class="tabname">'+e+'</div><img class="close icon" src="'+OR_THEMES_EXT_DIR+'default/images/icon/close.gif" title="" /></li>');$('div#panel-content > div.header > ul.views').append(s);s.data('action',i);s.data('id',t);s.data('extra',a);s.data('method',DEFAULT_CONTENT_ACTION);resizeTabs($('div#contentbar'),!0);$('div#panel-content > div.header > ul.views').scrollLeft(9999);$('div#panel-content > div.header > ul.views img.close').click(function(){setTitle('');var i=$(this).closest('li.action').data('action'),t=$(this).closest('li.action').data('id');$('#workbench div.content > div.sheet.action-'+i+'.id-'+t).remove();if($(this).closest('li.action').hasClass('active')){$('#workbench div.refreshable div.content').html('');var e=$(this).closest('ul.views');$(this).parent().remove();$(e).find('li.action').last().click()}
+else{$(this).parent().remove()};resizeTabs($('div#panel-content'),!0)});$('div#panel-content > div.header > ul.views > li.active').click(function(){$('div#panel-content > div.header > ul.views li.active').removeClass('active');$(this).addClass('active');setTitle($(this).children('div.tabname').text());setNewAction(i,t,a)});resizeTabs($('div#panel-content '))};setNewAction(i,t,a)};function filterMenus(e){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive')};function setNewAction(e,i,t){filterMenus(e);$('#workbench ul.views > li.action.dependent').data('action',e).data('id',i).data('extra',t);refreshAllRefreshables()};function setNewId(e){$('#workbench div.refreshable').attr('data-id',e);refreshAllRefreshables()};function notifyBrowser(e){if(!('Notification' in window)){return}
else if(Notification.permission==='granted'){var i=new Notification(e)}
else if(Notification.permission!=='denied'){Notification.requestPermission(function(i){if(i==='granted'){var t=new Notification(e)}})}};function setUserStyle(e){var i=$('html'),t=i.attr('class').split(/\s+/);$.each(t,function(e,t){if(t.startsWith('theme-')){i.removeClass(t)}});i.addClass('theme-'+e.toLowerCase())};function insert(e,i,t){var a=document.forms[0].elements[e];a.focus();if(typeof document.selection!='undefined'){var d=document.selection.createRange(),s=d.text;d.text=i+s+t;d=document.selection.createRange();if(s.length==0){d.move('character',-t.length)}
else{d.moveStart('character',i.length+s.length+t.length)};d.select()}
else if(typeof a.selectionStart!='undefined'){var l=a.selectionStart,o=a.selectionEnd,s=a.value.substring(l,o);a.value=a.value.substr(0,l)+i+s+t+a.value.substr(o);var n;if(s.length==0){n=l+i.length}
else{n=l+i.length+s.length+t.length};a.selectionStart=n;a.selectionEnd=n}
-else{n=a.value.length;var s=prompt('Text');a.value=a.value.substr(0,n)+i+s+t+a.value.substr(n)}};function loadSubaction(e,i,t,a){alert('nobody should call loadSubaction()');var n={skin:'v2',baseHref:OR_THEMES_EXT_DIR+'../editor/editor/',customConfig:'config-openrat.js',filebrowserUploadUrl:'./dispatcher.php?action=filebrowser&subaction=directupload&name=upload',filebrowserBrowseUrl:'./dispatcher.php?action=filebrowser&subaction=browse'};var s=$(e).parent().parent().parent('div.panel').children('div.content').first();$(s).load(createUrl(i,t,a)+' div.content',null,function(){var e=CKEDITOR.instances[$('textarea.editor').attr('name')];if(e)e.destroy();CKEDITOR.replace('text',{customConfig:'config-openrat.js'})});$(e).parent().parent().find('.active').removeClass('active');$(e).parent().addClass('active')};function createUrl(e,i,t,s){var a='./';if(typeof s==='string'){a+='?action='+e+'&subaction='+i+'&id='+t;jQuery.each(jQuery.parseJSON(s),function(e,i){a=a+'&'+e+'='+i})}
-else if(typeof s==='object'){a+='?0=0';jQuery.each(s,function(e,i){a=a+'&'+i.name+'='+i.value})}
-else{a+='?action='+e+'&subaction='+i+'&id='+t};console.log('URL='+a);return a};function resizeWorkbenchContainer(e){var t=e.width(),a=e.height(),s=e.children('div.resizable').data('size-factor');if(!s)s=0.3;var n=e.hasClass('axle-x');if(n){var i=Math.floor(t*s);e.find('div.panel.resizable').css('width',''+i+'px');e.find('div.panel.resizable > div.content').css('height',''+(a-26)+'px');e.find('div.panel.autosize ').css('width',''+(t-i-9)+'px');e.find('div.panel.autosize > div.content').css('height',''+(a-26)+'px');e.children('div.resizable').css('width',''+i+'px');e.children('div.resizable').css('height',''+a+'px');e.children('div.autosize').css('width',''+(t-i-9)+'px');e.children('div.autosize').css('height',''+a+'px');e.children('div.divider').css('height',''+a+'px')}
+else{n=a.value.length;var s=prompt('Text');a.value=a.value.substr(0,n)+i+s+t+a.value.substr(n)}};function loadSubaction(e,i,t,a){alert('nobody should call loadSubaction()');var n={skin:'v2',baseHref:OR_THEMES_EXT_DIR+'../editor/editor/',customConfig:'config-openrat.js',filebrowserUploadUrl:'./dispatcher.php?action=filebrowser&subaction=directupload&name=upload',filebrowserBrowseUrl:'./dispatcher.php?action=filebrowser&subaction=browse'};var s=$(e).parent().parent().parent('div.panel').children('div.content').first();$(s).load(createUrl(i,t,a)+' div.content',null,function(){var e=CKEDITOR.instances[$('textarea.editor').attr('name')];if(e)e.destroy();CKEDITOR.replace('text',{customConfig:'config-openrat.js'})});$(e).parent().parent().find('.active').removeClass('active');$(e).parent().addClass('active')};function createUrl(e,i,t,a){var s='./';if(typeof a==='string'){s+='?action='+e+'&subaction='+i+'&id='+t;jQuery.each(jQuery.parseJSON(a),function(e,i){s=s+'&'+e+'='+i})}
+else if(typeof a==='object'){s+='?action='+e+'&subaction='+i+'&id='+t;jQuery.each(a,function(e,i){s=s+'&'+e+'='+value})}
+else{s+='?action='+e+'&subaction='+i+'&id='+t};console.log('URL='+s);return s};function resizeWorkbenchContainer(e){var t=e.width(),a=e.height(),s=e.children('div.resizable').data('size-factor');if(!s)s=0.3;var n=e.hasClass('axle-x');if(n){var i=Math.floor(t*s);e.find('div.panel.resizable').css('width',''+i+'px');e.find('div.panel.resizable > div.content').css('height',''+(a-26)+'px');e.find('div.panel.autosize ').css('width',''+(t-i-9)+'px');e.find('div.panel.autosize > div.content').css('height',''+(a-26)+'px');e.children('div.resizable').css('width',''+i+'px');e.children('div.resizable').css('height',''+a+'px');e.children('div.autosize').css('width',''+(t-i-9)+'px');e.children('div.autosize').css('height',''+a+'px');e.children('div.divider').css('height',''+a+'px')}
else{var i=Math.floor(a*s);e.find('div.panel.resizable ').css('width',''+t+'px');e.find('div.panel.resizable > div.content').css('height',''+(i-26)+'px');e.find('div.panel.autosize ').css('width',''+t+'px');e.find('div.panel.autosize > div.content').css('height',''+(a-i-26)+'px');e.children('div.resizable').css('width',''+t+'px');e.children('div.resizable').css('height',''+i+'px');e.children('div.autosize').css('width',''+t+'px');e.children('div.autosize').css('height',''+(a-i-5)+'px');e.children('div.divider').css('width',''+t+'px')};e.children('div.panel').each(function(){resizeTabs($(this))});$(e).children('div.container').each(function(){resizeWorkbenchContainer($(this))})};function resizeWorkbench(){var i=$(window).width(),t=$(window).height(),a=40,e=$('#workbench > div.container');e.css('width',''+(i-6)+'px');e.css('height',''+(t-a-6)+'px');resizeWorkbenchContainer(e)};function resizeTabs(e){var t=$(e).find('div.header li.action').length,i=Math.floor((($(e).width()-18)/t)-39);if($(e).is('#panel-content'))i-=24;i=Math.min(90,Math.max(5,i));$(e).find('li.action div.tabname').width(i)};function help(e,i,t){var a=$(e).closest('div.panel').find('li.action.active').attr('data-action'),s=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(i+a+'/'+s+t,'OpenRat_Help','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes')};function notify(e,i){var t=$('<div class="notice '+e+'"><div class="text">'+i+'</div></div>');$('#noticebar').prepend(t);notifyBrowser(i);$(t).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})})};
\ No newline at end of file
diff --git a/modules/cms-ui/themes/default/script/plugin/jquery-plugin-orTree.js b/modules/cms-ui/themes/default/script/plugin/jquery-plugin-orTree.js
@@ -8,13 +8,35 @@ jQuery.fn.orTree = function( options )
'onSelect': function(){},
'type':'root',
'id':0,
+ 'extraId':Array(),
'selectable':Array()
}, options);
$(this).each(function(idxx,treeEl)
{
$(treeEl).closest('div.content').addClass('loader');
- $.getJSON('./api/?action=tree&subaction=loadBranch&id='+settings.id+'&type='+settings.type+'&output=json', function(json) {
+
+ var loadBranchUrl = './api/?action=tree&subaction=loadBranch&id='+settings.id+'&type='+settings.type+'&output=json';
+
+ // Extra-Id ergänzen.
+ if ( typeof settings.extraId === 'string')
+ {
+ jQuery.each(jQuery.parseJSON(settings.extraId), function(name, value) {
+ loadBranchUrl = loadBranchUrl + '&' + name + '=' + value;
+ });
+ }
+ else if ( typeof settings.extraId === 'object')
+ {
+ jQuery.each(settings.extraId, function(name, field) {
+ loadBranchUrl = loadBranchUrl + '&' + name + '=' + field;
+ });
+ }
+ else
+ {
+ ;
+ }
+
+ $.getJSON(loadBranchUrl, function(json) {
$(treeEl).append('<ul class="tree"/>');
var ul = $(treeEl).children('ul').first();
var output = json['output'];
@@ -23,13 +45,18 @@ jQuery.fn.orTree = function( options )
if ( !line.action || line.action=='folder' || settings.selectable.length==0 || settings.selectable[0]=='' || jQuery.inArray(line.action, settings.selectable)!=-1 )
{
//var img = (line.url!==undefined?'tree_plus':'tree_none');
- $(ul).append( '<li class="object" data-id="'+line.internalId+'" data-type="'+line.type+'"><div class="tree"> </div><div class="entry" data-id="'+line.internalId+'" data-type="'+line.type+'" title="'+ line.description + '"><img src="modules/cms-ui/themes/default/images/icon_'+line['icon']+'.png" />'+ line.text + '</div></li>' );
- var new_li = $(ul).children('li').last();
+ var new_li = $('<li class="object" data-id="'+line.internalId+'" data-type="'+line.type+'"><div class="tree"> </div><div class="entry" data-extra="'+JSON.stringify(line.extraId).replace(/"/g, "'")+'" data-id="'+line.internalId+'" data-type="'+line.type+'" title="'+ line.description + '"><img src="modules/cms-ui/themes/default/images/icon_'+line['icon']+'.png" />'+ line.text + '</div></li>');
+ $(ul).append( new_li );
+ //var new_li = $(ul).children('li').last();
//$(new_li).children('div').unbind('click');
+
+ // Wenn ein Type vorhanden ist, dann kann man den Zweig öffnen
if ( line.type )
{
$(new_li).children('div.tree').addClass('closed');
- $(new_li).children('div.tree').click( function() { $(this).parent().orTree( {type:line.type,id:line.internalId,onSelect:settings.onSelect,selectable:settings.selectable} );} ); // Zweig öffnen
+
+ // Klick-Funktion zum Öffnen des Zweiges.
+ $(new_li).children('div.tree').click( function() { $(this).parent().orTree( {type:line.type,id:line.internalId,extraId:line.extraId,onSelect:settings.onSelect,selectable:settings.selectable} );} ); // Zweig öffnen
}
if ( line.action && ( settings.selectable.length==0 || settings.selectable[0]=='' || jQuery.inArray(line.action, settings.selectable)!=-1 ))
@@ -48,7 +75,7 @@ jQuery.fn.orTree = function( options )
$(this).closest('div.content').find('div.entry').removeClass('selected');
$(this).addClass('selected');
- settings.onSelect( $(this).text(), line.action, line.id );
+ settings.onSelect( $(this).text(), line.action, line.id, line.extraId );
});
// Drag and drop für die Baum-Inhalte.
diff --git a/modules/cms-ui/themes/default/script/plugin/jquery-plugin-orTree.min.js b/modules/cms-ui/themes/default/script/plugin/jquery-plugin-orTree.min.js
@@ -1 +1,3 @@
-;jQuery.fn.orTree=function(t){var e=$.extend({'onSelect':function(){},'type':'root','id':0,'selectable':Array()},t);$(this).each(function(n,t){$(t).closest('div.content').addClass('loader');$.getJSON('./api/?action=tree&subaction=loadBranch&id='+e.id+'&type='+e.type+'&output=json',function(i){$(t).append('<ul class="tree"/>');var n=$(t).children('ul').first(),l=i['output'];$.each(l['branch'],function(i,t){if(!t.action||t.action=='folder'||e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1){$(n).append('<li class="object" data-id="'+t.internalId+'" data-type="'+t.type+'"><div class="tree"> </div><div class="entry" data-id="'+t.internalId+'" data-type="'+t.type+'" title="'+t.description+'"><img src="modules/cms-ui/themes/default/images/icon_'+t['icon']+'.png" />'+t.text+'</div></li>');var l=$(n).children('li').last();if(t.type){$(l).children('div.tree').addClass('closed');$(l).children('div.tree').click(function(){$(this).parent().orTree({type:t.type,id:t.internalId,onSelect:e.onSelect,selectable:e.selectable})})};if(t.action&&(e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1)){$(l).children('div.entry').click(function(){$(this).closest('div.content').find('div.entry').removeClass('selected');$(this).addClass('selected');e.onSelect($(this).text(),t.action,t.id)})};if($(l).parents('ul.tree').length<=1){$(l).children('div.tree').click()}}});$(n).slideDown('fast')}).fail(function(){}).always(function(){$(t).closest('div.content').removeClass('loader')});$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('closed').addClass('open');$(t).children('div.tree').click(function(t){i($(t.target).parent(),e.type,e.id)})});function i(t,i,n){$(t).children('ul').slideUp('fast',function(){$(t).children('ul').remove();$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('open').addClass('closed');$(t).children('div.tree').click(function(){$(this).parent().orTree({type:i,id:n,onSelect:e.onSelect,selectable:e.selectable})})})}};-
\ No newline at end of file
+;jQuery.fn.orTree=function(t){var e=$.extend({'onSelect':function(){},'type':'root','id':0,'extraId':Array(),'selectable':Array()},t);$(this).each(function(n,t){$(t).closest('div.content').addClass('loader');var c='./api/?action=tree&subaction=loadBranch&id='+e.id+'&type='+e.type+'&output=json';if(typeof e.extraId==='string'){jQuery.each(jQuery.parseJSON(e.extraId),function(e,t){c=c+'&'+e+'='+t})}
+else if(typeof e.extraId==='object'){jQuery.each(e.extraId,function(e,t){c=c+'&'+e+'='+t})}
+else{};$.getJSON(c,function(i){$(t).append('<ul class="tree"/>');var n=$(t).children('ul').first(),c=i['output'];$.each(c['branch'],function(i,t){if(!t.action||t.action=='folder'||e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1){var c=$('<li class="object" data-id="'+t.internalId+'" data-type="'+t.type+'"><div class="tree"> </div><div class="entry" data-extra="'+JSON.stringify(t.extraId).replace(/"/g,'\'')+'" data-id="'+t.internalId+'" data-type="'+t.type+'" title="'+t.description+'"><img src="modules/cms-ui/themes/default/images/icon_'+t['icon']+'.png" />'+t.text+'</div></li>');$(n).append(c);if(t.type){$(c).children('div.tree').addClass('closed');$(c).children('div.tree').click(function(){$(this).parent().orTree({type:t.type,id:t.internalId,extraId:t.extraId,onSelect:e.onSelect,selectable:e.selectable})})};if(t.action&&(e.selectable.length==0||e.selectable[0]==''||jQuery.inArray(t.action,e.selectable)!=-1)){$(c).children('div.entry').click(function(){$(this).closest('div.content').find('div.entry').removeClass('selected');$(this).addClass('selected');e.onSelect($(this).text(),t.action,t.id,t.extraId)})};if($(c).parents('ul.tree').length<=1){$(c).children('div.tree').click()}}});$(n).slideDown('fast')}).fail(function(){}).always(function(){$(t).closest('div.content').removeClass('loader')});$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('closed').addClass('open');$(t).children('div.tree').click(function(t){i($(t.target).parent(),e.type,e.id)})});function i(t,i,n){$(t).children('ul').slideUp('fast',function(){$(t).children('ul').remove();$(t).children('div.tree').unbind('click');$(t).children('div.tree').removeClass('open').addClass('closed');$(t).children('div.tree').click(function(){$(this).parent().orTree({type:i,id:n,onSelect:e.onSelect,selectable:e.selectable})})})}};+
\ No newline at end of file
diff --git a/modules/util/AdministrationTree.class.php b/modules/util/AdministrationTree.class.php
@@ -43,8 +43,10 @@ class AdministrationTree extends AbstractTree
*/
var $elements;
var $confCache = array();
-
- function root()
+
+ private $userIsProjectAdmin;
+
+ function root()
{
if ( !$this->userIsAdmin )
throw new \SecurityException('Administration-Tree is only visible for admins.');
@@ -179,7 +181,8 @@ class AdministrationTree extends AbstractTree
$folder = new Folder( $project->getRootObjectId() );
$folder->load();
-
+ $defaultLanguageId = $project->getDefaultLanguageId();
+
// Ermitteln, ob der Benutzer Projektadministrator ist
// Projektadministratoren haben das Recht, im Root-Ordner die Eigenschaften zu aendern.
if ( $folder->hasRight( ACL_PROP ) )
@@ -192,7 +195,8 @@ class AdministrationTree extends AbstractTree
// $treeElement->text = $folder->name;
$treeElement->text = lang('FOLDER_ROOT');
$treeElement->description = lang('FOLDER_ROOT_DESC');
- $treeElement->icon = 'folder';
+ $treeElement->extraId['languageid'] = $defaultLanguageId;
+ $treeElement->icon = 'folder';
$treeElement->action = 'folder';
// $treeElement->url = Html::url( 'folder','',$folder->objectid,array(REQ_PARAM_TARGET=>'content') );
$treeElement->target = 'content';
@@ -607,6 +611,8 @@ class AdministrationTree extends AbstractTree
function page( $id )
{
$page = new Page( $id );
+ $page->languageid = $_REQUEST['languageid'];
+
$page->load();
$template = new Template( $page->templateid );
@@ -628,6 +634,8 @@ class AdministrationTree extends AbstractTree
REQ_PARAM_TARGETSUBACTION=>'edit',REQ_PARAM_TARGET=>'content'));
$treeElement->action = 'pageelement';
$treeElement->icon = 'el_'.$element->type;
+ $treeElement->extraId = array('languageid'=>$page->languageid);
+
$treeElement->description = lang('EL_'.$element->type);
if ( $element->desc != '' )
@@ -642,6 +650,7 @@ class AdministrationTree extends AbstractTree
$value = new Value();
$value->pageid = $page->pageid;
$value->element = $element;
+ $value->languageid = $page->languageid;
$value->load();
$treeElement->internalId = $value->valueid;
}
@@ -696,38 +705,36 @@ class AdministrationTree extends AbstractTree
$link = new Link( $id );
$link->load();
- if ( $link->isLinkToObject )
- {
- $o = new Object( $link->linkedObjectId );
- $o->load();
+ $o = new Object( $link->linkedObjectId );
+ $o->load();
- $treeElement = new TreeElement();
- $treeElement->id = $o->objectid;
- $treeElement->internalId = $o->objectid;
- $treeElement->target = 'content';
- $treeElement->text = $o->name;
- $treeElement->description= lang( 'GLOBAL_'.$o->getType() ).' '.$id;
+ $treeElement = new TreeElement();
+ $treeElement->id = $o->objectid;
+ $treeElement->internalId = $o->objectid;
+ $treeElement->target = 'content';
+ $treeElement->text = $o->name;
+ $treeElement->description= lang( 'GLOBAL_'.$o->getType() ).' '.$id;
- if ( $o->desc != '' )
- $treeElement->description .= ': '.$o->desc;
- else
- $treeElement->description .= ' - '.lang('GLOBAL_NO_DESCRIPTION_AVAILABLE');
+ if ( $o->desc != '' )
+ $treeElement->description .= ': '.$o->desc;
+ else
+ $treeElement->description .= ' - '.lang('GLOBAL_NO_DESCRIPTION_AVAILABLE');
- $treeElement->url = Html::url($o->getType(),'',$o->objectid,array(REQ_PARAM_TARGET=>'content') );
- $treeElement->action = $o->getType();
- $treeElement->icon = $o->getType();
+ $treeElement->url = Html::url($o->getType(),'',$o->objectid,array(REQ_PARAM_TARGET=>'content') );
+ $treeElement->action = $o->getType();
+ $treeElement->icon = $o->getType();
+ $treeElement->extraId = array('languageid'=>$_REQUEST['languageid']);
- // Besonderheiten fuer bestimmte Objekttypen
+ // Besonderheiten fuer bestimmte Objekttypen
- if ( $o->isPage )
- {
- // Nur wenn die Seite beschreibbar ist, werden die
- // Elemente im Baum angezeigt
- if ( $o->hasRight( ACL_WRITE ) )
- $treeElement->type='pageelements';
- }
- $this->addTreeElement( $treeElement );
+ if ( $o->isPage )
+ {
+ // Nur wenn die Seite beschreibbar ist, werden die
+ // Elemente im Baum angezeigt
+ if ( $o->hasRight( ACL_WRITE ) )
+ $treeElement->type='pageelements';
}
+ $this->addTreeElement( $treeElement );
}
@@ -743,6 +750,7 @@ class AdministrationTree extends AbstractTree
$f = new Folder( $id );
$t = time();
+ $f->languageid = $_REQUEST['languageid'];
foreach( $f->getObjects() as $o )
{
@@ -753,6 +761,7 @@ class AdministrationTree extends AbstractTree
$treeElement = new TreeElement();
$treeElement->id = $o->objectid;
$treeElement->internalId = $o->objectid;
+ $treeElement->extraId = array('languageid'=>$f->languageid);
$treeElement->target = 'content';
$treeElement->text = $o->name;
$treeElement->description= lang( 'GLOBAL_'.$o->getType() ).' '.$o->objectid;