mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 01:13:25 +01:00
open all sidebox admin link in admin vi admin.admin_ui.index loader
This commit is contained in:
parent
319a503c90
commit
6e76361736
@ -40,6 +40,8 @@ class admin_ui
|
|||||||
*/
|
*/
|
||||||
public function index(array $content=null, $msg='')
|
public function index(array $content=null, $msg='')
|
||||||
{
|
{
|
||||||
|
admin_statistics::check();
|
||||||
|
|
||||||
$tpl = new etemplate_new('admin.index');
|
$tpl = new etemplate_new('admin.index');
|
||||||
|
|
||||||
$content = array();
|
$content = array();
|
||||||
@ -101,6 +103,19 @@ class admin_ui
|
|||||||
);
|
);
|
||||||
$tpl->setElementAttribute('tree', 'actions', $actions);
|
$tpl->setElementAttribute('tree', 'actions', $actions);
|
||||||
|
|
||||||
|
if (!empty($_GET['load']))
|
||||||
|
{
|
||||||
|
$vars = $_GET;
|
||||||
|
$vars['menuaction'] = $vars['load'];
|
||||||
|
unset($vars['ajax']);
|
||||||
|
unset($vars['load']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$vars = array('menuaction' => 'admin.uiconfig.index', 'appname' => 'admin');
|
||||||
|
}
|
||||||
|
$content['iframe'] = egw::link('/index.php', $vars);
|
||||||
|
|
||||||
$tpl->exec('admin.admin_ui.index', $content, $sel_options);
|
$tpl->exec('admin.admin_ui.index', $content, $sel_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +292,14 @@ if ($app == 'felamimail') continue; // disabled fmail for now, as it break whole
|
|||||||
if (empty($data['id']))
|
if (empty($data['id']))
|
||||||
{
|
{
|
||||||
$data['id'] = $root.($app == 'admin' ? 'admin' : 'apps/'.$app).'/';
|
$data['id'] = $root.($app == 'admin' ? 'admin' : 'apps/'.$app).'/';
|
||||||
$data['id'] .= preg_match('/menuaction=([^&]+)/', $data['link'], $matches) ? $matches[1] : md5($link);
|
if (preg_match_all('/(menuaction|load)=([^&]+)/', $data['link'], $matches))
|
||||||
|
{
|
||||||
|
$data['id'] .= $matches[2][(int)array_search('load', $matches[1])];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$data['id'] .= md5($data['link']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!empty($data['icon']))
|
if (!empty($data['icon']))
|
||||||
{
|
{
|
||||||
|
@ -10,95 +10,5 @@
|
|||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['egw_info'] = array(
|
header('Location: ../index.php?menuaction=admin.uiconfig.index&appname=admin'.
|
||||||
'flags' => array(
|
(isset($_GET['sessionid']) ? '&sessionid='.$_GET['sessionid'].'&kp3='.$_GET['kp3'] : ''));
|
||||||
'currentapp' => 'admin',
|
|
||||||
'noheader' => true,
|
|
||||||
'nonavbar' => true,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
include('../header.inc.php');
|
|
||||||
|
|
||||||
admin_statistics::check();
|
|
||||||
common::egw_header();
|
|
||||||
|
|
||||||
$GLOBALS['admin_tpl'] =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
|
|
||||||
$GLOBALS['admin_tpl']->set_file(
|
|
||||||
Array(
|
|
||||||
'admin' => 'index.tpl'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['admin_tpl']->set_block('admin','list');
|
|
||||||
$GLOBALS['admin_tpl']->set_block('admin','app_row');
|
|
||||||
$GLOBALS['admin_tpl']->set_block('admin','app_row_noicon');
|
|
||||||
$GLOBALS['admin_tpl']->set_block('admin','link_row');
|
|
||||||
$GLOBALS['admin_tpl']->set_block('admin','spacer_row');
|
|
||||||
|
|
||||||
$GLOBALS['admin_tpl']->set_var('title',lang('Administration'));
|
|
||||||
|
|
||||||
// This func called by the includes to dump a row header
|
|
||||||
function section_start($appname='',$icon='')
|
|
||||||
{
|
|
||||||
$GLOBALS['admin_tpl']->set_var('link_backcolor',$GLOBALS['egw_info']['theme']['row_off']);
|
|
||||||
$GLOBALS['admin_tpl']->set_var('app_name',$GLOBALS['egw_info']['apps'][$appname]['title']);
|
|
||||||
$GLOBALS['admin_tpl']->set_var('a_name',$appname);
|
|
||||||
$GLOBALS['admin_tpl']->set_var('app_icon',$icon);
|
|
||||||
if ($icon)
|
|
||||||
{
|
|
||||||
$GLOBALS['admin_tpl']->parse('rows','app_row',True);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$GLOBALS['admin_tpl']->parse('rows','app_row_noicon',True);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function section_item($pref_link='',$pref_text='')
|
|
||||||
{
|
|
||||||
$GLOBALS['admin_tpl']->set_var('pref_link',$pref_link);
|
|
||||||
$GLOBALS['admin_tpl']->set_var('pref_text',$pref_text);
|
|
||||||
$GLOBALS['admin_tpl']->parse('rows','link_row',True);
|
|
||||||
}
|
|
||||||
|
|
||||||
function section_end()
|
|
||||||
{
|
|
||||||
$GLOBALS['admin_tpl']->parse('rows','spacer_row',True);
|
|
||||||
}
|
|
||||||
|
|
||||||
function display_section($appname,$file,$file2=False)
|
|
||||||
{
|
|
||||||
if ($file2)
|
|
||||||
{
|
|
||||||
$file = $file2;
|
|
||||||
}
|
|
||||||
if(is_array($file))
|
|
||||||
{
|
|
||||||
section_start($appname,
|
|
||||||
common::image(
|
|
||||||
$appname,
|
|
||||||
Array(
|
|
||||||
'navbar',
|
|
||||||
$appname,
|
|
||||||
'nonav'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
while(list($text,$url) = each($file))
|
|
||||||
{
|
|
||||||
if (is_array($url)) $url = $url['link'];
|
|
||||||
// If user doesn't have application configuration access, then don't show the configuration links
|
|
||||||
if (strpos($url, 'admin.uiconfig') === False || !$GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
|
|
||||||
{
|
|
||||||
section_item($url,lang($text));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
section_end();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$GLOBALS['egw']->hooks->process('admin',array('admin'));
|
|
||||||
$GLOBALS['admin_tpl']->pparse('out','list');
|
|
||||||
|
|
||||||
common::egw_footer();
|
|
||||||
|
@ -62,19 +62,13 @@ app.admin = AppJS.extend(
|
|||||||
var iframe = this.iframe = this.et2.getWidgetById('iframe');
|
var iframe = this.iframe = this.et2.getWidgetById('iframe');
|
||||||
if (iframe)
|
if (iframe)
|
||||||
{
|
{
|
||||||
iframe.set_src(egw.webserverUrl+'/admin/index.php');
|
|
||||||
var self = this;
|
var self = this;
|
||||||
jQuery(iframe.getDOMNode()).bind('load', function(){
|
jQuery(iframe.getDOMNode()).bind('load', function(){
|
||||||
self._hide_navbar.call(self);
|
self._hide_navbar.call(self);
|
||||||
|
self.splitter.dock();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var splitter = this.splitter = this.et2.getWidgetById('splitter');
|
this.splitter = this.et2.getWidgetById('splitter');
|
||||||
if (splitter)
|
|
||||||
{
|
|
||||||
window.setTimeout(function(){
|
|
||||||
splitter.dock();
|
|
||||||
}, 1);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,6 +79,10 @@ app.admin = AppJS.extend(
|
|||||||
_hide_navbar: function()
|
_hide_navbar: function()
|
||||||
{
|
{
|
||||||
var document = this.iframe.getDOMNode().contentDocument;
|
var document = this.iframe.getDOMNode().contentDocument;
|
||||||
|
|
||||||
|
// set white background, as transparent one lets account-list show through
|
||||||
|
document.getElementsByTagName('body')[0].style.backgroundColor = 'white';
|
||||||
|
|
||||||
// hide navbar elements
|
// hide navbar elements
|
||||||
var ids2hide = ['divLogo', 'topmenu', 'divAppIconBar', 'divStatusBar', 'tdSidebox', 'divAppboxHeader'];
|
var ids2hide = ['divLogo', 'topmenu', 'divAppIconBar', 'divStatusBar', 'tdSidebox', 'divAppboxHeader'];
|
||||||
for(var i=0; i < ids2hide.length; ++i)
|
for(var i=0; i < ids2hide.length; ++i)
|
||||||
@ -108,6 +106,29 @@ app.admin = AppJS.extend(
|
|||||||
this.iframe.set_src(url);
|
this.iframe.set_src(url);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Link hander for jDots template to just reload our iframe, instead of reloading whole admin app
|
||||||
|
*
|
||||||
|
* @param _url
|
||||||
|
* @return boolean true, if linkHandler took care of link, false otherwise
|
||||||
|
*/
|
||||||
|
linkHandler: function(_url)
|
||||||
|
{
|
||||||
|
var matches;
|
||||||
|
if (!_url.match('menuaction=admin.admin_ui.index') ||
|
||||||
|
(matches = _url.match(/menuaction=admin.admin_ui.index.*&load=([^&]+)/)))
|
||||||
|
{
|
||||||
|
if (matches)
|
||||||
|
{
|
||||||
|
_url = _url.replace(/menuaction=admin.admin_ui.index/, 'menuaction='+matches[1]).replace(/&(ajax=true|load=[^&]+)/g, '');
|
||||||
|
}
|
||||||
|
this.iframe.set_src(_url);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// can not load our own index page, has to be done by framework
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run an admin module / onclick callback for tree
|
* Run an admin module / onclick callback for tree
|
||||||
*
|
*
|
||||||
@ -131,7 +152,7 @@ app.admin = AppJS.extend(
|
|||||||
else if (link[0] == '/' || link.substr(0,4) == 'http')
|
else if (link[0] == '/' || link.substr(0,4) == 'http')
|
||||||
{
|
{
|
||||||
this.splitter.dock();
|
this.splitter.dock();
|
||||||
this.iframe.set_src(link+'&nonavbar=1');
|
this.iframe.set_src(link+(link.match(/\?/)?'&':'?')+'nonavbar=1');
|
||||||
}
|
}
|
||||||
else if (link.substr(0,11) == 'javascript:')
|
else if (link.substr(0,11) == 'javascript:')
|
||||||
{
|
{
|
||||||
|
@ -823,14 +823,13 @@ class calendar_ui
|
|||||||
|
|
||||||
if ($GLOBALS['egw_info']['user']['apps']['admin'])
|
if ($GLOBALS['egw_info']['user']['apps']['admin'])
|
||||||
{
|
{
|
||||||
$menu_title = lang('Administration');
|
|
||||||
$file = Array(
|
$file = Array(
|
||||||
'Configuration'=>egw::link('/index.php','menuaction=admin.uiconfig.index&appname=calendar'),
|
'Configuration'=>egw::link('/index.php','menuaction=admin.uiconfig.index&appname=calendar'),
|
||||||
'Custom Fields'=>egw::link('/index.php','menuaction=admin.customfields.edit&appname=calendar'),
|
'Custom Fields'=>egw::link('/index.php','menuaction=admin.customfields.edit&appname=calendar'),
|
||||||
'Holiday Management'=>egw::link('/index.php','menuaction=calendar.uiholiday.admin'),
|
'Holiday Management'=>egw::link('/index.php','menuaction=calendar.uiholiday.admin'),
|
||||||
'Global Categories' =>egw::link('/index.php','menuaction=admin.admin_categories.index&appname=calendar'),
|
'Global Categories' =>egw::link('/index.php','menuaction=admin.admin_categories.index&appname=calendar'),
|
||||||
);
|
);
|
||||||
display_sidebox($appname,$menu_title,$file);
|
$GLOBALS['egw']->framework->sidebox($appname,lang('Admin'),$file,'admin');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -337,8 +337,9 @@ abstract class egw_framework
|
|||||||
* @param string $appname
|
* @param string $appname
|
||||||
* @param string $menu_title
|
* @param string $menu_title
|
||||||
* @param array $file
|
* @param array $file
|
||||||
|
* @param string $type=null 'admin', 'preferences', 'favorites', ...
|
||||||
*/
|
*/
|
||||||
abstract function sidebox($appname,$menu_title,$file);
|
abstract function sidebox($appname,$menu_title,$file,$type=null);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the html from the closing div of the main application area to the closing html-tag
|
* Returns the html from the closing div of the main application area to the closing html-tag
|
||||||
|
@ -772,11 +772,18 @@ egw.set_user('.$GLOBALS['egw']->accounts->json($GLOBALS['egw_info']['user']['acc
|
|||||||
* @param string $appname
|
* @param string $appname
|
||||||
* @param string $menu_title
|
* @param string $menu_title
|
||||||
* @param array $file
|
* @param array $file
|
||||||
|
* @param string $type=null 'admin', 'preferences', 'favorites', ...
|
||||||
*/
|
*/
|
||||||
function sidebox($appname,$menu_title,$file)
|
function sidebox($appname,$menu_title,$file,$type=null)
|
||||||
{
|
{
|
||||||
if((!$appname || ($appname==$GLOBALS['egw_info']['flags']['currentapp'] && $file)) && is_object($this->tpl))
|
if((!$appname || ($appname==$GLOBALS['egw_info']['flags']['currentapp'] && $file)) && is_object($this->tpl))
|
||||||
{
|
{
|
||||||
|
// fix app admin menus to use admin.admin_ui.index loader
|
||||||
|
if (($type == 'admin' || $menu_title == lang('Admin')) && $appname != 'admin')
|
||||||
|
{
|
||||||
|
$file = preg_replace("/^(.*)menuaction=([^&]+)(.*)$/",
|
||||||
|
'$1menuaction=admin.admin_ui.index&load=$2$3&ajax=true', $file);
|
||||||
|
}
|
||||||
$this->tpl->set_var('lang_title',$menu_title);
|
$this->tpl->set_var('lang_title',$menu_title);
|
||||||
$this->sidebox_content .= $this->tpl->fp('out','extra_blocks_header');
|
$this->sidebox_content .= $this->tpl->fp('out','extra_blocks_header');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user