Commit Graph

665 Commits

Author SHA1 Message Date
Klaus Leithoff
26838d34a7 fixed problem reported with myStylite Trackerticket #820 wrong owner assignment with groupowned infologtypes, when initially linked to addressbook 2010-09-03 11:34:39 +00:00
Klaus Leithoff
a2919ecd3b improve convertHTMLToText, for toggle editor and mail2infolog process; better control of insert Signature at Top. Only insert the signature, when the compose window is opened the first time (compose/reply/forward), dont do it if sending failes, and the compose window is refreshed (in general when mySigID is set) 2010-08-31 14:23:58 +00:00
Klaus Leithoff
3597959259 show infolog id in linktitle too (,if show_id is switched on) 2010-08-23 11:44:30 +00:00
Klaus Leithoff
02d2ca5157 improve the handling of overlong words, fix a bug regarding the check of infolog_status existing in known status for the type selected 2010-07-30 10:19:06 +00:00
Klaus Leithoff
1654d4b07c optimize printing by adding spaces to content of info_subject and info_des and thus allow automatic line-wrapping in printpreview (and print) 2010-07-16 09:13:32 +00:00
Klaus Leithoff
544c522904 additional statusfilters: open and upcoming, own open and upcoming, delegated open and upcoming, responsible open and upcoming 2010-07-15 10:09:35 +00:00
Jörg Lehrke
75b25bb796 Fix FroupDAV report issue 2010-07-02 05:01:15 +00:00
Jörg Lehrke
09bc2c09cd Fix CTag issues for GroupDAV 2010-06-29 13:52:56 +00:00
Klaus Leithoff
c30c4ce198 notify on infolog creation as well (was not, as condition was not met for changes=true) 2010-06-29 12:08:34 +00:00
Klaus Leithoff
4bd384f77d handling long info_addr lists, splitting by comma to enable linebreaks 2010-06-28 15:25:27 +00:00
Andreas Stöckel
b135848f33 Added space to imploding of email addresses in infolog email import to allow linebreaks for long email lists 2010-06-28 14:45:58 +00:00
Jörg Lehrke
b44f0c2f41 Fix SyncML device timezone issues 2010-06-17 07:38:27 +00:00
Ralf Becker
85329717ee fixed Template Error: set_block: unable to find block 'admin_line' in 'info_admin_t' 2010-06-16 08:45:02 +00:00
Jörg Lehrke
d1fa11aaab CalDAV Infolg support for Evolution (Stylite #602) 2010-06-09 19:44:58 +00:00
Ralf Becker
d53e5291ce - not longer using referer for message of successful saved infolog, but
using opener.location.search += 'msg=...', as it works better with jDots
- calling static methods of egw and common class static
2010-06-07 14:43:34 +00:00
Ralf Becker
9df3bfae29 using javascript:open_window url, instead of html markup 2010-06-04 11:26:19 +00:00
Ralf Becker
4b9b76bbe7 fix for bug #2624: SQL error - CONCAT not supported by postgres 2010-05-26 15:41:40 +00:00
Ralf Becker
c9a52edddd "default prefs for new installs" 2010-05-20 18:00:49 +00:00
Ralf Becker
e1a1f1f9de Using "Due $typ" or "Starting $typ" as prefix for async notifications 2010-05-20 16:13:55 +00:00
Nathan Gray
b4b689e097 Log a change in modified date to the history log, but do not send a notification if that is the only change 2010-05-14 16:50:49 +00:00
Ralf Becker
fb04a535b6 "using egw_link::VFS_APPNAME constant instead of 'file'" 2010-05-12 07:06:06 +00:00
Nathan Gray
a670e8f4a3 Make sure linked files get copied when copying an infolog 2010-05-11 21:04:24 +00:00
Klaus Leithoff
b161002ab4 fix warning regarding unsupported operand types; translations provided by mkk 2010-05-11 12:59:47 +00:00
Ralf Becker
f0f6047658 skip notifications on second write in infolog_ui::edit(), used to update just the link_id: causes double notification for new infologs 2010-05-05 15:53:34 +00:00
Jörg Lehrke
58559aacb1 Fix SIF-T tag issue (bug #2573) 2010-05-03 06:59:22 +00:00
Ralf Becker
012d7d23e4 "- fixed not exported custom fields, if field is valid for more then one type
- fixed not exported regular fields: info_datemodified, info_modifier, info_id"
2010-04-23 12:10:36 +00:00
Ralf Becker
d9117ecff0 fixed handling of group acl: addressbook eg. is NOT using it at all 2010-04-20 06:57:57 +00:00
Klaus Leithoff
d785ed1d45 improved commented out debug message 2010-04-15 07:01:29 +00:00
Jörg Lehrke
30a3296c8e Optimze and clean up GroupDAV 2010-04-13 15:31:59 +00:00
Klaus Leithoff
7db0cf9d0c missing information in notification mails, when assigning infolog to projekt 2010-04-12 14:12:58 +00:00
Nathan Gray
cacaff872d Fix filtering on a multi-select custom field. Any entry with the filter value will be included. 2010-04-07 15:52:59 +00:00
Ralf Becker
70c7ad3516 "directly cache link titles, to query them all at once (per app)" 2010-04-04 09:15:25 +00:00
Nathan Gray
48c5ec9b24 Use so_sql::search2criteria() to generate search text filter 2010-03-31 21:37:35 +00:00
Ralf Becker
34d460ae2f "deleting a type, did not delete a group owner
--> causing groups still considered to be used as group owners and therefore not resolved to there users for grants"
2010-03-28 15:38:12 +00:00
Ralf Becker
de947ef466 "fix an other case of empty enddate get set to \"something\"" 2010-03-24 08:15:36 +00:00
Jörg Lehrke
42a09eda30 Add configurable client character set for SyncML & various fixes 2010-03-22 18:03:23 +00:00
Ralf Becker
5eaee2c6e7 "patch from Lorentz <lorentz(at)friendship-systems.com>" 2010-03-21 10:00:48 +00:00
Ralf Becker
39e2710b24 "fixed infolog loosing links: wrong placed bracket" 2010-03-18 10:00:39 +00:00
Ralf Becker
14f55a35ed "fixed 01.01.1970 problem with empty infolog enddate" 2010-03-18 08:56:51 +00:00
Jörg Lehrke
fc07594746 Fix GroupDAV iterator issue 2010-03-16 20:44:55 +00:00
Jörg Lehrke
a39a8b8eb8 Improve Infolog GroupDAV 2010-03-16 07:01:36 +00:00
Jörg Lehrke
de36a7d40a Fix Infolog timezone issue again 2010-03-16 07:00:56 +00:00
Jörg Lehrke
e9cdcbcac8 Fix Infolog timezone issue (Bug 8002) 2010-03-15 18:05:33 +00:00
Jörg Lehrke
28383ae67d Fix Funambol SIF enconding 2010-03-15 17:17:42 +00:00
Jörg Lehrke
7220d96847 Use iterator approach in GroupDAV; fix various issues 2010-03-15 09:55:16 +00:00
Jörg Lehrke
89f7d50cec Differentiate GroupDAV collections 2010-03-11 07:30:46 +00:00
Nathan Gray
0a75258cda Make infolog entries available to delegates even if the entry is private. 2010-03-08 16:07:40 +00:00
Jörg Lehrke
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +00:00
Nathan Gray
5e2d3f4739 Fix for lost links when copying. All links get copied now, including the one in the header. 2010-02-22 21:25:00 +00:00
Jörg Lehrke
b6097fa156 SyncML Content Handling
* Improved find-methods
* Timezone support for InfoLog
* SyncML Preferences
    - addressbook and address list are now joined
    - Primary User Group for addressbook and calendar
* SlowSync uses old mapping information (can be disabled within the preferences)
2010-02-09 21:56:39 +00:00
Jörg Lehrke
12aa69def3 Fix modifier issue 2010-02-05 16:32:30 +00:00
Jörg Lehrke
338192689c Fix modification timestamp issue 2010-02-05 14:07:59 +00:00
Ralf Becker
936c636ffd display upload failed (because post_max_size of webserver exceeded) message from etemplate, could be nicer but way better then before 2010-02-05 03:34:17 +00:00
Jörg Lehrke
75746226a4 Use egw_time for InfoLog, tracking backend and Tracker 2010-02-04 12:08:03 +00:00
Ralf Becker
209012c079 responsible filter for multiple users 2010-01-21 03:00:06 +00:00
Ralf Becker
30ae4a3f25 added edit/edit_id/edit_popup to infolog link registry 2010-01-20 23:26:05 +00:00
Jörg Lehrke
548f5f8c98 Fix various issues introduced with Funambol adjustments; code cleanup 2010-01-10 19:02:16 +00:00
Jörg Lehrke
70aee0a67d Fix task priorities for Funambol WM Client 2010-01-09 22:28:41 +00:00
Jörg Lehrke
3242e169cc More Funambol adjustments and workarounds 2010-01-09 18:04:21 +00:00
Jörg Lehrke
49823ecd7e Fix encoding issues; improvements for Funambol clients 2010-01-08 13:09:36 +00:00
Christian Binder
b973910334 reverted last commit because it had no effect 2009-12-30 13:46:37 +00:00
Christian Binder
5fd473c986 test to cast PERCENT-COMPLETE as int to prevent 0 value to be set to nothing 2009-12-30 10:36:25 +00:00
Klaus Leithoff
e5978c32a1 fix missing startdate, when importing mail from compose 2009-12-15 16:05:48 +00:00
Stefan Becker
086edcac9b fixed promblem with infolog save of copyed infolog 2009-12-13 13:58:01 +00:00
Stefan Becker
80f02187a6 added print template to infolog 2009-12-13 13:36:09 +00:00
Stefan Becker
d11469f91f added copy function to infolog and action box, more actions will follow 2009-12-11 08:34:47 +00:00
Christian Binder
d8907a4d2a fixed not recognized vtodo priority values 2009-12-09 08:17:26 +00:00
Nathan Gray
1524b6670f Implement new link hook view_list, to be able to be taken to a list of entries 2009-12-08 21:48:10 +00:00
Nathan Gray
721ccb80d8 Implement options so link_query() can be limited 2009-12-08 21:47:49 +00:00
Ralf Becker
af38e6e62a "fixed warning when saving new entries introduced by r28408" 2009-12-08 10:07:53 +00:00
Jörg Lehrke
ac8223caed Fix infolog category issue again 2009-12-07 09:08:51 +00:00
Jörg Lehrke
3b85963f39 Fix infolog category issue again 2009-12-07 09:04:39 +00:00
Jörg Lehrke
fda9c4f5f0 Fix infolog category issue 2009-12-07 09:00:58 +00:00
Jörg Lehrke
dd92e60180 Use UID for find_content(); code cleanups 2009-12-01 10:24:55 +00:00
Klaus Leithoff
8de55a88f4 support CC in import of saved email-messages too 2009-11-28 18:55:26 +00:00
Klaus Leithoff
0473f987ad fixing a problem regarding the import of draft-messages with attachments into infolog (, fixing a display issue with getAttachments in uicompose as well) 2009-11-28 18:16:18 +00:00
Ralf Becker
0299f4e494 removed caching as it creates problems with datasource updates in projectmanager (datasource reads infolog content from an instance with a not updated cache, causing updates only to happen after clicking on [apply] twice) 2009-11-28 13:50:03 +00:00
Klaus Leithoff
6c25590e9e fixing various problems regarding the notification via close shortlink (klick on close/close all button in infolog list view) 2009-11-23 16:15:16 +00:00
Christian Binder
e76d659cac applied category preserve on import also to SIF classes 2009-11-19 15:30:53 +00:00
Ralf Becker
6eab77b15f "commented permanent error_log in async_notifications, as it creates mail to root when async service is run via cron" 2009-11-19 11:38:37 +00:00
Christian Binder
2e65cf977a use new categories check_perms() on export and merge preserved categories with imported ones. This functionality is limited in infolog because infolog only supports having just one category at the moment. 2009-11-19 10:40:54 +00:00
Jörg Lehrke
73e2f3721e fix typos 2009-11-18 17:41:54 +00:00
Klaus Leithoff
5ff54af20b make the datefilter stay when filter by day is active (stick it with the sessiondata) 2009-11-16 09:49:50 +00:00
Klaus Leithoff
0bfb18470d feature to be able to filter by startdate 2009-11-10 08:11:41 +00:00
Ralf Becker
9f5467ebac "fixed SQL error: info_id is ambigous happening if one has cf's in infolog AND filters with new link-filter" 2009-10-23 09:57:47 +00:00
Ralf Becker
4f69a5d1b0 using references to loop of items in profind and some cleanups 2009-10-16 08:36:28 +00:00
Ralf Becker
d875429fcb "patch #2270: export start- and enddate as date, if user set no time (rest of patch not necessary for trunk)" 2009-09-27 08:23:01 +00:00
Christian Binder
0947f51ce8 fixed typo reported by madsurgeon - some additional german translation 2009-09-25 12:39:11 +00:00
Ralf Becker
00ca396066 Added filter to list, which allows to show infologs linked to an entry
of any other applications, eg:
- infologs linked to a certain project
- infologs linked to a contact
2009-09-25 08:03:01 +00:00
Jörg Lehrke
fd3425bac4 Fix delete() (bug #2260) 2009-09-20 12:31:16 +00:00
Stefan Becker
051b00b199 added new filter for projects 2009-09-19 13:58:24 +00:00
Stefan Becker
f85cb3c0d0 fixed 100% also allowed with status archive 2009-09-04 12:39:23 +00:00
Klaus Leithoff
9a42ca2fbb removing deprecated/not needed '=&' for CreateObject 2009-08-28 13:11:03 +00:00
Klaus Leithoff
46b0a0ea98 improvement of the import of eMails if bodystructure is cascaded deeper than expected 2009-08-28 13:07:32 +00:00
Ralf Becker
93f99c8e58 "fixed not displayed time sum, if \"time, planned\" column was selected:
-> only check used&planned time (not replanned) to work for both time cols"
2009-08-25 13:17:29 +00:00
Ralf Becker
ae33932f0b "fixed not savable empty site configuration 'responsible_edit', once a value was set before" 2009-08-19 14:59:58 +00:00
Ralf Becker
ced14e2c15 "removed depricated calltime pass reference, it's unnecessary in these cases anyway" 2009-08-19 13:56:35 +00:00
Klaus Leithoff
ff1c884e65 feature to convert to infolog emails with attached emails and their content 2009-08-13 10:07:34 +00:00
Ralf Becker
036b2cd14e - merged SyncML-1.2 branch with trunk:
svn merge ^/trunk/infolog@27329 ^/branches/SyncML-1.2/infolog .
- completly reverted changes in inc/class.boinfolog.inc.php, as they are
  not related to SyncML at all:
svn revert inc/class.boinfolog.inc.php
2009-07-15 20:04:17 +00:00
Klaus Leithoff
7d0184e9ea you need to have current_app modified when importing mail 2009-07-13 10:47:19 +00:00
Klaus Leithoff
b731dcbfe0 loading infolog translations if current_app is NOT infolog 2009-07-13 10:33:26 +00:00
Klaus Leithoff
aa1d033532 preserve the col_filter within the active session 2009-07-09 12:14:35 +00:00
Ralf Becker
c8ad252566 "bugfix: if no specific custom field is selected, show/query all custom fields" 2009-06-30 17:48:04 +00:00
Klaus Leithoff
587cf2f1f5 bugfix for files got lost, while converting to infolog immediately after send, if attached via vfs 2009-06-22 14:46:10 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
1585a36fdf used&planned time or used,planned&replanned time incl. icons 2009-05-11 09:19:16 +00:00
Ralf Becker
701fe5661b - icon linking to filemanager of entry
- configurable limit of height of describtion in list
2009-05-08 16:01:33 +00:00
Ralf Becker
065e1dde5a - two new parameters to search(): cols and append
- docu update
2009-05-05 12:49:15 +00:00
Ralf Becker
7bc380fab9 Moved filter labels to BO 2009-05-05 12:48:38 +00:00
Klaus Leithoff
bd3e6ca818 fixing check_default, setting info_percent to 100, when status is done or billed 2009-04-27 12:54:40 +00:00
Klaus Leithoff
c5ba464ffa Handling completion via fastlink action button better by offering close and close_all buttons.
Preventing setting the status to done if that status does not exist for the given infolog type.
Listview (offering the fastlink action button for closing):
Regarding an infolog as done if it is cancelled.
Regarding an infolog as done if the stati done/billed/cancelled do not exist for that type, but the percentage is 100
2009-04-23 14:47:26 +00:00
Klaus Leithoff
70bfaee90e njv infolog/groupdav work, mostly debug, and special handling for GroupDav as PeroductManufacturer 2009-04-02 12:57:48 +00:00
Klaus Leithoff
c2dd0ab7d1 handling array_intersect warning if info_responsible is not an array (typecast) 2009-03-27 14:10:18 +00:00
Klaus Leithoff
03fc976ce6 handling array_intersect warning if info_responsible is not an array 2009-03-27 13:40:49 +00:00
Ralf Becker
6ef914fbbb "using etemplate::$hooked instead of $GLOBALS['egw_info']['etemplate']['hooked']" 2009-03-16 13:00:45 +00:00
Klaus Leithoff
e4f6c3c488 conditional replace of all CarriageReturnLinefeeds, since, if it is done always, a sendmail looses its linebreaks 2009-03-09 10:43:25 +00:00
Klaus Leithoff
023f3b6326 handling a problem while importing mails as infolog, if they contain no text/plain part; this implied the move of some functionality from bocompose to bofelamimail 2009-03-06 14:39:34 +00:00
Ralf Becker
cbc6214282 "fixed wrong path (calendar) in infolog" 2008-11-21 07:35:47 +00:00
Ralf Becker
bc59bd9fb8 fixed missing .ics extension in Location header after PUT 2008-11-18 06:11:12 +00:00
Ralf Becker
1baa158195 Big SyncML patch from Philip Herbert <pherbert(at)knauber.de>:
- change the processing of slowsync, to use the content_map instead of
  trying to build a new one. This caused duplication issues on the
  client if multiple similar records where stored, because only the first
  one found in the server-db was matched, These duplicate entries at client
  side had no entry at serverside, so deleting the wrong one
  on the client (the content with a valid map entry) could cause
  unwanted data loss at server side, because it is impossible for the
  user to see what is a duplicate, and what is not.

see also: 
http://www.nabble.com/again---syncml-duplication-issue-to20333619s3741.html

- reenabled UID from syncml clients, because it was partly used this caused
  issues during SlowSync if the content was changed. 

- infolog, calendar if a uid is found in the provided data, allway try to
  find the corresponding content first   using only the UID, instead of
  using the content-id taken from content_map.

also fixed:

- a few fixes in ./notes
- creating an entry on the client that can not be imported,
  (Example, Nokia E Series Appointment without a Title)
  will no longer create an invalid content-map entry
  However, at client side this is still counted in the Protocol as
  Server-Add
2008-11-16 10:42:29 +00:00
Ralf Becker
d28f6f672c - fixed url recreation for links (use ? for get-params, if no ? in the
link)
- made bo_tracking abstract
- added default return null to bo_tracking::get_config and removed it
  from extensions implementing no config
- fixed signature of get_config($name,$data,$old=null)
2008-11-08 10:37:52 +00:00
Ralf Becker
43f860ba8f Reworked GroupDAV and iCal/vCard handler to set 'GroupDAV' as product
manufacturer and the recogniced GroupDAV client as product name.
This way we are able to handle different GroupDAV clients, as we
allready do with different SyncML clients.
Also removed the no longer needed code enabling the use of the real UID, 
as SyncML does no longer misuse the UID for it's GUID.
2008-11-03 09:36:20 +00:00
Ralf Becker
71edd1c938 Big patch from Philip Herbert (Knauber) modifying the SyncML code to no
longer use GUIDs containing eGW's install_id, as the information is
irrellevant for SyncML and cause doublications of entries if the
install_id changes.
I plan to have a new rc4 Wednesday or Thursday containing these changes.
2008-11-03 07:44:02 +00:00
Ralf Becker
15fa1c84f7 "fixed postgres problem reported on the user list: operator does not exist: character varying = integer" 2008-10-22 10:42:30 +00:00
Ralf Becker
1d549d1dcc "fix for bug #1467: sorting get lost using green close icon" 2008-10-22 06:51:01 +00:00
Ralf Becker
2d7f22e7ec fixed delete_account hook, to deal correctly with multiple responsibles 2008-10-22 06:15:37 +00:00
Ralf Becker
40279b8571 "using static methodes of egw_link" 2008-10-20 10:20:50 +00:00
Ralf Becker
876649fe6f Big performance improvment by:
- using egw_link::set_cache() for entries read or searched
--> eliminates an excessive number of single entry reads, when the links
need titles or file_access permissions
- removing sub-query for number of sub-entries from search (Bug #1613)
- method to query the number of sub-entries of all displayed entries in
  one go
2008-10-19 11:34:12 +00:00
Ralf Becker
630d0fca52 forgot to commit the remove after rename to infolog_ical 2008-10-19 11:20:37 +00:00
Ralf Becker
dd21535a72 "patch #1769: infolog sidebox menu has wrong link to custom fields
"
2008-10-16 05:39:58 +00:00
José Luis Gordo Romero
bad25ee249 Fix not correctly set of $this->prefs['show_times'] pref (because of addition of info_replanned_time columnt to the header) 2008-10-08 09:40:23 +00:00
José Luis Gordo Romero
fdb1b050f7 Infolog renaming classes minor fix (botimesheet -> timesheet_bo) 2008-10-08 08:13:17 +00:00
Ralf Becker
9e61c0bc91 "fixed typo in filename of infolog_ical class" 2008-10-08 07:45:35 +00:00
Ralf Becker
ca27910040 "new constructor name" 2008-10-07 17:16:24 +00:00
Ralf Becker
a7b3ed7902 moved xmlrpc code to own class boinfolog, to keep the old xmlrpc
functions and get a cleaner code for no xmlrpc
2008-10-07 14:01:33 +00:00
Ralf Becker
ffce747ddc "fixed typo" 2008-10-07 13:12:31 +00:00
Ralf Becker
98a1d706ae "an other uiinfolog" 2008-10-07 13:00:03 +00:00
Ralf Becker
7f9df0d051 - renamed class to new naming convention
- update version and dependencies for 1.6
- file_access method for attachments
2008-10-07 12:50:14 +00:00
José Luis Gordo Romero
1a8f6ed1bd New field replanned time with for pm integration, also icons in list view to diferentiate real, planned and replanned times. 2008-10-07 08:40:46 +00:00
Ralf Becker
b195ac76e2 refractured infolog code to create links to custom field link types 2008-09-11 14:57:20 +00:00
Klaus Leithoff
715ad7a1bf bugfix: fixed a remaining call to uicontacts -> addressbook_ui 2008-08-27 12:31:33 +00:00
Ralf Becker
ae025c806b "case insensitive search (postgres)" 2008-08-12 17:42:20 +00:00
Ralf Becker
5fccf96345 "added somehow missing support for PERCENT-COMPLETE attribute, which exists in InfoLog an iCal vTodo" 2008-08-07 06:11:13 +00:00
Ralf Becker
7ce97ba699 - .ics extension for todos and events
- new GroupDAV v2 component-set attribute for collections
- getlastmodified & getcontentlength properties for infolog propfind
- fixed propfind on a single infolog entry to return just that entry
- getcontenttype of vevent and vtodo collection returns extra component
2008-08-04 19:08:09 +00:00
Klaus Leithoff
b82110bcd7 further improvement for the import of Mail messages 2008-08-01 13:03:17 +00:00
Klaus Leithoff
a4d50d7f30 trying to improve linebreak behavior while importing mails. 2008-07-30 14:19:31 +00:00
Ralf Becker
c76f649797 "fixed (undeletable) n type, which appears in new installations
to get rid of it on existing installs, you can now simply delete it (it does not get recreated, which makes it seem undeletable before)"
2008-07-18 07:16:44 +00:00
Ralf Becker
2e28640d9e "fixed typo, wrong method name for put" 2008-07-08 07:47:16 +00:00
Ralf Becker
f108dea1cb groupdav now uses infologs own vcalinfolog class and not longer icalsrv, also added by groupdav required support to keep the uid of the client and not use extra charset attributes which are depricated in recent iCal and some clients have problems with them 2008-07-08 05:34:10 +00:00
Ralf Becker
c5537bc107 "fixed fatal error, groupdav should be working again" 2008-07-07 08:12:54 +00:00