Commit Graph

726 Commits

Author SHA1 Message Date
Nathan Gray
1f0baecf0e Fix up plugin selector - expert mode is disabled, so just set it to read only 2013-04-03 15:55:34 +00:00
Nathan Gray
885a5fdfc7 Also accept the translated version of the column name when checking an imported file 2013-04-01 23:27:16 +00:00
Nathan Gray
d226d759cd Add check for [username] when trying to convert a user to account ID 2013-03-14 19:34:12 +00:00
Nathan Gray
ede5c5209a Missing phrases 2013-03-06 16:30:46 +00:00
Ralf Becker
d75726eeaa new translations from Stefan 2013-03-06 08:30:58 +00:00
Ralf Becker
ea6e8c8e94 * ImportExport: do NOT complain about wrong charset, if text contains only standard ascii chars 2013-03-01 09:51:02 +00:00
Ralf Becker
b17b1043ce German translations from Stefan plus some additions for en langfile 2013-03-01 08:39:29 +00:00
Nathan Gray
9205c30a45 Fix import no longer working 2013-02-20 16:17:03 +00:00
Ralf Becker
4f247b26f8 merged translations and other uncommited ones 2013-02-08 19:03:20 +00:00
Klaus Leithoff
898b020fbf only try to save a definition, when there is a definition_id available 2013-02-06 15:17:33 +00:00
Klaus Leithoff
82b34eac04 russian translations provided by Vladimir N. Gavrilov 2013-02-01 14:17:23 +00:00
Nathan Gray
8f1ab82083 Hopefully better fix for cleared filters sticking around 2013-01-31 16:20:23 +00:00
Nathan Gray
31eed45551 Fix bug that did not let you select All for relative date 2013-01-30 17:58:59 +00:00
Nathan Gray
b5d049f3d5 Get ical export working for scheduled export 2013-01-29 18:22:46 +00:00
Nathan Gray
7b668c306d Fix selected scheduled definition not getting saved 2013-01-29 17:47:42 +00:00
Nathan Gray
8a3f81c77c Stop using a preference for selection default. If the definition has a filter set, use filter, otherwise default to search results 2013-01-24 17:24:04 +00:00
Nathan Gray
117ca80a70 Fix hidden filters when preference is for filter 2013-01-23 19:44:15 +00:00
Nathan Gray
6dde257d66 Exclude All or Select... options from select filters 2013-01-23 18:14:53 +00:00
Nathan Gray
31d717643c Fix selection choice default 2013-01-23 17:44:03 +00:00
Nathan Gray
dc5ed0acac Allow 0 as a filter value 2013-01-23 17:24:12 +00:00
Nathan Gray
a01b53a2b3 Fix cannot edit schedules 2013-01-23 16:21:06 +00:00
Nathan Gray
31959426ee Implement export filters for tracker 2013-01-22 18:33:40 +00:00
Nathan Gray
627fa6fc9c Encode ID to avoid problems with special chars 2013-01-22 16:53:24 +00:00
Nathan Gray
3102550f37 Fix selection tab plugin data 2013-01-21 18:59:33 +00:00
Ralf Becker
be6845b4d0 * All apps: merged missing translations from other apps or branches 2013-01-18 13:48:34 +00:00
Klaus Leithoff
59ee8cbc48 missing translations 2013-01-15 15:16:56 +00:00
Nathan Gray
270d8a9145 If app has no filterable fields, skip that step 2013-01-09 19:42:21 +00:00
Nathan Gray
34b64e7a7b Fix incorrect warning 'Group, Group is not a known user or group' 2013-01-08 16:14:37 +00:00
Nathan Gray
6d826f49eb Change no records message 2013-01-08 16:03:46 +00:00
Nathan Gray
88d1c1eefa If a link match can't be found, do not clear the field but leave it so the plugin can try 2013-01-08 15:56:11 +00:00
Nathan Gray
89b4ce31e8 - Add message if no records available for export using selected settings
- Improve export preview a little
2013-01-07 18:25:53 +00:00
Nathan Gray
761848c76f Only the last 3 months (exclusive of current) for 'Last 3 months' 2013-01-03 16:58:38 +00:00
Nathan Gray
3a1c4fb7fb Try to catch some errors 2013-01-03 15:53:31 +00:00
Nathan Gray
21fdd9abf2 Avoid some errors from apps/plugins that don't do filters 2013-01-02 22:38:43 +00:00
Nathan Gray
c09a9aa61c Fix missing conversion of 0 -> No 2013-01-02 17:30:39 +00:00
Nathan Gray
880e55f9a2 - Move filter step later in wizard
- If user picks an end date in export dialog, set time to 23:59:59 to include that day
2012-12-31 20:59:04 +00:00
Nathan Gray
0a91bc5aa9 Add support for filtering records to be exported.
Filterable fields are attempted to be autodetected by using the exportable fields.
Records can be filtered by fields with type select,select-cat,select-account,date,date-time (according to egw_record class) 
only at this time.  Filters are saved in the definition and used with scheduled exports.  They are also available to the
user for modification in the export dialog.
2012-12-31 20:36:28 +00:00
Nathan Gray
8ff5f6f99f Improve error messages when linking goes awry 2012-12-19 20:21:51 +00:00
Nathan Gray
2f1e5b5078 Fix no notifications checkbox 2012-12-19 20:06:13 +00:00
Nathan Gray
e99ab7aff5 Fix link conversion only works the first time 2012-12-18 16:36:05 +00:00
Nathan Gray
2f2ad58e98 Implement 'No notifications' flag when importing iCal 2012-12-17 23:56:56 +00:00
Nathan Gray
0791bbb9f1 Implement importing fields that are primary keys/links to a record in another app 2012-12-17 18:50:03 +00:00
Nathan Gray
e4133aa210 Clear all users or Just me checkboxes 2012-12-04 22:55:48 +00:00
Nathan Gray
bff2bdc6d6 - Clear owner & allowed popups after changing
- Make allowed popup user selection not look disabled
2012-12-03 22:43:47 +00:00
Nathan Gray
57cc6dba1a Default application filter to the application you were just in 2012-12-03 21:55:52 +00:00
Nathan Gray
69c2466ed3 If user is admin, show the admin Import/Export sidebox with the definition list 2012-12-03 21:46:55 +00:00
Ralf Becker
c8dad27c8a remove file stalling openSUSE 12.4 builds 2012-12-03 03:30:39 +00:00
Nathan Gray
90d5428b9e Do not consider stop flag when clearing empty conditions 2012-11-26 18:07:13 +00:00
Nathan Gray
e36ccd9e10 Number of columns in file must match number of columns in sample file given to definition instead of number of columns imported (to get non-imported columns working again) 2012-11-22 16:02:18 +00:00
Nathan Gray
4fc8903129 Fix bug where user preference for addressbook vCard was not used in some cases 2012-11-15 17:11:31 +00:00
Nathan Gray
aec907a8f8 Use local category object specific to definition app to get permissions 2012-11-08 20:17:49 +00:00
Nathan Gray
e6e27fd29e Add category ACL check to export conversion to human values 2012-10-29 19:18:27 +00:00
Nathan Gray
9f4118e947 Use addressbook vCard charset preference for exporting vcards using Import/Export 2012-10-29 18:29:40 +00:00
Nathan Gray
084a5a5b93 Use new translation::detect_encoding() for encoding detection 2012-10-24 16:59:00 +00:00
Nathan Gray
13844bbf17 Automatically change Import/Export sidebox link to just 'Export' if the app has more than one plugin 2012-10-22 17:22:30 +00:00
Nathan Gray
f300f52162 Don't wipe previous mapping if user went back a step 2012-10-18 16:54:09 +00:00
Nathan Gray
34f8f7db08 Prevent new categories from being created during dry-run 2012-10-18 16:38:30 +00:00
Nathan Gray
5132b8e3ca Process the whole file when doing a preview, but only keep a few records for display 2012-10-17 14:49:18 +00:00
Nathan Gray
e75e112598 Allow plugins to suggest download file names 2012-10-16 18:44:33 +00:00
Nathan Gray
d92a2315cb Some documentation updates 2012-10-15 21:28:33 +00:00
Nathan Gray
f34afea1c7 Keep previous CSV-only preview around too 2012-10-12 19:54:39 +00:00
Nathan Gray
2b96aff758 Import / Export cleanup:
- Start reducing some duplication by making better use of common CSV import ancestor
- Work towards a universal preview, regardless of file type
2012-10-12 19:50:26 +00:00
Nathan Gray
dccb36e16a Fix typo causing new/edit definition suggestions to always be shown 2012-10-12 15:53:17 +00:00
Nathan Gray
870d49f881 Show new / edit definition options on any warning 2012-10-12 15:05:29 +00:00
Nathan Gray
68968db0e7 Fix missing conditions 2012-10-11 20:06:41 +00:00
Nathan Gray
d06f3a82ee Try field mapping for both parts of column count check 2012-10-10 18:39:03 +00:00
Nathan Gray
4f76748536 Try translation of lookup values if straight lookup fails 2012-10-10 15:58:58 +00:00
Nathan Gray
844298f779 Ignore case when searching for lookup matches 2012-10-10 15:04:50 +00:00
Nathan Gray
a0a3cfb4fc Still check original file columns 2012-10-09 15:55:57 +00:00
Nathan Gray
d7316f76ad Use mapped columns instead of original file columns to verify file. Still not perfect, but maybe better? 2012-10-09 15:53:45 +00:00
Nathan Gray
72e6f6f8f4 Remove duplicate conditions, causes double action 2012-10-09 15:43:59 +00:00
Nathan Gray
5ef7306342 Reload import popup if user wants to create new definition to avoid a re-submit with the old definition when the new definition wizard finishes 2012-09-20 16:11:14 +00:00
Nathan Gray
86f334bbf0 - Don't try a CSV preview on non-csv files
- Skip plugin definition wizards
2012-09-18 19:04:31 +00:00
Nathan Gray
0fa73a76a1 A condition with a True action must have a False action. Pick 'none' if not specified 2012-09-17 16:22:39 +00:00
Nathan Gray
a32b7186c2 Supply app tab for jdots refresh 2012-09-13 17:13:19 +00:00
Nathan Gray
9139c11dc5 - Better messages if import file has a problem
- Reload opening window when definition wizard is done
2012-09-12 17:55:13 +00:00
Nathan Gray
07f50bb264 Fix 'Application importexport not found' error in jdots by setting app to 'admin' in link 2012-09-12 17:10:45 +00:00
Nathan Gray
a3cf69c97c - Make highlight of non-mapped columns stick around
- Fix file upload missing if you use previous button
2012-09-12 16:43:20 +00:00
Nathan Gray
411fe5eca6 Add explanation to conditions step 2012-09-06 23:05:50 +00:00
Nathan Gray
ab89c8c1a8 Highlight columns that won't be imported 2012-09-06 22:52:46 +00:00
Nathan Gray
b38775db65 - Uploading a new file to a definition fully clears mapping - should fix some of the mapping confusion
- Add new / edit definition links in import dialog now open in new window, at the correct step
- Reworked import file checking
2012-09-06 21:50:58 +00:00
Nathan Gray
6615964c39 Import export dialog - Add suggestion for admin to take a backup before importing
- Add links to add new or edit definition (subject to access rules) if an exception happens (column mis-match, import plugin error)
2012-09-05 20:02:03 +00:00
Nathan Gray
29e52fc727 Enforce at least the right number of columns in import file vs definition, even if we can't tell what the columns are 2012-09-04 22:45:55 +00:00
Nathan Gray
a85fdb63a0 Add a check & warning on mismatched encoding. Conversion will happen automatically, but warn if we know it will happen. 2012-09-04 22:39:15 +00:00
Ralf Becker
6c6eeed21c more translations from Gudrun, Ingo & Stefan 2012-08-16 14:41:57 +00:00
Ralf Becker
e913a6a263 pending translations from translation.stylite.de 2012-08-08 12:11:04 +00:00
Ralf Becker
20346395d7 fixed typo causing extension to be lost 2012-07-03 14:24:07 +00:00
Ralf Becker
ef0cc4f6bd * ImportExport: fixed not working export in IE8 (seems to choke on Content-Disposition: attachment header) 2012-07-02 15:43:17 +00:00
Nathan Gray
343deeab7c Add 'All users' option to allowed users in definition list popup 2012-06-20 17:34:03 +00:00
Nathan Gray
f3f0406471 Add All users permission option 2012-06-05 21:50:34 +00:00
Klaus Leithoff
318f85f651 throw exception if there are no app profiles available for export 2012-05-29 11:06:40 +00:00
Nathan Gray
19ab4d3f4c If field is not in the list of fields to be imported, do not add it in as null - could overwrite existing data 2012-04-24 15:46:25 +00:00
Nathan Gray
31bae98d9f - Export all records
- Properly handle export result
2012-04-18 17:48:08 +00:00
Nathan Gray
c200bfa403 Set empty fields to '' instead of retaining their value (null or 0) 2012-04-17 16:36:31 +00:00
Nathan Gray
dff86e4842 Fix exporting to a directory 2012-04-17 15:40:34 +00:00
Nathan Gray
999fa2c422 More rigorous checking on empty / missing date - set to null, not blank 2012-04-12 19:23:39 +00:00
Ralf Becker
4d95a9b495 * ImportExport/Tracker: timeout left num-rows set to -1, causing nextmatch to try to display full list on next login 2012-03-29 10:43:21 +00:00
Nathan Gray
102c0e569c Change error output from STDERR to error_log 2012-03-19 14:54:20 +00:00
Ralf Becker
b68cbecbe2 trying to work arround "PHP Fatal error: Cannot unset string offsets in /usr/share/egroupware/importexport/inc/class.importexport_schedule_ui.inc.php on line 444" 2012-03-13 10:22:15 +00:00
Nathan Gray
dbb539e1d3 Log the format attempted 2012-02-29 15:53:45 +00:00
Nathan Gray
d67191841b Change addressbook Export CSV context menu option to use importexport 2012-02-27 16:06:10 +00:00
Nathan Gray
1109aea63a Lock import/export job while running, to prevent multiple instances. 2012-02-14 20:29:33 +00:00
Nathan Gray
68798a2200 - Fix sorting by modification time to handle files changed at the same time
- Catch exceptions for logging
2012-02-14 18:36:15 +00:00
Nathan Gray
caec90f104 Better handling of date-times without times, prevent double-conversion to server time 2012-02-07 20:49:38 +00:00
Nathan Gray
6fa67b2e28 More robust handling of importing date-times:
1.  Check against user's preference
2.  Try any other possibilities, by egw_time
3.  Error, unless app plugin takes special measures
2012-02-07 15:37:16 +00:00
Nathan Gray
a7fd0331bd Handle missing DateTime object 2012-02-06 18:40:12 +00:00
Nathan Gray
465498b36c - Return errors in timestamp formatting so they can be displayed to user
- Make sure timestamps returned are timestamps, not DateTimes
2012-02-06 16:23:33 +00:00
Nathan Gray
03756ddaf2 In scheduled list, show last / next run times in user time. Async still runs in server time though, so added a message about that to edit dialog. 2012-02-01 20:49:27 +00:00
Nathan Gray
3656ce8515 - Leave any account names that can't be parsed to IDs for use in errors
- Return warning about any names that can't be parsed
2012-01-25 18:13:57 +00:00
Nathan Gray
03671abeb8 Give a list of what definitions were imported, so you can find them 2012-01-20 18:39:50 +00:00
Nathan Gray
cbf5203c8b Remove double charset conversion on header 2012-01-09 20:46:23 +00:00
Nathan Gray
651018ddfb Add missing * 2012-01-09 16:05:02 +00:00
Nathan Gray
89f46c6a3b Refresh opening window after import 2012-01-05 18:23:02 +00:00
Nathan Gray
9990fe45d6 Filter definitions by selected application / plugin 2011-12-27 16:47:57 +00:00
Nathan Gray
a873cf93f0 Preserve appname, and get it from definition if missing 2011-12-22 16:09:29 +00:00
Nathan Gray
3b2862a63b Hold on to import file while doing dry run, so user can just click import again 2011-12-20 19:01:16 +00:00
Nathan Gray
a1df0766a7 Display some records from the file to be imported as a preview when 'Test only' is selected 2011-12-20 00:16:23 +00:00
Nathan Gray
b8955a1ab0 Keep warnings when adding errors to notification 2011-12-19 22:22:29 +00:00
Nathan Gray
0934dd0045 Remove comma between date and time 2011-12-19 15:26:47 +00:00
Nathan Gray
82dbae58ee Add warnings to notification email 2011-12-15 17:01:01 +00:00
Nathan Gray
8c4e8dee2f Display warnings encountered during import 2011-12-15 16:56:52 +00:00
Nathan Gray
f6a443a917 Add warnings to import plugin 2011-12-15 16:24:47 +00:00
Nathan Gray
03bae6ff27 Add CP850 to translation class list of installed charsets, don't need to add it in import/export 2011-12-14 21:34:24 +00:00
Nathan Gray
bf9632b14a Keep original field names when export definition is created from import definition 2011-12-14 16:33:54 +00:00
Nathan Gray
cd96a14674 Add run time to scheduled import/export last run info 2011-12-13 20:00:40 +00:00
Nathan Gray
d629b6322e HTTP not supported by is_readable(), so use headers to determine if file is readable 2011-12-13 17:42:32 +00:00
Nathan Gray
3c7a918a4f Add 'errors' to notification subject 2011-12-12 17:24:27 +00:00
Nathan Gray
193267be20 - Show error details in email
- Fix 'Array ...deleted' result
- Avoid some warnings from stuff not being arrays
2011-12-12 17:23:24 +00:00
Nathan Gray
f3bbd83e0d Fix typo 2011-12-09 19:11:14 +00:00
Nathan Gray
20bb80effb - Silence some warnings
- Send notification to scheduling user about any errors during import/export - does not include full list of errors
2011-12-09 18:44:29 +00:00
Nathan Gray
d93f9f4869 Only use the translation from wizard if it's there, otherwise leave it alone 2011-12-09 17:49:22 +00:00
Nathan Gray
68a970f5d6 Fix deleting scheduled import/exports 2011-12-09 16:25:17 +00:00
Nathan Gray
d4cda9a91a - Fix broken encodings by using export_csv's fputcsv
- Include set charset in HTTP header
2011-12-08 17:27:16 +00:00
Nathan Gray
0b9b48b6da - Change schedule list to display results & errors from each file
- Process files in a directory oldest->newest
- Change display of 'Last run', was last successful run, now last attempt
- Fix display of next run, updates even if errors
- If errors are encountered (not writable, definition not found) don't block other async jobs
2011-12-07 20:05:02 +00:00
Nathan Gray
5f815928f4 Improve handling / display of error messages 2011-12-07 17:18:08 +00:00
Nathan Gray
ada529a9d5 - Remove standard encodings from extra charset list
- Add extra charsets to export too
2011-12-07 00:12:18 +00:00
Nathan Gray
225317c0b3 Scheduled imports now can operate on a folder to import all files in folder. If successful, improted files can be deleted after import. 2011-12-06 00:44:07 +00:00
Nathan Gray
ee9398c8f1 Clever note to indicate what to use CP850 for 2011-12-05 19:43:33 +00:00
Nathan Gray
d033d3b651 Use wizard to try to translate headers. It should give better results, especially with compounds like 'Street (Business)', where translation has no such phrase 2011-12-05 19:33:29 +00:00
Nathan Gray
d366cf8b71 - Explicitly add CP850 to list of import encodings
- Other encodings (not supported by eGW) can be added in site configuration
2011-12-05 17:27:04 +00:00
Klaus Leithoff
95a3e33aea fixing an php5.2.x error for ::export... to ->export... - we dont need the static call here anyhow. 2011-12-05 11:12:07 +00:00
Nathan Gray
21c6a0f447 Add ability to create an export definition based on an existing import definition 2011-12-01 18:49:42 +00:00
Nathan Gray
2c636586c6 Allow importing files with any encoding supported by server, not just eGW encodings 2011-11-30 18:06:35 +00:00
Nathan Gray
d5904fb3c0 Try out PHP's native fputcsv() to see if it still causes problems 2011-11-29 00:27:54 +00:00
Nathan Gray
288d40065a Do charset conversion once per line instead of on each field 2011-11-25 23:12:08 +00:00
Ralf Becker
7c9dd8086f changed "No defintion" to "Old fixed definition" 2011-11-21 10:01:08 +00:00
Ralf Becker
2d7584d459 only check for class.$classname.inc.php files, when scanning for plugins, as backupfiles postfixing the filename with an other extension stall EGroupware completly (Fatal Error: Can not redeclar class) 2011-11-21 09:50:02 +00:00
Nathan Gray
7abfde460c English translation for 'No definition' 2011-11-18 16:29:06 +00:00
Nathan Gray
78855f0652 Don't discard first definition 2011-11-07 18:24:15 +00:00
Nathan Gray
1657114628 - Add 'Add' button to add a new condition
- Matching conditions stop by default now
2011-11-03 20:23:04 +00:00
Nathan Gray
9158834db3 Add ability for user to override definition's delimiter when importing 2011-11-03 16:18:26 +00:00
Nathan Gray
89ecce38bf Fix SQL error preventing multiple users/groups allowed to share their own definitions 2011-10-31 19:36:21 +00:00
Nathan Gray
a3ad2a0392 Add options tab to export dialog so user can change delimiter when exporting 2011-10-31 19:18:06 +00:00
Nathan Gray
41493e7c51 Move preserve to allow for clearing conditions 2011-10-31 16:30:57 +00:00
Nathan Gray
79baa55fe2 Fix some problems with read-only wizard:
- New definitions aren't read-only
- Hide 'Just me' checkbox when read-only, to avoid confusion
- Wizard stays read-only if you go to previous step
- Disable Change context menu for definitions the user has no permission to change
2011-10-26 19:54:15 +00:00
Nathan Gray
a97d5e65d4 eTemplate changes to make wizard steps read-only if user is not owner or admin 2011-10-25 21:56:43 +00:00
Nathan Gray
df44d80c60 Make wizard steps read-only if user is not owner or admin 2011-10-25 21:55:55 +00:00
Nathan Gray
75e54268c6 Fix recursive call until memory exhausted - etemplate mangles in onclick 2011-10-25 19:42:28 +00:00
Nathan Gray
3e194b16fe Add convert option, affects how date/times & categories are parsed 2011-10-25 18:54:23 +00:00
Nathan Gray
f0b86e7cbe Fix 12 hour time format (missing am/pm) when exporting 2011-10-25 17:18:17 +00:00
Nathan Gray
93b9d99cd5 Don't treat numeric category names as IDs 2011-10-25 17:09:31 +00:00
Klaus Leithoff
2d494997ab rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar 2011-09-16 13:03:46 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Ralf Becker
884da4b664 "modernized" importexport_cli a bit (removed uneccessary stuff) and added PEAR Console_Getopt dependency 2011-09-15 07:06:33 +00:00
Klaus Leithoff
a2730516fe silence some error log statements 2011-09-13 10:16:29 +00:00
Klaus Leithoff
d52c72207c * calendar/importexport/addressbook: calendar introduce new config option to set app specific export_limit; calendar csv export: use enumerate for exporting events as csv; bo_merge: introduce new helper functions to get and check export-limit; addressbook: use new helper functions 2011-09-13 09:05:33 +00:00
Klaus Leithoff
25fcf25bdb code cleanup: as bo_merge::is_export_limit_excepted checks for ->is Admin<- already 2011-08-30 15:27:47 +00:00
Klaus Leithoff
6a2d5d8b36 using new bo_merge static function to check for is_export_limit_excepted; fixing an off but vone error regarding the limit of rows returned 2011-08-29 15:02:00 +00:00
Nathan Gray
0264b70a0b Silence warning when export exception is not set 2011-08-22 14:20:44 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Nathan Gray
9de3b4afc9 Use similar_text() to try to automatically match import field names to application fields when there's no exact match 2011-08-09 18:19:58 +00:00
Nathan Gray
89c2097894 Add new import translation function list(sep,field,index) to explode a field and pick one part 2011-08-05 22:04:05 +00:00
Nathan Gray
e1fce75a74 Cleanup translations - common importexport stuff 2011-07-04 20:06:30 +00:00
Nathan Gray
63caf59444 Use admin/preferences as appname for sidebox links 2011-07-04 15:35:53 +00:00
Nathan Gray
341bf0e8c4 Enable import CSV plugin, but remove default definition. Admin can create it if needed 2011-07-04 14:34:44 +00:00
Ralf Becker
03e379e570 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Nathan Gray
fe05c1cb03 Change selectbox back after 2011-06-28 15:52:26 +00:00
Nathan Gray
203fb83f0d Don't try to select all if the current search filters give no results, give an alert to select something 2011-06-27 17:23:59 +00:00
Nathan Gray
039e351d8b 'Disable' Export & merge spreadsheet in sidebox for addressbook view 2011-06-22 18:14:52 +00:00
Ralf Becker
2bf55a7c87 some fixes for English and Suomi translation, from our Suomi resident here as Stylite 2011-06-22 15:53:36 +00:00
Nathan Gray
615ea171c2 If automatically using 'select all', turn it back off again after merge 2011-06-20 16:36:51 +00:00
Ralf Becker
8e53f21349 using bo_merge::get_documents to get export documents 2011-06-17 14:07:10 +00:00
Ralf Becker
fcfbd038bc some fixes for the English translation, from our Suomi resident here as Stylite 2011-06-10 06:19:36 +00:00
Nathan Gray
768859718f Update selection tab if definition is changed. 2011-06-09 14:42:58 +00:00
Nathan Gray
ddfd5d50bb Translate app names 2011-06-08 15:32:45 +00:00
Nathan Gray
483069d970 Use nextmatch preferred definition as pre-selected export definition 2011-06-08 15:01:27 +00:00
Nathan Gray
7ee8739394 For calendar & sitemgr, use labels 'Import' & 'Export' instead of 'Import CSV' & 'Export CSV' 2011-06-08 14:55:25 +00:00
Ralf Becker
469f938967 consider running in setup (install/update of app) as run by an admin 2011-06-08 10:59:45 +00:00
Ralf Becker
7d097380b1 propset svn:keywords Id 2011-06-07 15:32:52 +00:00
Ralf Becker
3c14bd7f59 import i/e defintions on update 2011-06-07 15:29:50 +00:00
Ralf Becker
1c89bd7a99 give Default and Admins group rights for ImportExport on update too 2011-06-07 11:21:59 +00:00
Ralf Becker
9dfdabe1a3 some fixes for the English translation, mostly correcting case, from our Suomi resident here as Stylite 2011-06-07 06:29:49 +00:00
Nathan Gray
42af223052 - Fix select all confirm message
- When copying and name exists, try again with user lid.  If that fails, give nice error message
- When done editing a definition, send to definition index instead of reload + send POST again
2011-06-06 16:08:57 +00:00
Nathan Gray
e7e424e1fc Get spreadsheet box working again 2011-06-03 22:00:18 +00:00
Nathan Gray
0afe6ae498 Add legacy select all + Select action button 2011-06-02 20:28:17 +00:00
Nathan Gray
265a6d307e Use widthxheight for popup dimensions 2011-06-02 20:10:20 +00:00
Nathan Gray
0bb2f77376 Add some more icons to actions 2011-06-02 18:41:51 +00:00
Ralf Becker
d51981d57f missing translations and shortend one for context menu 2011-06-02 17:34:47 +00:00
Nathan Gray
8820c41c3d Add context menu 2011-06-02 16:50:41 +00:00
Nathan Gray
0cd5da6be9 Fix bulk delete / export 2011-06-01 13:56:24 +00:00
Nathan Gray
eeda69071f Pass definition to plugin 2011-05-30 17:51:57 +00:00
Ralf Becker
e2cd10a286 putting row-id in value of checkbox 2011-05-27 10:35:00 +00:00
Nathan Gray
da20e2ea06 Add check all button 2011-05-24 17:04:16 +00:00
Nathan Gray
eed3385496 Allow admin to choose when to update default definitions: never, manual or auto 2011-05-24 16:13:51 +00:00
Nathan Gray
8af97a3c10 Add an option for charset to use the current user's preferred charset 2011-05-24 15:50:38 +00:00
Nathan Gray
7f06d6af00 If user chooses a name already in use, give a nice message with some alternate suggestions 2011-05-24 15:33:00 +00:00
Nathan Gray
6e26b80c1e Add special case for Calendar, non-list views need special handling 2011-05-24 14:53:23 +00:00
Nathan Gray
3ad9f4d932 Hide export link if admin disabled export site-wide 2011-05-20 16:55:34 +00:00
Nathan Gray
3808f6d5e0 Make sure users can access their own definitions 2011-05-19 16:11:26 +00:00
Nathan Gray
86ced579db Apply ACL to definition list - only show definitions user can use 2011-05-18 14:46:57 +00:00
Nathan Gray
d0d105b937 Disable delete using checkboxes too 2011-05-18 14:22:31 +00:00
Nathan Gray
614882c347 Disable edit / delete buttons for definitions you have no access to 2011-05-17 23:27:42 +00:00
Nathan Gray
785c484b4e If user didn't select any records to export, select all 2011-05-16 21:50:54 +00:00
Nathan Gray
06626b4cfc Skip spreadsheets shown in other selectbox 2011-05-16 18:42:49 +00:00
Nathan Gray
5101ac5c03 Translate select options 2011-05-16 16:02:20 +00:00
Nathan Gray
a63bcaa4d3 Avoid warnings from in_array() 2011-05-10 14:43:16 +00:00
Nathan Gray
e6ecb5415c Selectbox now works with jdots framework 2011-05-09 16:56:52 +00:00
Ralf Becker
ec7533f2c7 give Default and Admins group rights for ImportExport 2011-05-07 12:35:29 +00:00
Ralf Becker
f4061db91a install importexport automatically on update 2011-05-07 11:04:36 +00:00
Nathan Gray
f6f9617261 Make spreadsheet list useful, fakes a call to merge with the chosen document and the currently selected items 2011-05-05 21:40:15 +00:00
Nathan Gray
87c960b6ea Only show spreadsheet link if app has spreadsheets to show 2011-05-02 17:21:26 +00:00
Nathan Gray
9786f03980 Add a link to list of spreadsheets available for merging into 2011-04-26 20:30:26 +00:00
Nathan Gray
86fa96b504 Fix import / export buttons in definition list 2011-04-20 14:18:06 +00:00
Nathan Gray
bbf3778172 Use a nextmatch for definition list 2011-04-19 16:00:43 +00:00
Nathan Gray
61862bf50d Trim any extra space off name / account login, it breaks the searching 2011-04-18 15:09:03 +00:00
Nathan Gray
e9d5ae4216 Special formatting for date custom fields 2011-04-14 16:58:28 +00:00
Nathan Gray
39faba482e Make sure selects is an array, if passed 2011-04-13 14:34:12 +00:00
Nathan Gray
dc270e8bae Change title of links for all apps from Import & Export to Import CSV & Export CSV in the correct place 2011-04-11 21:20:32 +00:00
Nathan Gray
9d722f1cf8 Change title of links for all apps from Import & Export to Import CSV & Export CSV 2011-04-11 20:55:20 +00:00
Ralf Becker
82bb3f8044 * ImportExport/PostgreSQL: fixed SQL error "wrong operator !" when defining a profil 2011-04-11 15:45:29 +00:00
Nathan Gray
459e6be4d2 Blacklist calendar CSV import because it doesn't work the same as the others, and you should use iCal. If someone needs it, they can put it back in. 2011-04-11 15:21:10 +00:00
Nathan Gray
927528e2ad If user does not have permission for Import / Export, skip all importexport sidebox links 2011-04-06 22:47:49 +00:00
Nathan Gray
b6e79184a2 Allow plugin selection settings to override preferences 2011-04-06 22:24:46 +00:00
Nathan Gray
49f8cc3258 Convert date/time to timestamp 2011-04-06 17:22:14 +00:00
Nathan Gray
7b804f41a4 Recognize empty as != 0 2011-04-06 15:40:30 +00:00
Nathan Gray
630720a662 Used passed appname when creating new categories 2011-04-04 19:05:15 +00:00
Nathan Gray
15bac6b211 Don't clear cat_id if it wasn't found, let app have the original 2011-04-04 17:28:35 +00:00
Nathan Gray
cd5bcab6b6 Add function to do automatic conversions from human friendly values, similar to the one in export. 2011-04-04 17:00:13 +00:00
Nathan Gray
ee0e75f283 Fix for exporting custom fields in user format - CFs are stored as text, not timestamp 2011-04-04 16:09:22 +00:00
Nathan Gray
af7ad5bec1 If there's only one option for plugin or definition, select it 2011-04-04 14:31:37 +00:00
Nathan Gray
ce38993281 Don't cast to array, it's often scalar 2011-03-28 21:51:35 +00:00
Nathan Gray
55ba81f0de Give user preference for selection precidence over plugin setting 2011-03-28 21:12:44 +00:00
Nathan Gray
e9c7e8b84d Make link to definitions work in Stylite template 2011-03-24 17:36:02 +00:00
Nathan Gray
e12406b486 Show link to define imports | exports in sidebox for apps that support it 2011-03-24 15:17:59 +00:00
Nathan Gray
89905fe2e8 If appname is passed in on URL, make appname read-only 2011-03-24 15:17:15 +00:00
Stefan Becker
baccd759bf fixed wrong German Translation 2011-03-24 09:21:24 +00:00
Nathan Gray
58248a252d Add default 'Select...' option each time, make sure definition is cleared when changing definition list 2011-03-21 19:05:33 +00:00
Nathan Gray
9f20d116b6 Fix date comparison when importing definitions 2011-03-21 17:35:53 +00:00
Nathan Gray
bba2a4c2bb Make sure options is an array before trying to unset a sub-key 2011-03-21 17:13:25 +00:00
Nathan Gray
02a93ae43e Remove incorrect attempt at setting defaults 2011-03-21 16:25:57 +00:00
Nathan Gray
fa2a3d9a1a Remove wrong and unneeded upgrade 2011-03-21 15:07:52 +00:00
Nathan Gray
f43c3c7c13 Avoid warnings if no definitions found in file 2011-03-21 14:12:37 +00:00
Stefan Becker
5a6bc00f90 adding German Translations 2011-03-21 11:26:12 +00:00
Nathan Gray
2d20b29cee Fix automatic field mapping when a mapping field is an array (addressbook categories) 2011-03-17 14:34:10 +00:00
Nathan Gray
66f120ff2e Add optional parent parameter for new categories 2011-03-16 23:29:42 +00:00
Nathan Gray
83bbea7669 Try to set some default values for export definitions 2011-03-16 17:07:32 +00:00
Nathan Gray
2e752e17b6 Enhance account name -> ID to be able to handle user names in Lastname, Firstname format 2011-03-16 16:50:28 +00:00
Nathan Gray
d02eec55fb Trim extra whitespace from category name 2011-03-16 15:53:11 +00:00
Nathan Gray
f3536a72bf Improve error message for import errors. Just because there was an error doesn't mean the record wasn't imported using default info 2011-03-15 16:18:13 +00:00
Nathan Gray
9f32100656 Make account name->id translator able to handle full usernames and groups listed as Group, name 2011-03-15 00:01:23 +00:00
Nathan Gray
c94a591fee Make account name->id translator able to handle any IDs that are passed 2011-03-14 23:42:24 +00:00
Nathan Gray
da16cd319c Set default export-<appname> definitions as the site-wide default if no default is set 2011-03-14 23:07:46 +00:00
Nathan Gray
49bf54aace More agressive filtering on schedule options - all subsequent options start filtered 2011-03-14 20:55:42 +00:00
Nathan Gray
93241a65c5 Merge recursive to preserve sub-arrays 2011-03-14 20:39:54 +00:00
Nathan Gray
4b18c05ec3 Fix definition filter to allow admins access to their own private definitions 2011-03-14 17:35:01 +00:00
Ralf Becker
01fe133e60 removed accidently commited disable of automatic install 2011-03-11 16:05:13 +00:00
Ralf Becker
ed60695cd5 * fixed not working scheduled import from vfs 2011-03-11 16:03:08 +00:00
Nathan Gray
bd03ec245f Remove some deprecated ereg functions 2011-03-09 18:18:26 +00:00
Nathan Gray
a58a7892c9 Adjust the export to remove some fields not needed, only export owner if there is one. 2011-03-09 15:47:11 +00:00
Stefan Becker
7e094f9e67 German translation 2011-03-07 12:24:34 +00:00
Nathan Gray
738966ca68 Better handling of shifting to avoid deleted fields 2011-03-04 19:02:41 +00:00
Nathan Gray
a47732d530 Make category name->id translator able to handle any IDs that are passed 2011-03-04 18:53:02 +00:00
Ralf Becker
5344d0a0ae * ImportExport: fixed translation default value not working (eg. "1|>one||2|>two||other") 2011-03-04 17:42:53 +00:00
Stefan Becker
9d44d57a52 translations for importexport 2011-03-04 13:32:28 +00:00
Nathan Gray
c99e804d8d Add 'All custom fields' field option, that will cause all custom fields to be exported 2011-03-02 17:08:43 +00:00
Nathan Gray
908b4f0e63 Add English translation for nextmatch export preference 2011-02-28 17:43:24 +00:00
Nathan Gray
398185f525 Don't hide exports from admins, even if exporting is disabled for users. 2011-02-24 15:47:43 +00:00
Nathan Gray
9bd38bb45f Resize popup if step changes size 2011-02-24 00:13:42 +00:00
Nathan Gray
34354a2a6b Change config options, admin can now allow users to create their own definitions, and can choose which users are allowed to share their definitions with others 2011-02-23 23:44:20 +00:00
Nathan Gray
75ba2fc475 Hide exporting for admins too, if they've disabled exporting site-wide 2011-02-23 16:45:19 +00:00
Stefan Becker
c4165cbe55 add German translation and fixed some typos 2011-02-23 13:23:44 +00:00
Nathan Gray
127976b1ef Enforce export limit for csv exports 2011-02-22 18:17:13 +00:00
Nathan Gray
a019e94e55 Respect global setting export_limit = 'no' -> disable exporting 2011-02-22 17:43:33 +00:00
Nathan Gray
838f4664f1 * Add ability for users to define their own definitions
- Permissions set by admin in the Site configuration
2011-02-22 17:13:03 +00:00
Nathan Gray
880dd678d1 Set update_cat to saved value on first load 2011-02-14 16:04:18 +00:00
Nathan Gray
1cedf20503 Wrap definition constructor in a try/catch to catch & ignore permission errors 2011-02-14 15:54:28 +00:00
Nathan Gray
c6e285558e Fix for unable to clear translation field 2011-02-11 18:34:24 +00:00
Nathan Gray
ededa8f092 Use _bo is_permitted() function for consistency, fixes occasional exceptions due to group permissions 2011-02-11 18:03:44 +00:00
Nathan Gray
94c616bf12 Catch exception thrown when trying to instanciate a definition the user has no rights for, and discard it. 2011-02-10 20:45:32 +00:00
Nathan Gray
2ca0c13b34 Cast to array to prevent warnings 2011-02-08 16:01:55 +00:00
Nathan Gray
37417195eb Add auto-import of definitions in appname/setup/*.xml 2011-02-03 18:09:39 +00:00
Nathan Gray
a0d7bde2fb By default, don't show apps user doesn't have access to any definitions for 2011-02-03 16:49:49 +00:00
Nathan Gray
ae035df727 Actually use definition permissions 2011-02-03 16:42:03 +00:00
Nathan Gray
ae07ff2331 Use new sidebox_all hook to add importexport links to other apps' sideboxes 2011-02-03 16:32:03 +00:00
Oscar Manuel Gómez Senovilla
28d2b6b072 Update for translations in trunk 2011-01-30 12:53:49 +00:00
Nathan Gray
bd28fed482 - Hide expert options until they get worked out
- Add caching function has_definitions() to see if there are any definitions for the user
- Fix permissions check
2011-01-28 19:44:24 +00:00
Nathan Gray
4aed0e32da Nicer English translation of appname 2011-01-27 18:03:27 +00:00
Nathan Gray
fa974d0a50 Remove 'some nice text' on export dialog 2011-01-27 16:41:48 +00:00
Nathan Gray
a62484d106 If there's only one export definition, select it by default 2011-01-26 01:00:41 +00:00
Nathan Gray
ba485f1338 Look in setup directory for pre-defined definitions, importexport sub-directory is no longer used. 2011-01-26 00:28:14 +00:00
Nathan Gray
0efb958fa1 Load the translations for the app for headings 2011-01-12 17:02:43 +00:00
Nathan Gray
fd4315fec3 Fix multi-domain handling on command line 2011-01-11 23:31:44 +00:00
Nathan Gray
8615b3c9fa Translation of field labels 2011-01-11 22:09:25 +00:00
Nathan Gray
5e9d01e176 Check if get_errors() exists before calling it to prevent fatal error 2011-01-11 18:06:28 +00:00
Nathan Gray
af918a2945 Use common::egw_exit() instead of just exit for extra cleanup 2010-12-20 22:00:19 +00:00
Nathan Gray
6246b1b58b Try to avoid extra output after file 2010-12-17 18:24:24 +00:00
Nathan Gray
806a5aec91 - Escape double qoutes
- Allow to pass extra select/lookup values to convert()
2010-12-17 16:39:11 +00:00
Klaus Leithoff
6afc97236e * ImportExport: Replace CRLF with LF so excel does not break lines early (myStylite#974) 2010-12-16 14:49:13 +00:00
Nathan Gray
8f05a9f411 Revert 33366, replacing \n doesn't help Excel 2010-12-15 22:51:07 +00:00
Nathan Gray
bbd874dc05 Replace all CRLF in values with CR so Excel doesn't break lines early. 2010-12-10 21:11:15 +00:00
Klaus Leithoff
b72fb5e76b code alignment 2010-11-24 11:25:37 +00:00
Nathan Gray
46a90c13f9 Fix field indexing in import definition wizard (causes confusion in translations) 2010-11-23 20:52:50 +00:00
Nathan Gray
fdfff16b55 Make the type icon in the definition list clickable, it will 'run' that definition 2010-11-23 20:15:51 +00:00
Nathan Gray
8df0a6527f Add toggle all checkbutton to field select step 2010-11-23 19:41:37 +00:00
Nathan Gray
61c0654d17 Fix custom field multi-select export into one field 2010-11-23 15:29:57 +00:00
Ralf Becker
3ccf4a3587 fixed not working importexport: preferences can NOT store arrays, they need to be serialized before 2010-11-23 15:25:22 +00:00
Nathan Gray
4769db9539 Cast preference to array to prevent blanks 2010-11-23 15:15:48 +00:00
Nathan Gray
b522daf825 Keep user choices for next time they use the same export definition 2010-11-23 00:48:16 +00:00
Nathan Gray
84e99bbe25 Fix export conversion options 2010-11-23 00:02:40 +00:00
Nathan Gray
22441f3112 Add new option to convert to human friendly values 2010-11-22 23:34:06 +00:00
Nathan Gray
d8f79014f8 Fix merging of custom fields with provided fields 2010-11-19 15:55:08 +00:00
Nathan Gray
dcf7ce486f - Fix bug in field conversion where sometimes the first record would not be changed
- Only try to convert dates / times if they are timestamps.  Some apps convert to user time already (calendar series)
2010-11-09 19:07:47 +00:00
Nathan Gray
47ff785588 - Add an option for export header: use field names or human labels
- Fix missing first field
2010-11-09 18:14:49 +00:00
Nathan Gray
3b286a2fed Add more custom fields for parsing into conversion fields, move cf parsing into seperate function 2010-11-08 17:17:21 +00:00
Nathan Gray
c22440eea8 Add select & link entry conversion to custom fields 2010-11-05 20:22:28 +00:00
Nathan Gray
58231dfad1 Call functions in common statically 2010-11-05 19:31:53 +00:00
Nathan Gray
5fc2ffaba6 Use server's temp directory instead of /tmp
Only pass filename, entire path is not needed (and a security issue)
2010-11-05 19:29:45 +00:00
Nathan Gray
70d0e8dad1 Add export data conversion to a parent class so it can be used by other apps 2010-11-04 17:26:30 +00:00
Nathan Gray
edf5759a50 Check protocol to prevent direct file system access. Use VFS to access files on the server instead. 2010-10-19 17:29:11 +00:00
Nathan Gray
e4884335af Add option to choose to update or replace categories 2010-10-19 17:27:10 +00:00
Nathan Gray
845d8f533c Make sure field_mapping is an array before trying to index into it 2010-10-13 17:26:34 +00:00
Nathan Gray
6c0d3b2c81 Fix accidentally commited debug code 2010-10-12 22:46:43 +00:00
Nathan Gray
7f540ad450 - Add ability for plugin to specify mimetype
- Fix basic export csv wizard header option (wasn't loaded properly)
2010-10-12 22:45:55 +00:00
Nathan Gray
762d2469b0 Allow plugins to supply complete info for selections 2010-10-12 21:59:55 +00:00
Nathan Gray
dd8df67229 - Mess with export dialog so it actually works with definitions
- Add base csv export wizard
2010-10-07 23:05:25 +00:00
Nathan Gray
eb5fac04e9 Implement conversion class so the app's plugin can provide extra conversion functions 2010-10-06 22:33:52 +00:00
Nathan Gray
44dbdb1864 Close and delete sample CSV file when done with it 2010-10-06 22:19:48 +00:00
Nathan Gray
79db13ec5e Allow auto-map from file to update existing mapping 2010-09-28 22:54:35 +00:00
Nathan Gray
53401c63c0 Add a feature to try to auto-detect the field mapping 2010-09-28 21:07:20 +00:00
Nathan Gray
a3bd170aa4 - Fix bug preventing unsetting a field mapping
- Don't re-resize popup window (Fix for IE unable to resize?)
2010-09-23 19:35:52 +00:00
Nathan Gray
7bf2053a54 Add 'Select' default entry to condition field column also 2010-09-17 14:15:20 +00:00
Nathan Gray
ae7158086a Fix add_option calls 2010-09-16 21:21:00 +00:00
Nathan Gray
d01499df7b Change UI a little to have actions default to 'Select' when no action is selected 2010-09-16 17:17:29 +00:00
Nathan Gray
5ed66702ba Improve detection & removal of empty conditions 2010-09-14 22:18:56 +00:00
Nathan Gray
3b46acda8f Fixes to get selectboxes working for IE (Stylite #8186) 2010-09-14 21:17:29 +00:00
Nathan Gray
f5f47c4ad1 Take some extra measures to get space for column headers without destroying the keys in the map 2010-09-08 20:57:06 +00:00
Nathan Gray
117299fc3b Fix (hopefully) for IE unable to change popup size 2010-09-08 16:25:32 +00:00
Nathan Gray
6d552b26d1 Remove call to missing function - doesn't look needed, it works without. 2010-09-08 16:19:29 +00:00
Ralf Becker
50c43deec9 updating verson to 1.8 2010-09-05 15:24:34 +00:00
Oscar Manuel Gómez Senovilla
2f0df89b4f Tracker #2703 2010-08-25 16:14:29 +00:00