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 bfb7429086..868f7337d3 100644 --- a/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php +++ b/importexport/inc/class.importexport_admin_prefs_sidebox_hooks.inc.php @@ -105,7 +105,7 @@ class importexport_admin_prefs_sidebox_hooks // Add in import / export, if available $file = array(); - if($cache[$appname]['import']) + if($cache[$appname]['import']) { $file['Import CSV'] = array('link' => "javascript:egw_openWindowCentered2('". egw::link('/index.php',array( @@ -118,7 +118,7 @@ class importexport_admin_prefs_sidebox_hooks ); } $config = config::read('phpgwapi'); - if(($GLOBALS['egw_info']['user']['apps']['admin'] || $config['export_limit'] !== 'no') && $cache[$appname]['export']) + if (($GLOBALS['egw_info']['user']['apps']['admin'] || !$config['export_limit'] || $config['export_limit'] > 0) && $cache[$appname]['export']) { $file['Export CSV'] = array('link' => "javascript:egw_openWindowCentered2('". egw::link('/index.php',array( @@ -130,15 +130,14 @@ class importexport_admin_prefs_sidebox_hooks 'text' => in_array($appname, array('calendar', 'sitemgr')) ? 'Export' : 'Export CSV' ); } - if($list = self::get_spreadsheet_list($appname)) + if(($file_list = bo_merge::get_documents($GLOBALS['egw_info']['user']['preferences'][$appname]['document_dir'], '', array( + 'application/vnd.oasis.opendocument.spreadsheet', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + )))) { - $file_list = array(); - foreach($list as $_file) { - $file_list[$_file['path']] = egw_vfs::decodePath($_file['name']); - } $prefix = 'document_'; - - $options = 'style="max-width:175px;" onchange="var window = egw_appWindow(\''.$appname.'\'); + + $options = 'style="max-width:175px;" onchange="var window = egw_appWindow(\''.$appname.'\'); if(window.egw_getActionManager) { var actionMgrs = window.egw_getActionManager(\''.$appname.'\').getActionsByAttr(\'type\', \'actionManager\'); var actionMgr = null; @@ -157,7 +156,7 @@ if(actionMgr && objectMgr && window.egwAction) { actionMgr.getActionById(\'select_all\').set_checked(true); } } - window.nm_action(action, objectMgr.selectedChildren); + window.nm_action(action, objectMgr.selectedChildren); } } else {'; if($appname == 'calendar') @@ -174,7 +173,7 @@ this.value = \'\'"'; 'link' => false, ); } - + $config = config::read('importexport'); if($appname != 'admin' && ($config['users_create_definitions'] || $GLOBALS['egw_info']['user']['apps']['admin']) && count(importexport_helper_functions::get_plugins($appname)) > 0 @@ -186,52 +185,4 @@ this.value = \'\'"'; } if($file) display_sidebox($appname,lang('importexport'),$file); } - - /** - * Get a list of spreadsheets, in the user's preference folder, and / or a system provided template folder - */ - public static function get_spreadsheet_list($app) { - $config = config::read('importexport'); - $config_dirs = $config['export_spreadsheet_folder'] ? explode(',',$config['export_spreadsheet_folder']) : array('user','stylite'); - $appname = $_GET['app'] ? $_GET['app'] : $app; - $stylite_dir = '/stylite/templates/merge'; - $dir_list = array(); - $file_list = array(); - $mimes = array( - 'application/vnd.oasis.opendocument.spreadsheet', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' - ); - - if(in_array('user', $config_dirs)) { - $dir_list[] = $GLOBALS['egw_info']['user']['preferences'][$appname]['document_dir']; - } - if(in_array('stylite', $config_dirs) && is_dir($stylite_dir)) { - $dir_list[] = $stylite_dir; - } - - foreach($dir_list as $dir) { - if ($dir && ($files = egw_vfs::find($dir,array( - 'need_mime' => true, - 'order' => 'fs_name', - 'sort' => 'ASC', - ),true))) - { - foreach($files as $file) { - if($dir != $GLOBALS['egw_info']['user']['preferences'][$appname]['document_dir']) { - // Stylite files have a naming convention that must be adhered to - list($export, $application, $name) = explode('-', $file['name'], 3); - } - if(($dir == $GLOBALS['egw_info']['user']['preferences'][$appname]['document_dir'] || ($export == 'export' && $application == $appname)) && in_array($file['mime'], $mimes)) { - $file_list[] = array( - 'name' => $name ? $name : $file['name'], - 'path' => $file['path'], - 'mime' => $file['mime'] - ); - } - } - } - } - return $file_list; - } - } diff --git a/importexport/inc/class.importexport_definitions_ui.inc.php b/importexport/inc/class.importexport_definitions_ui.inc.php index 8c3eeab63d..3a18135428 100644 --- a/importexport/inc/class.importexport_definitions_ui.inc.php +++ b/importexport/inc/class.importexport_definitions_ui.inc.php @@ -340,7 +340,7 @@ class importexport_definitions_ui $bodefinitions->delete($selected); $action_msg = lang('deleted'); break; - + case 'export' : $action_msg = lang('exported'); $mime_type = ($GLOBALS['egw']->html->user_agent == 'msie' || $GLOBALS['egw']->html->user_agent == 'opera') ? @@ -681,7 +681,7 @@ class importexport_definitions_ui } catch (Exception $e) { // throw new Exception('Already exists'); $content['duplicate_error'] = lang('Duplicate name, please choose another.'); - + // Try some suggestions $suggestions = array( $content['name'] .'-'. $GLOBALS['egw_info']['user']['account_lid'], @@ -859,20 +859,6 @@ class importexport_definitions_ui $data = config::read(self::_appname); $data['share_definition'] = $GLOBALS['egw']->acl->get_ids_for_location('share_definition', EGW_ACL_READ, self::_appname); - // Folder stuff should really be part of etemplate (merge base is in there) - // but the sidebox link works best if they're together - if(!array_key_exists('export_spreadsheet_folder', $data)) $data['export_spreadsheet_folder'] = 'user,stylite'; - $sel_options = array( - 'export_spreadsheet_folder' => array( - 'user' => lang('User template folder'), - ) - ); - if($GLOBALS['egw_info']['apps']['stylite']) { - $sel_options['export_spreadsheet_folder'] += array( - 'stylite' => lang('Stylite template folder'), - ); - } - if(!$data['update']) $data['update'] = 'request'; $GLOBALS['egw_info']['flags']['app_header'] = lang('Site configuration') . ' - ' . lang(self::_appname); diff --git a/importexport/setup/etemplates.inc.php b/importexport/setup/etemplates.inc.php index d08ab9305f..18ea9d090d 100644 --- a/importexport/setup/etemplates.inc.php +++ b/importexport/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * EGroupware - eTemplates for Application importexport * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2011-06-08 09:32 + * generated by soetemplate::dump4setup() 2011-06-17 16:01 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package importexport @@ -12,7 +12,7 @@ $templ_version=1; -$templ_data[] = array('name' => 'importexport.config','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:2:{s:2:"c2";s:4:",top";s:2:"c3";s:4:",top";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:45:"Users allowed to create their own definitions";}s:1:"B";a:2:{s:4:"type";s:8:"checkbox";s:4:"name";s:24:"users_create_definitions";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:44:"Users allowed to share their own definitions";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:6:"5,both";s:4:"name";s:16:"share_definition";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:39:"Export Spreadsheet link display folders";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"size";s:1:"3";s:4:"name";s:25:"export_spreadsheet_folder";}}i:4;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"1";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:4:"span";s:3:"all";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1298390222',); +$templ_data[] = array('name' => 'importexport.config','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"c2";s:4:",top";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:45:"Users allowed to create their own definitions";}s:1:"B";a:2:{s:4:"type";s:8:"checkbox";s:4:"name";s:24:"users_create_definitions";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:44:"Users allowed to share their own definitions";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:6:"5,both";s:4:"name";s:16:"share_definition";}}i:3;a:2:{s:1:"A";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:4:"span";s:3:"all";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";}i:2;a:4:{s:4:"type";s:6:"button";s:4:"span";s:3:"all";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:3;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1298390222',); $templ_data[] = array('name' => 'importexport.definition_index','template' => '','lang' => '','group' => '0','version' => '1.9.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:2:{s:2:"h1";s:6:",!@msg";s:2:"h3";s:27:",!@nm[selectcols]=/actions/";}i:1;a:1:{s:1:"A";a:4:{s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:6:{s:4:"type";s:9:"nextmatch";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";s:4:"span";s:11:",lr_padding";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"span";s:11:",lr_padding";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:11:"Application";s:4:"span";s:11:",lr_padding";}s:1:"D";a:4:{s:5:"align";s:6:"center";s:4:"type";s:5:"label";s:5:"label";s:13:"Allowed users";s:4:"span";s:11:",lr_padding";}s:1:"E";a:5:{s:5:"label";s:3:"Add";s:5:"align";s:6:"center";s:4:"type";s:6:"button";s:4:"span";s:11:",lr_padding";s:7:"onclick";s:226:"window.open(egw::link(\'/index.php\',\'menuaction=importexport.importexport_definitions_ui.wizard\'),\'\',\'dependent=yes,width=500,height=500,location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes\'); return false; return false;";}s:1:"F";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:6:{s:5:"label";s:6:"Delete";s:4:"name";s:15:"delete_selected";s:4:"type";s:6:"button";s:4:"help";s:31:"delete ALL selected definitions";s:4:"size";s:6:"delete";s:7:"onclick";s:65:"return confirm(\'Do you really want to DELETE this definitions?\');";}i:2;a:5:{s:5:"label";s:6:"Export";s:4:"name";s:15:"export_selected";s:4:"type";s:6:"button";s:4:"help";s:31:"export ALL selected definitions";s:4:"size";s:10:"fileexport";}}}i:2;a:6:{s:1:"A";a:5:{s:7:"no_lang";s:1:"1";s:4:"type";s:5:"image";s:4:"span";s:18:",lr_padding button";s:4:"name";s:12:"${row}[type]";s:7:"onclick";s:222:"window.open(egw::link(\'/index.php\',\'menuaction=${row_cont[menuaction]}&appname=${row_cont[application]}&definition=${row_cont[name]}\'),\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:5:{s:7:"no_lang";s:1:"1";s:4:"name";s:12:"${row}[name]";s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:4:"size";s:1:",";}s:1:"C";a:4:{s:7:"no_lang";s:1:"1";s:4:"name";s:19:"${row}[application]";s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";}s:1:"D";a:6:{s:7:"no_lang";s:1:"1";s:4:"type";s:14:"select-account";s:4:"span";s:11:",lr_padding";s:8:"readonly";s:1:"1";s:4:"name";s:21:"${row}[allowed_users]";s:4:"size";s:6:"5,both";}s:1:"E";a:5:{s:5:"align";s:6:"center";s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:5:"label";s:4:"Edit";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:7:"onclick";s:263:"window.open(egw::link(\'/index.php\',\'menuaction=importexport.importexport_definitions_ui.edit&definition=$row_cont[name]\'),\'\',\'dependent=yes,width=500,height=500,location=no,menubar=no,toolbar=no,scrollbars=yes,resizable=1,status=yes\'); return false; return false;";}i:2;a:6:{s:5:"label";s:6:"Delete";s:7:"onclick";s:41:"return confirm(\'Delete this definition\');";s:4:"name";s:32:"delete[$row_cont[definition_id]]";s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:4:"help";s:21:"Delete this eTemplate";}}s:1:"F";a:4:{s:5:"align";s:6:"center";s:4:"name";s:34:"selected[$row_cont[definition_id]]";s:4:"type";s:8:"checkbox";s:4:"help";s:34:"select this eTemplate to delete it";}}}s:4:"cols";i:6;s:4:"rows";i:2;s:4:"name";s:2:"nm";s:4:"size";s:33:"importexport.definition_index.row";}}i:3;a:1:{s:1:"A";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:10:"buttononly";s:4:"name";s:14:"legacy_actions";s:4:"help";s:13:"Select action";s:5:"label";s:13:"Select action";s:7:"onclick";s:198:"if (!egw_globalObjectManager.getObjectById(\'importexport.definition_index.row\').executeActionImplementation(this, \'popup\')) alert(egw::lang(\'You need to select some entries first!\')); return false;;";}i:2;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:109:"egw_globalObjectManager.getObjectById(\'importexport.definition_index.row\').toggleAllSelected(); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}i:4;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:6:{s:5:"class";s:19:"action_popup prompt";s:4:"name";s:11:"owner_popup";s:4:"type";s:3:"box";s:4:"size";s:1:"1";i:1;a:6:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"4";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:12:"Change owner";s:4:"span";s:13:",promptheader";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Select owner";}i:3;a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"owner";s:4:"size";s:10:"None,users";s:4:"span";s:21:",action_popup-content";}i:4;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:5:"label";s:4:"Save";s:7:"onclick";s:36:"nm_submit_popup(this); return false;";s:4:"type";s:6:"button";}i:2;a:3:{s:5:"label";s:6:"Cancel";s:7:"onclick";s:40:"nm_hide_popup(this,\'responsible_popup\');";s:4:"type";s:10:"buttononly";}}}s:4:"span";s:20:",action_popup prompt";}i:2;a:6:{s:5:"class";s:19:"action_popup prompt";s:4:"name";s:13:"allowed_popup";s:4:"type";s:3:"box";s:4:"size";s:1:"1";i:1;a:7:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"5";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:20:"Change allowed users";s:4:"span";s:13:",promptheader";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Select groups";}i:3;a:3:{s:4:"type";s:8:"checkbox";s:4:"name";s:15:"allowed_private";s:5:"label";s:10:"%s Just me";}i:4;a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:7:"allowed";s:4:"size";s:8:"5,groups";s:4:"span";s:21:",action_popup-content";}i:5;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:5:"label";s:4:"Save";s:7:"onclick";s:36:"nm_submit_popup(this); return false;";s:4:"type";s:6:"button";}i:2;a:3:{s:5:"label";s:6:"Cancel";s:7:"onclick";s:40:"nm_hide_popup(this,\'responsible_popup\');";s:4:"type";s:10:"buttononly";}}}s:4:"span";s:20:",action_popup prompt";}}}}s:4:"cols";i:1;s:4:"rows";i:4;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.redItalic { color:red; font-style:italic;} td.lr_padding { padding-left: 5px; padding-right: 5px; } diff --git a/importexport/templates/default/config.xet b/importexport/templates/default/config.xet index 83bf0e9980..a2b23cb24d 100644 --- a/importexport/templates/default/config.xet +++ b/importexport/templates/default/config.xet @@ -16,21 +16,10 @@ - - - - - - - - - - - -