From 1c7e2f6e27ca3c57d7c6fbdbee0e2165075969f5 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 8 Jul 2010 08:11:44 +0000 Subject: [PATCH] - implemented limited support for sidebox options in preferences - opening import/export dialogs as popups, as they use egw window.close() --- ...rtexport_admin_prefs_sidebox_hooks.inc.php | 20 +- preferences/index.php | 243 +++++++++--------- 2 files changed, 133 insertions(+), 130 deletions(-) diff --git a/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php b/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php index 913d4d3542..1a9bd0c38e 100644 --- a/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php +++ b/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php @@ -24,16 +24,18 @@ class importexport_admin_prefs_sidebox_hooks if ($GLOBALS['egw_info']['user']['apps']['preferences'] && $location != 'admin') { $file = array( - 'Import'=> array( + array( 'text' => 'Import', - 'link' => $GLOBALS['egw']->link('/index.php','menuaction=importexport.importexport_import_ui.import_dialog'), - 'target' => 'new', + 'link' => "javascript:egw_openWindowCentered2('". + egw::link('/index.php','menuaction=importexport.importexport_import_ui.import_dialog',false). + "','_blank',850,440,'yes')", 'icon' => 'import' ), - 'Export'=> array( + array( 'text' => 'Export', - 'link' => $GLOBALS['egw']->link('/index.php','menuaction=importexport.importexport_export_ui.export_dialog'), - 'target' => 'new', + 'link' => "javascript:egw_openWindowCentered2('". + egw::link('/index.php','menuaction=importexport.importexport_export_ui.export_dialog',false). + "','_blank',850,440,'yes')", 'icon' => 'export' ), ); @@ -50,11 +52,11 @@ class importexport_admin_prefs_sidebox_hooks if ($GLOBALS['egw_info']['user']['apps']['admin'] && $location != 'preferences') { $file = Array( - 'Import definitions' => $GLOBALS['egw']->link('/index.php','menuaction=importexport.importexport_definitions_ui.import_definition'), - 'Define imports|exports' => $GLOBALS['egw']->link('/index.php',array( + 'Import definitions' => egw::link('/index.php','menuaction=importexport.importexport_definitions_ui.import_definition'), + 'Define imports|exports' => egw::link('/index.php',array( 'menuaction' => 'importexport.importexport_definitions_ui.index', )), - 'Schedule' => $GLOBALS['egw']->link('/index.php', array( + 'Schedule' => egw::link('/index.php', array( 'menuaction' => 'importexport.importexport_schedule_ui.index' )), ); diff --git a/preferences/index.php b/preferences/index.php index 7549fd5707..266f314c86 100755 --- a/preferences/index.php +++ b/preferences/index.php @@ -1,142 +1,143 @@ * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License, or (at your * - * option) any later version. * - \**************************************************************************/ +/** + * EGroupware preferences + * + * @package preferences + * @link http://www.egroupware.org + * @author Joseph Engo + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ - /* $Id$ */ +$GLOBALS['egw_info'] = array( + 'flags' => array( + 'currentapp' => 'preferences', + 'disable_Template_class' => True, + ), +); +include('../header.inc.php'); - $GLOBALS['egw_info'] = array( - 'flags' => array( - 'currentapp' => 'preferences', - 'disable_Template_class' => True, - ), +$pref_tpl =& CreateObject('phpgwapi.Template',EGW_APP_TPL); +$templates = Array( + 'pref' => 'index.tpl' +); + +$pref_tpl->set_file($templates); + +$pref_tpl->set_block('pref','list'); +$pref_tpl->set_block('pref','app_row'); +$pref_tpl->set_block('pref','app_row_noicon'); +$pref_tpl->set_block('pref','link_row'); +$pref_tpl->set_block('pref','spacer_row'); + +if ($GLOBALS['egw']->acl->check('run',1,'admin')) +{ + // This is where we will keep track of our position. + // Developers won't have to pass around a variable then + $session_data = $GLOBALS['egw']->session->appsession('session_data','preferences'); + + if (! is_array($session_data)) + { + $session_data = array('type' => 'user'); + $GLOBALS['egw']->session->appsession('session_data','preferences',$session_data); + } + + if (! $_GET['type']) + { + $type = $session_data['type']; + } + else + { + $type = $_GET['type']; + $session_data = array('type' => $type); + $GLOBALS['egw']->session->appsession('session_data','preferences',$session_data); + } + + $tabs[] = array( + 'label' => lang('Your preferences'), + 'link' => egw::link('/preferences/index.php','type=user') ); - include('../header.inc.php'); - - $pref_tpl =& CreateObject('phpgwapi.Template',EGW_APP_TPL); - $templates = Array( - 'pref' => 'index.tpl' + $tabs[] = array( + 'label' => lang('Default preferences'), + 'link' => egw::link('/preferences/index.php','type=default') + ); + $tabs[] = array( + 'label' => lang('Forced preferences'), + 'link' => egw::link('/preferences/index.php','type=forced') ); - $pref_tpl->set_file($templates); - - $pref_tpl->set_block('pref','list'); - $pref_tpl->set_block('pref','app_row'); - $pref_tpl->set_block('pref','app_row_noicon'); - $pref_tpl->set_block('pref','link_row'); - $pref_tpl->set_block('pref','spacer_row'); - - if ($GLOBALS['egw']->acl->check('run',1,'admin')) + switch($type) { - // This is where we will keep track of our position. - // Developers won't have to pass around a variable then - $session_data = $GLOBALS['egw']->session->appsession('session_data','preferences'); + case 'user': $selected = 0; break; + case 'default': $selected = 1; break; + case 'forced': $selected = 2; break; + } + $pref_tpl->set_var('tabs',$GLOBALS['egw']->common->create_tabs($tabs,$selected)); +} - if (! is_array($session_data)) - { - $session_data = array('type' => 'user'); - $GLOBALS['egw']->session->appsession('session_data','preferences',$session_data); - } +// This func called by the includes to dump a row header +function section_start($appname='',$icon='') +{ + global $pref_tpl; - if (! $_GET['type']) - { - $type = $session_data['type']; - } - else - { - $type = $_GET['type']; - $session_data = array('type' => $type); - $GLOBALS['egw']->session->appsession('session_data','preferences',$session_data); - } + $pref_tpl->set_var('a_name',$appname); + $pref_tpl->set_var('app_name',$GLOBALS['egw_info']['apps'][$appname]['title']); + $pref_tpl->set_var('app_icon',$icon); + if ($icon) + { + $pref_tpl->parse('rows','app_row',True); + } + else + { + $pref_tpl->parse('rows','app_row_noicon',True); + } +} - $tabs[] = array( - 'label' => lang('Your preferences'), - 'link' => $GLOBALS['egw']->link('/preferences/index.php','type=user') - ); - $tabs[] = array( - 'label' => lang('Default preferences'), - 'link' => $GLOBALS['egw']->link('/preferences/index.php','type=default') - ); - $tabs[] = array( - 'label' => lang('Forced preferences'), - 'link' => $GLOBALS['egw']->link('/preferences/index.php','type=forced') - ); +function section_item($pref_link='',$pref_text='') +{ + global $pref_tpl; - switch($type) - { - case 'user': $selected = 0; break; - case 'default': $selected = 1; break; - case 'forced': $selected = 2; break; - } - $pref_tpl->set_var('tabs',$GLOBALS['egw']->common->create_tabs($tabs,$selected)); + $pref_tpl->set_var('pref_link',$pref_link); + + if (strtolower($pref_text) == 'grant access' && $GLOBALS['egw_info']['server']['deny_user_grants_access']) + { + return False; + } + else + { + $pref_tpl->set_var('pref_text',$pref_text); } - // This func called by the includes to dump a row header - function section_start($appname='',$icon='') + $pref_tpl->parse('rows','link_row',True); +} + +function section_end() +{ + global $pref_tpl; + + $pref_tpl->parse('rows','spacer_row',True); +} + +function display_section($appname,$file,$file2=False) +{ + if ($file2) { - global $pref_tpl; - - $pref_tpl->set_var('a_name',$appname); - $pref_tpl->set_var('app_name',$GLOBALS['egw_info']['apps'][$appname]['title']); - $pref_tpl->set_var('app_icon',$icon); - if ($icon) - { - $pref_tpl->parse('rows','app_row',True); - } - else - { - $pref_tpl->parse('rows','app_row_noicon',True); - } + $file = $file2; } + section_start($appname,$GLOBALS['egw']->common->image($appname,Array('navbar',$appname))); - function section_item($pref_link='',$pref_text='') + foreach($file as $text => $url) { - global $pref_tpl; - - $pref_tpl->set_var('pref_link',$pref_link); - - if (strtolower($pref_text) == 'grant access' && $GLOBALS['egw_info']['server']['deny_user_grants_access']) + if (is_array($url)) { - return False; + $text = $url['text']; + $url = $url['link']; } - else - { - $pref_tpl->set_var('pref_text',$pref_text); - } - - $pref_tpl->parse('rows','link_row',True); + section_item($url,lang($text)); } + section_end(); +} - function section_end() - { - global $pref_tpl; - - $pref_tpl->parse('rows','spacer_row',True); - } - - function display_section($appname,$file,$file2=False) - { - if ($file2) - { - $file = $file2; - } - section_start($appname,$GLOBALS['egw']->common->image($appname,Array('navbar',$appname))); - - while(list($text,$url) = each($file)) - { - section_item($url,lang($text)); - } - section_end(); - } - - $GLOBALS['egw']->hooks->process('preferences',array('preferences')); - $pref_tpl->pfp('out','list'); - $GLOBALS['egw']->common->egw_footer(); -?> +$GLOBALS['egw']->hooks->process('preferences',array('preferences')); +$pref_tpl->pfp('out','list'); +common::egw_footer();