Commit Graph

1844 Commits

Author SHA1 Message Date
Andreas Stöckel
8f354a3fbf Using egw_keymanager::DELETE instead of EGW_KEY_DELETE 2011-06-25 14:28:14 +00:00
Ralf Becker
fe781cdc9f - add $receiver parameter to most callbacks, to be able to customize returned content on receiver (eg. different for users and email CC's)
- changed html body into a two-column table for nicer formatting
2011-06-23 18:45:44 +00:00
Oscar Manuel Gómez Senovilla
164871ec02 Update Czech translation for trunk. Tracker #2886 2011-06-23 13:53:19 +00:00
Nathan Gray
0ecbc8b54d Allow functions deep in the stack (table callbacks) to throw exceptions in error conditions 2011-06-21 21:14:16 +00:00
Ralf Becker
84713fbab3 give all delete actions DEL key as shortcut 2011-06-21 08:27:54 +00:00
Andreas Stöckel
0991eed64a Added shortcut as valid action property 2011-06-19 10:53:52 +00:00
Ralf Becker
65a8e4e8d3 fixed some printing stuff in calendar, printing in listview is disabled, because it is NOT working atm. 2011-06-17 15:16:40 +00:00
Ralf Becker
6cf426d465 added a mime-type filter 2011-06-17 14:07:51 +00:00
Ralf Becker
d13b605db8 uncomment testwise commented allowens for admins to export more then the export limit 2011-06-17 13:35:00 +00:00
Ralf Becker
81b78a8e65 fixed not working standard document with absolute path 2011-06-17 13:08:10 +00:00
Andreas Stöckel
f3ccd96f03 Grid and nextmatch aoi now reset the input element focus once a row is clicked 2011-06-16 20:43:33 +00:00
Nathan Gray
0514391fde Show time values in user time 2011-06-16 15:14:14 +00:00
Ralf Becker
8e7c73dd84 some fixes for English and Suomi translation, from our Suomi resident here as Stylite 2011-06-16 13:01:29 +00:00
Ralf Becker
b367a7929e translation of now export limit messages for merge-print 2011-06-16 12:26:32 +00:00
Ralf Becker
92ddeca1fb - fail with error message, if user trys to export more entries then allowed (previously entries were silently cut down to allowed number, even 0!)
- fixed path of document-actions if more then one directory with subdirectories were given
2011-06-16 11:36:15 +00:00
Andreas Stöckel
509ff8aa53 Flagging next-match widget container as default-focus object 2011-06-15 20:50:24 +00:00
Ralf Becker
0238118906 new preference about how to select additional lines in lists 2011-06-15 15:50:16 +00:00
Andreas Stöckel
7f9db3701b Commited code for nextmatchRowAOI to support the new EGW_SELECTMODE_TOGGLE 2011-06-15 15:49:05 +00:00
Ralf Becker
1774e5674f support for multiple space or comma separated download dirs 2011-06-14 10:48:15 +00:00
Ralf Becker
e50565ccb4 allow multiple space or comma separated template directories 2011-06-14 08:54:42 +00:00
Andreas Stöckel
8cfae5bd16 Including JS-file for keyboard navigation 2011-06-12 16:43:43 +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
e59b50e7fb If etemplate_exec_id is lost, pass along any GET parameters with redirect 2011-06-09 16:47:40 +00:00
Nathan Gray
ec56327c20 If action specifies target for location, use it 2011-06-06 20:22:49 +00:00
Ralf Becker
476a0c0a6d remove leading whitespace from caption used as confirmation message 2011-06-03 18:45:40 +00:00
Andreas Stöckel
bb8a28b6d7 Fixed typo in select handler assignment 2011-06-03 11:26:12 +00:00
Andreas Stöckel
6c1e8e0d06 Made selection on mobile devices work with touchend and not click (not final) 2011-06-02 22:50:35 +00:00
Ralf Becker
3bbc6a6962 - egw_open nm_action using new clientside link registry
- enabling/disabling actions based on row-id matching a regular expression
- children/submenus inherit 'url','popup','nm_action','onExecute','type','egw_open' attributes
2011-06-02 20:03:34 +00:00
Andreas Stöckel
4cb37be5d3 Implemented usage of global action manager and object manager for nextmatch widget 2011-06-02 14:49:56 +00:00
Nathan Gray
30bef48900 Fix hierarchical category action 2011-06-01 16:23:04 +00:00
Ralf Becker
c9fbcc329e if no confirm_msg given, use caption instead for select_all confirmation 2011-06-01 11:30:08 +00:00
Ralf Becker
4d2cf32f9a missed dragType in egw_action_supported attributes 2011-05-31 20:42:34 +00:00
Ralf Becker
5eca546898 some enhancements for the felamimail context menu 2011-05-31 19:49:19 +00:00
Ralf Becker
b64a0de528 allow to specify "none" in popup size for no popup AND no link target, to allow dial scripts to use status "204 No Content" 2011-05-30 14:59:40 +00:00
Ralf Becker
a147a9a4a8 fixed not working category color of rows (calendar, addressbook) 2011-05-30 11:08:37 +00:00
Ralf Becker
2e95210154 load new row selection / egw_actions system for all nextmatch lists, not only ones defining actions / context menus 2011-05-27 10:28:30 +00:00
Ralf Becker
678efd6ced switch to tab with customfield widget (empty name for call cfs), if validation error is for a cf (name prefixed with #), if no tab found add validation message to $content[msg] as a last resort to make it more visible to the user 2011-05-18 14:23:23 +00:00
Ralf Becker
1053267a96 fixed an "htmlspecialchars 1. param should be string, array given" error 2011-05-18 14:21:02 +00:00
Ralf Becker
3b90f44c89 got select entry custom fields honor required flag and select entry widget show required input with inputRequired css class 2011-05-18 10:23:39 +00:00
Nathan Gray
c93de715bc Clear action in case there's another one, prevents doubling 2011-05-17 19:13:55 +00:00
Klaus Leithoff
3ee6fba705 fix error on saving addressbook items with new link-widget customfields; error_log stuff (disabled) 2011-05-17 11:50:06 +00:00
Klaus Leithoff
64c798cda4 show raw selectvalue, if we are not able to show the corresponding selection entry 2011-05-17 11:46:56 +00:00
Klaus Leithoff
dcb5a86aca fix for bug #1631 on Stylite tracker: no browsing/navigation in egws popup filenavigation used for image browsing for CK-Editor. 2011-05-16 07:46:27 +00:00
Klaus Leithoff
46bd49e810 handle arrays as value, that are passed down for customfield links 2011-05-12 14:44:09 +00:00
Klaus Leithoff
064490bfef fix typo that prevented the referencing of sub elements in get_array in some cases 2011-05-12 12:03:55 +00:00
Klaus Leithoff
11411abef5 fix for 'cf_link_fields do not create link on inital save' in calendar: reason no id passed when called tracking for new events 2011-05-11 15:09:16 +00:00
Ralf Becker
fe6a0e906c automatic create and update links for custom fields linking to applicaton entries 2011-05-07 15:32:51 +00:00
Ralf Becker
0ced6fcf51 - storing etemplate form name and variable prefix into egw_actionManager to be able to work on a 2. eTemplate on a page (InfoLog in Addressbook view)
- moving (open|hide|submit)_popup used in InfoLog and Tracker to etemplate, so code can be shared
  --> change 'onExecute' => 'javaScript:open_popup' to 'nm_action' => 'open_popup' and onclick="(hide|submit)_popup()" to onclick="nm_(hide|submit)_popup()"
2011-05-07 08:47:58 +00:00
Ralf Becker
366aa7c05a - allow to specify to use selectbox, instead of category selection for category
- allow to specify name of action (infolog already uses 'action')
2011-05-06 18:10:50 +00:00
Ralf Becker
b52b7acf8a values are NOT yet used on client side, but give warnings if array are not converted to strings 2011-05-05 07:31:04 +00:00
Ralf Becker
e1783ea0f7 values are NOT yet used on client side, but give warnings if array are not converted to strings 2011-05-05 07:30:30 +00:00
Ralf Becker
beb6f20790 sort attributes, to stop xet files from changing because of changed attribute order 2011-05-05 06:51:40 +00:00
Ralf Becker
1e8de99ed7 Move initialisation for egw_actions stuff into static method of nextmatch_widget, it get called now from:
- etemplate::show_grid() 
- addressbook_ui::view() to load JS stuff before header get generated
2011-05-02 13:34:59 +00:00
Ralf Becker
dfd160f11b - automatic switch to hierarchical display, if more then $max_cats_flat=14 cats found
- add category icons
2011-05-01 09:11:45 +00:00
Ralf Becker
ce4543785c setting default to 14 2011-04-30 08:21:19 +00:00
Ralf Becker
4f65e182e1 automatic pagination of long context submenus, eg. categories 2011-04-30 08:17:14 +00:00
Ralf Becker
60edb83929 enable via a class and no more need to set enabled='javascript:nm...' for enableClass or disableClass 2011-04-27 16:54:35 +00:00
Ralf Becker
fb5ea143be - returning checked state of all checkboxes, not only select_all, in $content[nm][checkboxes]
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
2011-04-27 07:49:46 +00:00
Ralf Becker
dc88e0c190 - automatic creation of action_links (enabled actions and ones which need to be checked if enabled) by using all first level actions plus the ones with enabled set to 'javaScript:...'
- a bit of docu about the actions system usable through nextmatch widget
--> addressbook disables now "remove from distirbution list" and "delete selected distribution list", if no distribution list is selected
2011-04-26 19:50:03 +00:00
Ralf Becker
98a2731116 - fixed not working add or remove category method from context menu
- disabling actions not available, because of missing rights
- trying to disable "remove from distribution list" and "delete distribution list", when no list is selected
  --> not yet working
2011-04-25 14:13:40 +00:00
Ralf Becker
2ccc4465e5 for select-all, show regular confirmation message plus select-all hint 2011-04-25 12:15:05 +00:00
Ralf Becker
e474b0f0d4 - insert in document action:
+ one submenu with default document (if set) on top
  + if more then 9 documents, show them in submenus by mime type
- added copy address as second point to add submenu, beside new
- icons for move to addressbook
- fixed icons for org views
--> addressbook context menu should now be fully functional - let me know if not ;-)
2011-04-25 11:30:37 +00:00
Ralf Becker
40c4477b23 finetuning history log display for custom fields 2011-04-19 18:50:23 +00:00
Ralf Becker
7705b25ece history log widget "knows" now about custom fields and bo_tracking optionally initialises them too 2011-04-19 15:00:49 +00:00
Ralf Becker
33bbd3465d - fixed bug in timesheet, success/error message of set category or status was not shown
- using now a single (default) action Open, which opens a timesheet to edit or view depending on rights
- added phrases "Open" and "Whole query" to API/common, as they are used in many apps
2011-04-19 09:44:25 +00:00
Ralf Becker
a88288abd4 fixed not working confirmation, after whole-query was selected and deselected (can not insert false in hidden input) 2011-04-17 21:17:47 +00:00
Ralf Becker
bb0e8617b2 enable/disable edit and delete action, based on ACL rights, set as css classes to each row 2011-04-17 20:45:21 +00:00
Ralf Becker
6081a5749d timesheet context menus are now complete:
- query all is moved into context menu
- legacy support only contains button to trigger context menu
- moved some common phrases into the API:
  + Delete this entry
  + Delete these entries
  + You need to select some entries first!
- support for singular and plural confirmation messages
2011-04-17 18:53:45 +00:00
Andreas Stöckel
5e014cdfe2 Fixed problem with commiting forms in Firefox 2011-04-17 16:53:24 +00:00
Ralf Becker
752cd7249f replacing now $id in url with actual id, not longer adding it if url ends with = 2011-04-17 09:52:54 +00:00
Ralf Becker
dfeedf64c5 make prefix for documents a parameter and properly decode file names 2011-04-17 08:42:07 +00:00
Ralf Becker
8ad99593bd not updated template 2011-04-17 06:25:07 +00:00
Ralf Becker
806d3d604c added context menu for nextmatch widget: first implemenation in timesheet
- legacy actions column and multiple action row below table is switched off by default, but can be switched on again
- legacy action button is NOT yet working
- "whole query" checkbox need to go into context menu too
2011-04-16 21:45:13 +00:00
Ralf Becker
f9444ae1cd added "decimal" to nummeric types, to fix PostgreSQL error (bug #2105) 2011-04-10 15:12:43 +00:00
Christian Binder
a1b44f8df7 projectmanager: added a moreOptions dropdown list to the link add widget in elements view to be able to assign eRoles to added elements quick; added a preference to give a downloaded merge document a default name 2011-04-08 19:32:17 +00:00
Nathan Gray
eb337b7dec Don't throw an exception, just leave the cells as text and log it. 2011-04-06 20:57:40 +00:00
Nathan Gray
1d41d567a0 Iteratively increase backtrack limit to try to handle preg_replace limitations on larger files 2011-04-06 20:45:14 +00:00
Andreas Stöckel
7de4a37624 Added new style and images for links 2011-04-01 12:48:24 +00:00
Nathan Gray
64cf625403 Avoid weird problem with account_id & preg_replace clearing content 2011-03-31 18:13:46 +00:00
Ralf Becker
c801bdf99e identical lettersearch for etemplate and admin via central css file 2011-03-30 08:18:06 +00:00
Nathan Gray
9056a41ebf Fix autodetection of numeric fields 2011-03-29 17:46:07 +00:00
Nathan Gray
3e1f3f9df8 Allow app to provide an export definition, used if preference can't be found 2011-03-29 14:51:26 +00:00
Nathan Gray
c714b06848 Add custom field type 'Float'.
It understands options precision, min & max, so for example:
precision=2
max=20
2011-03-28 22:43:39 +00:00
Nathan Gray
9b072a81a7 Command processing needs to do escaping for XML too 2011-03-28 20:36:15 +00:00
Ralf Becker
b5c3c90260 activated new table style and row selection for etemplate, not yet with contect menus 2011-03-27 16:14:08 +00:00
Ralf Becker
272282e573 remove stupid (0) from phone numbers written as "+49 (0) 123 1234567" 2011-03-26 15:57:24 +00:00
Andreas Stöckel
4119c06da0 Removed temporarily added focused/selected styles as they are now part of the default css 2011-03-25 14:27:32 +00:00
Nathan Gray
c2f1340075 Give CSV export definition preference priority over app settings 2011-03-24 14:45:12 +00:00
Andreas Stöckel
4b380ca119 Improved nextmatch row aoi and added AJAX-actions for createdir and symlink to filemanager_ui 2011-03-23 20:07:07 +00:00
Andreas Stöckel
20b769678f Updated aoi code, prevented unwanted browser selection, row is only selectable when a checkbox is found 2011-03-22 19:55:57 +00:00
Andreas Stöckel
f6d0edbdc1 Added basic support for the egw_action framework in the nextmatch widget (currently not active) 2011-03-22 17:06:02 +00:00
Nathan Gray
e13ef7c892 Get automatic number formatting working for Excel 2003 xml files 2011-03-21 14:53:41 +00:00
Ralf Becker
778d03772a fixed typo CAPABILITY_CAST_AS_VA(R)CHAR 2011-03-20 12:49:22 +00:00
Ralf Becker
c492c57e2f * Addressbook: fixed PostgeSQL error when searching or showing accounts 2011-03-20 12:37:22 +00:00
Ralf Becker
6c05070aa0 fixed warning: implode(): Invalid arguments passed in /var/www/epl-trunk/etemplate/inc/class.bo_merge.inc.php on line 569 2011-03-18 15:14:55 +00:00
Nathan Gray
62a856b1c9 Force . as decimal separator for OO.o spreadsheet 2011-03-15 15:31:21 +00:00
Nathan Gray
fe18d21f4b Export limit does not apply to admins 2011-03-15 15:13:46 +00:00
Nathan Gray
4831a34ffa Add ability for extending class to specify its own numeric fields 2011-03-14 22:06:23 +00:00
Nathan Gray
dffb0b87dd Fix linefeed for NELF + application/xml mimetype 2011-03-10 17:23:28 +00:00
Nathan Gray
22b4e56958 Add a LF for excel 2003 2011-03-10 16:50:40 +00:00
Ralf Becker
f05b7dd43e stop filling up the logs with: explode() expects parameter 2 to be string 2011-03-10 13:08:29 +00:00
Nathan Gray
165628efc5 Correctly change style if element has more than one class 2011-03-08 23:49:30 +00:00
Nathan Gray
c2c42cfa92 Use text:line-break, no guarantee that there will be a span 2011-03-03 18:22:49 +00:00
Ralf Becker
4cce629666 * fixed handling of + char in VFS filenames (using egw_vfs::decodePath() instead of urldecode()) 2011-03-03 15:41:01 +00:00
Nathan Gray
57fa8b5504 Automagically detect & set type for numbers when merging into a OO.o calc spreadsheet 2011-03-03 00:15:27 +00:00
Nathan Gray
e81802d0cd Promote number_format() to base class so it's available for all extending classes 2011-02-28 20:31:56 +00:00
Nathan Gray
830fcad2f6 Fix commands for table repeats 2011-02-28 19:16:58 +00:00
Nathan Gray
20d6378bd2 Change importexport exporting to be able to pass a definition 2011-02-28 18:10:18 +00:00
Nathan Gray
2e5144b5a2 Add permission check before using importexport for export 2011-02-28 17:35:18 +00:00
Nathan Gray
36ac740a5c * Nextmatch widget can use Import/Export definitions for exporting, if the app has the preference nextmatch-export-definition set to the name of the definition to use. 2011-02-28 17:32:32 +00:00
Nathan Gray
d6aa239e62 Make merge respect export limit 2011-02-24 00:08:12 +00:00
Nathan Gray
e100e423d8 Move special flags IF, NELF, etc to function so they can be used in a table 2011-02-23 21:01:37 +00:00
Stefan Becker
a8cc0801ec add German translation and fixed some typos 2011-02-23 13:13:01 +00:00
Nathan Gray
96dd9d46c2 Include main category even if no sub-cats are selected 2011-02-22 20:14:35 +00:00
Nathan Gray
03d3b5c36b Add common function to get list of supported extensions 2011-02-22 19:46:09 +00:00
Andreas Stöckel
6d2179889c Fixed stylite bug #1291, mime type icons were to large. Fix does not work with IE <=6 2011-02-21 18:59:58 +00:00
Andreas Stöckel
43e4fa2c3c Updated the thumbnail generator to use the egw_cache_file class to generate a temp filename 2011-02-21 18:37:45 +00:00
Nathan Gray
99df873aa3 - Add setting to select-cat to display missing IDs as Missing: #
- Use select-cat setting in historylog widget to display something for deleted categories
2011-02-18 18:27:01 +00:00
Nathan Gray
dfa96ca0a6 List each sub-cat separately 2011-02-18 15:04:40 +00:00
Nathan Gray
d846176c9f Include path for sub-categories 2011-02-17 16:40:57 +00:00
Nathan Gray
1ef649b869 Fix for display of multi-row read-only select-account widget 2011-02-16 18:22:42 +00:00
Nathan Gray
3980ba3692 Correct category formatting 2011-02-16 17:56:00 +00:00
Nathan Gray
0c97c3bd10 Add extra placeholder 'categories' for expanded categories with path 2011-02-16 17:47:31 +00:00
Christian Binder
c8d92bc7ca some type checks to avoid php warnings 2011-02-09 20:11:17 +00:00
Christian Binder
31a8c3b51c implemented table plugin for eroles - added bo class for eroles and moved corresponding methods from so to bo 2011-02-07 11:08:08 +00:00
Nathan Gray
23645c7b9f Shrink icon to 16x16 pixels to match others 2011-02-04 20:05:23 +00:00
Nathan Gray
aad884a3aa Add a common method get_documents() to fetch a list of documents from a given directory so we don't keep copying it. 2011-02-04 20:04:17 +00:00
Oscar Manuel Gómez Senovilla
28d2b6b072 Update for translations in trunk 2011-01-30 12:53:49 +00:00
Christian Binder
407f7c9440 moved eroles specific code from parent merge class to projectmanager merge class 2011-01-27 17:08:40 +00:00
Nathan Gray
ec4ef57ed0 Add common merge icon for anything using bo_merge 2011-01-26 20:12:41 +00:00
Nathan Gray
939052437d Fix escaping of double quotes 2011-01-24 16:43:15 +00:00
Christian Binder
b6b7e7bd84 moved erole widget from global class to app-specific class 2011-01-22 17:02:31 +00:00
Christian Binder
0670e247e9 changed retrieving of pm_id and pe_id to etemplate_request::read() (thanks Ralf) - added tiny method to check for global eroles - prevent displaying global eroles in etemplate editor 2011-01-19 16:36:13 +00:00
Nathan Gray
5301af7a82 Use custom label as label, if it's not just a number 2011-01-18 15:55:42 +00:00
Klaus Leithoff
85ec9e5a53 fix problem with assumedly broken ZipArchives with OpenOffice Documents used with ZipArchive on SLES11; try opening the archive anyway, even if the onening with CHECKCONS failes. Report that to error_log, and try to proceed before failing fataly 2011-01-13 10:57:20 +00:00
Nathan Gray
91a5f43670 Updated file from Randy Houlahan
- Updates for JS code changes
- Change in file name handling - looks for lower case now
2011-01-10 15:44:32 +00:00
Christian Binder
b80eaab81f initial implementation of merge class and element roles for projectmanager - projectmanager fields are not yet supported but will be implemented later. This feature is sponsored by www.inspectionsunlimited.com. 2011-01-08 16:04:44 +00:00
Nathan Gray
e2d54119dd - Fix infinite loop bug if you use 'OR' in search
- Use case-insensitive LIKE from db capabilities
2011-01-07 21:13:40 +00:00
Christian Binder
52133ffd54 fixed typo (did not validate but should be a typo) 2011-01-07 13:57:58 +00:00
Andreas Stöckel
4b93e5c0c5 Accidently set the thumbnail size to 16 in every vfs-mime widget. Added new option to the vfs-mime widget which allows you to set the thumbnail size. 2010-12-31 14:31:50 +00:00
Andreas Stöckel
2a71bab988 Fixed parts of EGW Stylite Bug #8260. Very wide images do not longer get displayed very broadly in the filemanager select widget.
To achive this, some changes to the CSS were made and the ability to return thumbnails with a given size was added to etemplate/thumbnail.php. Miniature images with dimensions smaller than one pixel are now no longer created.
In this progress I discovered a minor security issue which might cause multiple egroupware instances to mix up their thumbnails in rare occasions. This was fixed by now hashing the image path together with the webserver url and the thumbnail size. In this progress, the thumbnail generation code has been restructured, making it faster and much easier to understand.
2010-12-30 19:54:43 +00:00
Nathan Gray
726798c8cb Fix order, escape quotes first or the field delimiters get doubled 2010-12-17 16:59:02 +00:00
Nathan Gray
855c601f98 Escape double quotes 2010-12-17 16:45:57 +00:00
Klaus Leithoff
e3ee0b34fd * CSV Export: Replace CRLF with LF so excel does not break lines early (myStylite#974) 2010-12-16 15:07:19 +00:00
Klaus Leithoff
cc1310b6de Addressbook / Merge functions: remove error logging 2010-12-15 12:06:53 +00:00
Klaus Leithoff
f42b5cdbe9 * Addressbook / Merge functions: allow pagerepeat for merge in text/plain mimetypes/documents 2010-12-15 10:50:29 +00:00
Ralf Becker
92ebc10cef give current value higher priority then $value[default_sel] when determining $app 2010-11-12 08:17:30 +00:00
Ralf Becker
43d2411ba1 fixing some warnings 2010-11-10 08:26:41 +00:00
Hans-Jürgen Tappe
33a0f786bd - Add hint on how to revert changes / reset an eTemplate change as discussed on
the developer's list.
- Fix typos
- Add a reference from the reference.html to the now existing etemplate
  documentation.
2010-11-07 13:25:00 +00:00
Ralf Becker
5cd2b962ea split merge taking a path as argument in second method merge_string taking the document as string 2010-10-27 09:34:42 +00:00
Ralf Becker
5efac64eff fixed wrong parameter type warning 2010-10-26 13:29:09 +00:00
Ralf Becker
af7a24eb9a framework->navbar() now automatically calls framework->header(), this way navbar or sidebox can include JS or CSS, because header is called after 2010-10-18 10:46:47 +00:00
Ralf Becker
0dd58b36cf quiten warning if $cell[size] is an array 2010-10-12 07:48:35 +00:00
Klaus Leithoff
e4ef70dd02 dont try to translate text from textfields when in listview 2010-10-04 11:50:37 +00:00
Nathan Gray
9f6c1c1994 Add a parameter to allow an extra 'Custom' country option when using 2 letter codes 2010-09-28 20:53:00 +00:00
Nathan Gray
272d30c3a7 Add parameter 'show_deleted' to include 'deleted' links waiting for purge 2010-09-27 16:29:50 +00:00
Ralf Becker
d29205529b removed use of PHP 5.3 deprecated eregi 2010-09-17 19:32:11 +00:00
Ralf Becker
201f0d33e3 also quote quotes in variables surounded by curly brackets, eg. '{[nm][path]}' 2010-09-14 16:33:33 +00:00
Ralf Becker
50c43deec9 updating verson to 1.8 2010-09-05 15:24:34 +00:00
Ralf Becker
3c58ef8473 fixed historylog widget shows "unknow type" for selectboxes with explicit options containing key 0 2010-08-27 16:11:02 +00:00
Oscar Manuel Gómez Senovilla
65f1702caa Tracker #2657 2010-08-25 16:23:17 +00:00
Oscar Manuel Gómez Senovilla
2f0df89b4f Tracker #2703 2010-08-25 16:14:29 +00:00
Ralf Becker
ea97fc438f using utf-8 encoding for html merge-print 2010-08-23 12:03:03 +00:00
Ralf Becker
3835e9acbc reverted r31570/7: using label as blur text, as label is already used (as label), using blur text field now, no idea why I didnt used it in the first place ;-) 2010-08-16 07:28:58 +00:00
Ralf Becker
f156301f25 fixed wrongly display blur text for value "0" 2010-08-12 18:03:03 +00:00
Ralf Becker
5a03cff75d set span & class from original cell for single fields 2010-08-05 15:36:23 +00:00
Ralf Becker
bb468774f7 quitened warning 2010-08-01 12:47:26 +00:00
Ralf Becker
a1c9f68a1e remove not used advanced-search-widget 2010-08-01 10:02:04 +00:00
Hans-Jürgen Tappe
c6a4c40934 Fix HTML code in etemplate documentation:
- Close 'li' tags
- Close 'lt' tags by 'gt' tags
- Convert ampersands to 'amp' tags.
2010-07-31 07:03:15 +00:00
Ralf Becker
3dc949d08e display readonly link-entry widgets as links to the linked entry 2010-07-30 15:27:51 +00:00
Ralf Becker
4fc00c03ae forgot to translate the label 2010-07-30 14:02:19 +00:00
Ralf Becker
55463e493b displaying label of link-entry widget as blur text 2010-07-30 08:36:41 +00:00
Klaus Leithoff
72610fb3ad allow minus and underscore in validation as part of the LocalPart of the eMailaddress; even directly in front of the @ sign 2010-07-23 12:10:52 +00:00
Ralf Becker
b9bfd285a5 fixed not working checkboxes after r31472 2010-07-22 13:09:33 +00:00
Ralf Becker
f597385a9c fixed caching of etemplates:
- never read timestamp of last import from cache
- check timestamps only once per session and app
2010-07-21 13:50:29 +00:00
Ralf Becker
4da973400c allow and validate needed (required) attribute for file uploads, checkboxes and radio buttons 2010-07-21 08:21:42 +00:00
Ralf Becker
4ad95007b5 using call_user_func instead of depricated call_user_method, which seems at least under PHP5.3 not to allow static calls 2010-07-20 14:34:20 +00:00
Ralf Becker
b5f35a4b75 validating (string) === '' (instead === ''), as on ajax commit no yet set inputs are returned as null instead of '' 2010-07-13 20:47:25 +00:00
Nathan Gray
48ba641cb3 Avoid conflicts with other objects that have ->db defined by using the global db 2010-07-13 14:22:14 +00:00
Klaus Leithoff
b78a9865cc explicitly process fields to order by, as cutomfields may have names with spaces, so we examine each order by criteria, as our preg did not do the job properly 2010-07-08 11:37:56 +00:00
Klaus Leithoff
82e8bdbd9e allow for like wildcard.val.wildcard in filtersearch for customfields (needed for advanced search, as criteria are now remapped to be filters for customfields) 2010-07-07 14:11:33 +00:00
Klaus Leithoff
07930ecd58 fix advanced search for customfields (multiple field criteria, combined by AND) in addressbook 2010-07-07 11:38:52 +00:00
Ralf Becker
c1fa529fc8 new optional parameter "extra_args" for link widget, to add further get parameters to the link 2010-07-07 10:10:23 +00:00
Klaus Leithoff
c8abf9eacc fix a problem with content validation; was returned as array 2010-06-28 14:09:59 +00:00
Ralf Becker
30ce2262dd if search pattern alread contains a wildcard, do NOT add further ones automatic (eg. in extended search in addressbook) 2010-06-25 07:11:39 +00:00
Nathan Gray
97cdb61ea5 Fix for searching with custom fields in 2010-06-18 11:15:35 +00:00
Jörg Lehrke
a4b36620dd Fix excess of maximum column length issue 2010-06-18 09:33:57 +00:00
Ralf Becker
88ebb437c2 methods to set or get all body tags or javascript files, replacing direct access to variables of old javascript class 2010-06-15 16:08:10 +00:00
Ralf Becker
8c913bb95a correct validation errors, if no file selected or file could not be attached 2010-06-14 20:17:55 +00:00
Nathan Gray
e37b4807c2 Fix searching for a given custom field value using criteria parameter 2010-06-14 10:18:23 +00:00
Ralf Becker
401d9dcf21 removed now global available array_stripslashes 2010-06-11 10:39:59 +00:00
Ralf Becker
58ce706d2c Use json_encode() instead of removed convert_phparray_jsarray() 2010-06-10 14:41:05 +00:00
Ralf Becker
8b49db5a57 new framework method to return javascript to call manual 2010-06-07 22:06:35 +00:00
Ralf Becker
f80f79a98a removing unnecessary diagnostics 2010-05-30 11:19:50 +00:00
Klaus Leithoff
3d99f3e9b3 if is not a string but 0, the comparsion == ->autoinc_id is true, which leads to an SQL Query error, if an extra column is used in sorting/filtering together with the lettersearch 2010-05-28 11:08:36 +00:00
Ralf Becker
579cf86bbc fix for bug #2624: SQL error - CONCAT not supported by postgres 2010-05-26 15:44:09 +00:00
Nathan Gray
2760915be4 Always understand english search operators 2010-05-25 19:04:40 +00:00
Ralf Becker
b43a3843d2 fixing bug #2609: Saving attached files to the filemanager doesn't work 2010-05-25 13:17:46 +00:00
Stefan Becker
50af95793b add German translations 2010-05-21 10:35:43 +00:00
Ralf Becker
04601a486e "understand run_lang for settings, to NOT return already translated phrases with replaced placeholders" 2010-05-21 07:21:30 +00:00
Ralf Becker
6799864392 fixed wrong language in notifications 2010-05-20 19:32:52 +00:00
Ralf Becker
a3a3fa1671 "new feature to explicitly set an id for widgets: prefix name with a hash --> id is the name without the hash, and NOT the form_name as before
Should not create any backward compatibilty issues - fingers crossed ;-)"
2010-05-20 09:06:53 +00:00
Klaus Leithoff
0070aaec57 translation provided by mkk 2010-05-20 08:07:01 +00:00
Klaus Leithoff
885b18d8e6 translation provided by mkk 2010-05-20 08:07:00 +00:00
Ralf Becker
3a1412d8fe "fixed warning: explode expects 2. parameter to be string, array given" 2010-05-15 13:44:42 +00:00
Ralf Becker
71a7c20326 "fix for bug #2588 and #2592: links/popups in resources are not working
--> seems to be an aftermath of the new quoting
Thanks to Yudhi Kusnanto for a patch"
2010-05-12 19:17:01 +00:00
Ralf Becker
55f5a80a5e refining regular expressesion for PHP variables (replies[$row][reply_message] returned more then $row) and removed quoting from submitit call in button, as quotes in vars get quoted double 2010-05-12 07:50:13 +00:00
Ralf Becker
dbf8a15b55 "disable permanent error_log" 2010-05-11 18:12:55 +00:00
Ralf Becker
fd56fb27c3 Correct quoting of special chars in vfs:
- # has special meaning in url and is intern always urlencoded as %23
- ? has special meaning in url and is intern always urlencoded as %3F
- % need to be urlencoded as %25, as it's the escape char in urlencoding
  (it has not been stored urlencoded in sqlfs so far, there's some
   workaround in filemanger_ui to deal with the old unencoded % chars)
- space and + are NOT urlencoded in sqlfs in the DB, they get urlencoded
  only for download urls
- " get urlencoded for download urls only as it messes up the html
  markup
--> Filenames get urldecoded, before displayed to user
- done manually eg. in messages
- done automatically in new vfs-name widget (both ways)
2010-05-11 15:02:30 +00:00
Ralf Becker
2d0c33bb90 Some more quoting (and unquoting) of quotes in variable used eg. as
button names: eg. "delete[$row_cont[path]]" with path containing " or '
- they need to get quoted for correct html markup
- etemplate_request::set_to_process() need to use unquoted version, as
  this is how it get returned in $_POST
2010-05-11 14:52:45 +00:00
Ralf Becker
290c23f9c6 Fixed not working [CSS Styles] button in editor, no idea why and when it
stoped working ...
2010-05-11 12:17:01 +00:00
Ralf Becker
db23b1d746 - correctly quote single and double quotes in html element id's
- correctly quote quotes in parameters of javascript functions used
  eg. as eventhandlers, eg. onchange="do_something('$cont[name]');"
  --> if $cont[name] is an array: do_something([ 'val1', 'val2' ]) is used
- correctly quote & in get parameters of url's
2010-05-09 14:06:35 +00:00
Ralf Becker
4ecc2c0360 "allowing (at least) German umlauts in domain names" 2010-05-06 08:02:32 +00:00
Ralf Becker
5bda513fd7 Mailing files directly from filemanager 2010-05-06 06:53:52 +00:00
Klaus Leithoff
ed040955bb prevent foreach warning, when & is not an array 2010-04-27 10:37:50 +00:00
Nathan Gray
f47cced6ed Fix for Postgres DB error loading eTemplate from Yudhi Kusnanto 2010-04-25 23:47:16 +00:00
Jörg Lehrke
334a8c6fc3 Fix addressbook_bo::find_contact() 2010-04-21 17:41:34 +00:00
Nathan Gray
6c3ba68ca1 If only_keys is true, expand it in so_sql_cf so the table_name can be prepended. Fixes last part of #2543, adding link when importing mail to infolog 2010-04-21 15:40:58 +00:00
Klaus Leithoff
69da1000b2 if only keys is passed to search return only the DISTINCT result-set (was not implemented when only_keys where passed as array) 2010-04-21 12:14:04 +00:00
Klaus Leithoff
7a4f191fb3 fix to provide (return) data even if a shortname is used as column name 2010-04-20 13:58:01 +00:00
Ralf Becker
423dbbc567 "an other fix: if there's already an explicit named column, just use that name" 2010-04-20 08:12:22 +00:00
Ralf Becker
765a1d5c09 "fixed not returned (explicitly given) columns: you need to use $table.'.'.$col.' AS '.$col, without AS column get NOT returned as name is different" 2010-04-20 07:39:23 +00:00
Klaus Leithoff
a9fd21325d fixing a bug, when trying to sanitize possible ambiguous columns 2010-04-16 10:35:09 +00:00
Nathan Gray
2aed9e476f Fix copy/paste error to get address merging working 2010-04-15 14:56:37 +00:00
Klaus Leithoff
00ba3606de translations provided by mkk 2010-04-13 15:03:57 +00:00
Klaus Leithoff
5b3c05a616 translations provided by mkk 2010-04-12 11:21:49 +00:00
Klaus Leithoff
1ec94a70fe set cat_app with value from get_row (, if not set) to ensure the cats of the template/listview in question are to be loaded 2010-04-12 07:23:21 +00:00
Nathan Gray
549626cbf9 Add some extra handling for potentially ambiguous columns in 2010-04-08 22:13:22 +00:00
Nathan Gray
215da11fae Add some extra handling for ambiguous columns 2010-04-08 20:21:40 +00:00
Nathan Gray
79dfab8005 Custom field widget can be limited to (or exclude) certain fields. Put the list of fieldnames to display as the 3rd (4th, etc) option. Using a ! as the first character will negate the list, and exclude the named fields. 2010-04-07 17:00:09 +00:00
Nathan Gray
97727d41ce Fix filtering on a multi-select custom field. Any entry with the filter value will be included. 2010-04-07 16:06:01 +00:00
Ralf Becker
f2e9a38ff4 "fixed ambiguous column sql-error by adding table-name to id over which we join" 2010-04-04 09:08:25 +00:00
Ralf Becker
a45ea03b19 "fixed ambiguous column sql-error by adding table-name to id over which we join" 2010-04-04 08:59:37 +00:00
Nathan Gray
5e23cfb764 Working on searching...
- Check default column names to avoid DB errors
- Prefix default column names with table name to avoid ambiguity
- Handle single words in quotes
2010-04-01 20:48:16 +00:00
Nathan Gray
93cf9c2e84 Don't need to pass ->extra_value, search2criteria() will take care of it 2010-04-01 20:20:08 +00:00
Nathan Gray
4b134dfc9e Extra column check needs to be escaped 2010-04-01 20:19:28 +00:00
Nathan Gray
fa6c1d4a9c Need to set numeric types to check 2010-04-01 20:07:01 +00:00
Nathan Gray
d22773d04d Add extra search functionality to custom fields. 2010-04-01 19:59:50 +00:00
Nathan Gray
3d8fca332b More sensible handling of numeric columns:
- If app doesn't specify columns to search, all columns except numerics with '_id', 'modified', 'modifier', 'status', 'cat_id', 'owner' will be considered
- Numeric columns will be searched only if the search string contains a numeric token.  'maintenance 50' is ok to search for, but for numeric columns only 50 will be searched.  
- Numeric columns are searched using equality, unless user puts in a wildcard.  Searching for 50 will only match 50, not 150 or 1950/04/10, but *50 will match 150.
- Text columns are searched using LIKE, including numeric search terms, as before.
2010-04-01 17:03:51 +00:00
Nathan Gray
cc0f8f3c28 An attempt to add more functionality to searching
- All words are trimmed
- Double quotes require the exact phrase ("Nathan Gray" will not match Nathan Brown or Gray Power)
- Modifiers + and - before a word will require or exclude the word (+test -fail), otherwise word is ORed
- User language modifiers AND, OR and NOT (uppercase) will be parsed.
- Combinations: tracker entry -testing -"fatal error"
Note that "entry" will not match "entries", and the results are not sorted by match strength.

All applications that use so_sql for searching should gain these benefits.
2010-03-31 21:29:11 +00:00
Ralf Becker
a858db5eb8 "for iPhone and Android: replace evtl. configured telephony integration link with tel: protocoll" 2010-03-28 13:33:40 +00:00
Ralf Becker
c60a1ad94d "for iPhone and Android: replace evtl. configured telephony integration link with tel: protocoll" 2010-03-28 13:27:30 +00:00
Ralf Becker
99a9132cd5 "fixed not working activation of tab with different prefix" 2010-03-23 19:34:40 +00:00
Ralf Becker
71960a6d02 Fixed some more php53 Warnings after latest fix_depricated.php
improvment.
2010-03-21 09:37:52 +00:00
Ralf Becker
4cc9586e39 xajax uses xml to transport the label, therefore we have to replace not only CR, LF (not allowed unencoded in Javascript strings) but also all utf-8 C0 and C1 plus CR and LF 2010-03-19 13:05:20 +00:00
Ralf Becker
6c7e9b0062 fixed regular expression to NOT "eat" 8 and , from merge print replacements 2010-03-16 13:38:20 +00:00
Klaus Leithoff
d9c39caf7e removing possible CR/LF from content for ajax search result javascript, as it breaks the options 2010-03-15 17:17:33 +00:00
Ralf Becker
bb580029c1 "fixed handling of linebreaks from text and rich text fields for xml based formats (Open Office and MS Office)" 2010-03-08 21:56:05 +00:00
Ralf Becker
3f8da06a9e "replace all control chars (C0+C1) but CR, LF and TAB (eg. vertical tabulators) with space as they are not allowed in xml" 2010-03-08 11:34:22 +00:00
Ralf Becker
83b60b81fc Fixed r29141: "Add a checkbox to allow user to prevent notification of
changes to a ticket", to NOT prevent history logging, if checked
2010-03-07 14:45:12 +00:00
Ralf Becker
3eb38935bb caching etemplates using egw_cache class on instance level (instead off old not egw_cached based code on request level), to ease the load on the db 2010-03-05 08:18:46 +00:00
Ralf Becker
0f2eceefb8 Preseed link title-cache for link-list and link-string widget
(Performance improvment, as all titles of an application get queried in
a single query and NOT once for every link)
2010-03-04 17:07:10 +00:00
Nathan Gray
4424d49c30 Handle case when ID is missing, happens the time after clearing the cf search 2010-02-22 22:46:17 +00:00
Nathan Gray
48886af55c Blur text can affect regular searches, not just array searches 2010-02-22 20:56:59 +00:00
Ralf Becker
3aa96a4a34 for xml: decode all entities, remove all non-decodable entities, remove all html tags and encode <, > and & as entities 2010-02-21 23:15:05 +00:00
Ralf Becker
ab598b8fcb fix for user changing the timezone while having an edit popup open (unfixed the timestamps would change by the differenz of the two timezones). This fix does eg. NOT fix history logging (depending on the entry read before saving it), so it is better to handle the situation in the UI code, thought this is better then not handling it at all 2010-02-17 00:55:43 +00:00
Ralf Becker
39666ba03b let link-entry display "appname: #id" for entries no link title is available (eg. because they got deleted), makes sense eg. for history logging 2010-02-16 23:23:24 +00:00
Nathan Gray
8d0c656df8 Javascript fix for ajax select widget on IE 2010-02-15 20:40:34 +00:00
Nathan Gray
42bd4d227c Upgrades to historylog_widget:
- Allow array for options of a 1:N record, as documented in bo_tracking
- Allow passing in a filter parameter, and pass it on to historylog->search
2010-02-12 18:34:33 +00:00
Klaus Leithoff
989bba917f you can not use egroupwares autoloading before the basic egroupware objects are included, so we implement array_stripslashes in thumbnail.php itself, as it seems to be the fast way when get_magic_quotes_gpc is enabled 2010-02-12 15:05:40 +00:00
Klaus Leithoff
3ac8b33231 move the ie dropdown menu hack to jsapi, make it an preference, so you can switch it off, if it does not work for you 2010-02-12 09:04:44 +00:00
Nathan Gray
9bf462d616 Add check for blur text left in 2010-02-09 18:07:53 +00:00
Nathan Gray
fc1328fae8 Fix path problem where js couldn't be found 2010-02-09 16:34:34 +00:00
Jörg Lehrke
b75f5f9828 Change default timezone for tracking->datetime() to server-time 2010-02-05 16:41:04 +00:00
Ralf Becker
bba515d2e2 added upload failed message also to vfs-upload widget 2010-02-05 04:09:17 +00:00
Ralf Becker
6fb9ae3a6d moved failed upload check from filemanager to etemplate and further improved it 2010-02-05 02:54:47 +00:00
Jörg Lehrke
75746226a4 Use egw_time for InfoLog, tracking backend and Tracker 2010-02-04 12:08:03 +00:00
Klaus Leithoff
807b72aa93 feature: resize etemplate popups, that they may fit into the window 2010-02-03 14:11:16 +00:00
Ralf Becker
958452ff95 Implementation of global categories limited to a certain group:
- from user perspectiv they are global cat like the existing ones
  (also comming in two flavors: global or for a certain app)
- admins can select to limit a global cat when they create it
--> all members of a given group have the cat as a global one
==> This does a silent modification of the categories table: 
global cats get changed from cat_owner=-1 to cat_owner=0 !!!
2010-01-31 03:36:01 +00:00
Ralf Becker
e73dcb2a27 fixed colorpicker (as not using current color) and added colorpicker widget to etemplate 2010-01-30 23:55:36 +00:00
Ralf Becker
25c29211f5 adapting for changed categories class 2010-01-30 23:54:08 +00:00
Ralf Becker
6b5976ba82 fixed not displayed custom field type "link-entry" 2010-01-24 00:03:41 +00:00
Hans-Jürgen Tappe
4a709b2024 Fix typo. 2010-01-22 21:18:45 +00:00
Nathan Gray
7c72754631 If an option is null, don't keep it because it may get turned to an empty array. 2010-01-15 16:10:55 +00:00
Ralf Becker
369161d91f allow to use \n in confirm messages to format the question 2010-01-15 01:10:15 +00:00
Nathan Gray
2d310645f9 Put a background color on the AJAX Select results box 2010-01-13 18:32:48 +00:00
Nathan Gray
e8fa73d310 Put a border on the AJAX Select results box 2010-01-13 18:16:59 +00:00
Klaus Leithoff
9c4c261c9b fixing a problem with multiple (or size>1) select fields in/for IE (selectbox hack) 2010-01-13 09:41:42 +00:00
Ralf Becker
3ce3cde916 fixed in wrong order displayed sub-categories 2010-01-13 06:31:52 +00:00
Nathan Gray
d889e92774 Add AJAX Select widget as a field type for custom fields.
Select options can be provided using one of three different methods:
1.  key=value pairs, one per line, as for a selectbox
2.  @filename.php - The file must be in the egw root, and define an array named $options, that has key => value pairs
3.  Define the options normally used for the AJAX Select widget (get_rows, get_title, id_field) and it will pull values from the database, as normal.

Other options (icon, filter, template, link) can be used regardless of the method used to get the values.
2010-01-12 22:35:51 +00:00
Ralf Becker
cc5c917832 fixed static get_rows callback for php5.3, it is working for all php versions, thought from 5.2.3+ it is a static call AND always calls $query as a var parameter! 2010-01-11 23:37:39 +00:00
Ralf Becker
058a820eb7 fixed not use popup in link list widget (eg. links tab in different apps) 2010-01-08 02:22:22 +00:00
Stefan Becker
ddd1a2176c "fixes Problem with pagerepead and multipe Adresslabels on one page" 2009-12-30 13:59:08 +00:00
Ralf Becker
7e754c28c1 hack to get Excel 200X to display additional rows in tables 2009-12-27 23:51:25 +00:00
Ralf Becker
fdf4dcb9b9 fixed not working $$time$$ and $$date$$ placeholders, by using egw_time::to() and deprecating format_datetime() 2009-12-24 02:00:51 +00:00
Stefan Becker
5a4c77bcf3 "fixed Problem with span and Linefeed" 2009-12-21 10:47:02 +00:00
Oscar Manuel Gómez Senovilla
ef7ff3d6b3 Fix pending hardcoding for new translations 2009-12-14 21:11:05 +00:00
Klaus Leithoff
f0972d7409 fixing a bug regarding the selectBox resize with MSIE (all was no longer selectable) 2009-12-09 11:58:19 +00:00
Nathan Gray
2305f5cc8b Add missing style class, should make type box disappear when there's no sub-types. 2009-12-08 17:14:23 +00:00
Nathan Gray
28b3dde6ec Change how type is passed to use the new link query options parameter 2009-12-07 21:44:04 +00:00
Klaus Leithoff
1db92b3b90 patch to hide the sub-type select box, if it is empty, there may be room for improvement by nathan, as he introduced that feature in the first place 2009-12-07 15:48:50 +00:00
Ralf Becker
de2589963a "fixed warning of not writable lang directory to cater for new location" 2009-12-03 16:45:51 +00:00
Ralf Becker
13cb41a882 "allow for office2003 (application/xml) $$pagerepeat$$ and some cleanups" 2009-12-03 16:15:23 +00:00
Oscar Manuel Gómez Senovilla
ab07f2bc4a Recover history from rev 28554 2009-12-02 19:37:49 +00:00
Oscar Manuel Gómez Senovilla
756ed51f58 Temporary removal to recover history from rev 28554 2009-12-02 19:36:52 +00:00
Klaus Leithoff
8239db5808 some finetuning regarding the hack to influence the selectbox behaviorin MSIE (optgroups, positioning); 2009-11-30 16:45:24 +00:00
Klaus Leithoff
7c13e6ca1f fixing a problem regarding MSIE and the hack to influence the selectbox behavior, when you selected an entry with an empty value 2009-11-30 13:23:35 +00:00
Klaus Leithoff
c8323fc034 hack to influence selectbox width behavior for MSIE; applied to all selectboxes created by html::select and etemplate.js loaded 2009-11-28 14:32:33 +00:00
Oscar Manuel Gómez Senovilla
ebba4d3547 Move etemplate lang files 2009-11-28 13:01:53 +00:00
Oscar Manuel Gómez Senovilla
f092da71fd Patch to migrate lang files from setup/egw_*.lang to lang/egw_*.lang 2009-11-28 11:30:48 +00:00