Commit Graph

3836 Commits

Author SHA1 Message Date
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
Jörg Lehrke
3fb2b0173b address moreData conflict between datastores 2010-02-09 10:44:15 +00:00
Jörg Lehrke
5cbb080b42 Fix old formats folding issue 2010-02-09 10:43:06 +00:00
Jörg Lehrke
d75b2d3d12 Enable SlowSync optimization with old mappings; vCalendar 1.0 folding 2010-02-08 19:48:33 +00:00
Jörg Lehrke
df51d3a409 Update SyncML user preferences immediately 2010-02-07 20:28:15 +00:00
Jörg Lehrke
0197125d42 Fix empty default domain issue again 2010-02-07 17:53:28 +00:00
Jörg Lehrke
3c13536c3a Fix empty default domain issue 2010-02-07 14:28:55 +00:00
Ralf Becker
c99c79cd32 a few changes required to use sqlfs as base of a versioning stream wrapper (EPL only) 2010-02-07 06:19:56 +00:00
Jörg Lehrke
fa6626a5d1 failsafe session handling 2010-02-03 20:08:55 +00:00
Jörg Lehrke
712a87152f Fix multi-domain support for SyncML 2010-02-03 12:28:49 +00:00
Klaus Leithoff
995940eeb5 small improvements regarding the tooltip behavior for calendar 2010-02-02 11:23:11 +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
5073a8b24e completly reworked admin >> global categories, in preparation for group specific global cats 2010-01-30 23:57:03 +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
43553a0226 - depricated return_single($cat_id) in favor of read($cat_id) return not
an array with a single cat, but just the cat
- read($cat_id) and id2name($cat_id,'data') return now data as array
- edit($cat) and add($cat) now serialize data, if it's an array
- return*() have optional parameter to return data as array (default is
  still to return it serialized)
- new constants categories::GLOBAL_APPNAME='phpgw' and
  categories::GLOBAL_ACCOUNT=-1 (the later will change in the next step)
2010-01-30 23:50:51 +00:00
Jörg Lehrke
32639bd47e Major SyncML Calendar update
- SIFE support improved
  - various vCalendar 1.0 issues fixed
  - device specific timezone support for recurring events
  - pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Ralf Becker
61d26df913 reworked auth classes, to allow them to use each other and a new auth class using a primary backend (ldap) and a fallback (sql) 2010-01-28 04:22:37 +00:00
Ralf Becker
30e13c4acf first step of group prefs (backend only for now) 2010-01-27 05:44:31 +00:00
Ralf Becker
5e3541c5b2 read all installed apps and not just the enabled ones 2010-01-27 05:22:41 +00:00
Ralf Becker
49b237ec72 handing argument types for wz_tooltips and only using UnTip(), if tooltip is NOT sticky 2010-01-24 03:15:12 +00:00
Ralf Becker
49d444e3c9 fixed problem if $order is given as string, supporting it now again 2010-01-24 01:31:06 +00:00
Ralf Becker
0c5e495994 fixed common::setLocal() to fallback to en_US, not en_EN (which does not exist) and then de_DE (giving german) 2010-01-24 01:07:26 +00:00
Hans-Jürgen Tappe
2606c0b439 Remove duplicate return. 2010-01-22 21:43:50 +00:00
Hans-Jürgen Tappe
9c5fd08d90 Fix backup->restore() as discussed on the devel list:
- Internationalization of error messages.
- Typos
- Add missing code documentation
- Respect return code of db->transaction_commit()
- Add missing filename arguments in restore() calls.
2010-01-22 21:39:19 +00:00
Klaus Leithoff
577ce3e8df improve db_backup/restore 2010-01-22 13:52:04 +00:00
Ralf Becker
0e405049b3 A few improvments with hooks:
- register_all_hooks deletes now hooks of no longer existing apps
- hooks get instanciated directly with egw object, to cache the hooks
  read from the DB (and not read it again on each request)
- hooks get now stored by location, so no need anymore too loop for each
  hooks::process() call to all apps to find applying hooks
- hooks::process($location,$order,$no_permission_check) no longer
  defaults automatically puts current app in $order, if $order is not
  given, without $order hooks are executed in application order!
2010-01-21 23:31:28 +00:00
Ralf Becker
9c4b9aebbf fixed not deleted files in filesystem 2010-01-21 22:56:57 +00:00
Ralf Becker
507bad0b92 new registry method edit/edit_id to edit an entry 2010-01-19 22:14:39 +00:00
Klaus Leithoff
30abf86181 only warn, for no ziparchive, if you want to backup files 2010-01-19 15:27:30 +00:00
Klaus Leithoff
0075e7f4cd attempt to improve the parsing/cleaning of html messages. 2010-01-19 13:29:16 +00:00
Jörg Lehrke
21a2cab5a8 Fix session issue 2010-01-18 14:57:35 +00:00
Ralf Becker
4600c7cb38 Imported latest version of wz_tooltips (5.31) as they no longer need to
process the whole dom tree to enable the tooltips.
(Also made the changed from r23372 again)
2010-01-17 03:20:45 +00:00
Ralf Becker
8b2fe41fe0 refractored our exception handler a bit, to allow using part of it from ajax too. Ajax logs now the exception to the error_log and only shows a trace to the user if enabled in the config, like the rest of EGroupware 2010-01-14 23:50:06 +00:00
Klaus Leithoff
83b53cadbe use require_once instead of require, as we seem to run into some 'cannot redeclare class'-errors 2010-01-14 11:43:54 +00:00
Jörg Lehrke
16c190cfe2 Improve SyncML session handling 2010-01-13 09:05:27 +00:00
Jörg Lehrke
59affe07ce Improve SyncML session handling; code cleunups 2010-01-13 08:47:00 +00:00
Ralf Becker
07d7b66735 some fixes for session of basic auth clients as sogo connector:
- added user IP to hash used as session id (so changed IP, different devices force a different session)
- returning false in verify, if domain is changed
- fixed "Wrong IP" message
2010-01-12 03:55:42 +00:00
Ralf Becker
aca03d2dbc somehow forgot to remove old xajax files 2010-01-12 03:42:46 +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
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
Ralf Becker
583a4b91d7 register doXMLHTTPsync as an alias to call doXMLHTTP synchronious 2010-01-08 01:16:29 +00:00
Ralf Becker
d9d303db6d remove reference from $obj =& new obj() constructs, to get ride of depricated warnings in php5.3 2010-01-07 23:44:33 +00:00
Ralf Becker
65aa5f8740 using new xajax version 0.5, thought automatically defining all pre 0.5 response functions, so no changes in EGroupware callbacks necessary, everything should work as before 2010-01-07 23:39:17 +00:00
Ralf Becker
19215ae75e adding stock xajax_0.5_minimal 2010-01-07 23:33:20 +00:00
Ralf Becker
8d55e4800e fixed supported-report-set according to a calendarserver example and reorganized HTTP_WebDAV_Server to generally support hierachical properties 2010-01-07 04:24:45 +00:00
Ralf Becker
b446f6de4e supported-report-set as required for CardDAV and Sogo connector 2010-01-07 02:04:09 +00:00
Ralf Becker
d53f0c91bf ctag for addressbook, sogo connector seem to require it, thought it should be optional, anyway ctag makes sense 2010-01-05 23:25:17 +00:00
Jörg Lehrke
ed519fda33 Optimized Funambol recognition 2010-01-05 10:09:47 +00:00
Ralf Becker
19dd3785a9 make input readonly via javascript to NOT trigger mobile devices to display a keyboard 2010-01-01 23:04:39 +00:00
Christian Binder
b3a02f9408 recognize zero value also as a real value 2009-12-30 13:48:00 +00:00
Ralf Becker
08d5ce1f30 fixed not used user date and time format, if no timezone set 2009-12-24 01:48:51 +00:00
Ralf Becker
7bfa59767c fixed typo preventing creation of new events, if no timezone pref is set (should show just the server timezone) 2009-12-24 01:03:35 +00:00
Christian Binder
86346deefe fixed empty resultset if num_rows option is not defined, removed some weird indents 2009-12-16 13:10:55 +00:00
Klaus Leithoff
b48c4f51fc improving the display by toggling the editor mode; improving import of html mails after flaw in rev28758 2009-12-16 10:57:37 +00:00
Nathan Gray
219ae4d224 Can't use ExecMethod2(), it doesn't pass by reference.
Used code to pass options by reference from nextmatch widget so apps can update  array if they need.
2009-12-08 17:56:22 +00:00
Ralf Becker
76e43e442c fixed typo 2009-12-08 08:19:58 +00:00
Nathan Gray
dd1370f97f Implement Ralf's suggestion of an options array to pass extra query parameters 2009-12-07 21:42:20 +00:00
Ralf Becker
6aa95316ba using a static var as cache, which is a reference to the session:
a) automatic shared between all instances of accounts class
b) no need to have a shutdown function storing it to the session
--> cleaner code
2009-12-07 17:56:31 +00:00
Ralf Becker
c772e1d57d "new method acl::get_location_grants(), jaytraxx was missing ;-)" 2009-12-07 12:36:25 +00:00
Ralf Becker
0af8b60e39 "Maximum number of titles to query from an application at once (to NOT trash mysql)" 2009-12-07 11:18:13 +00:00
Ralf Becker
104e2464d5 moved one-time storage of server timezone and restore of it from egw_time to egw class, as in 1.6.003 now 2009-12-03 08:10:48 +00:00
Ralf Becker
c743665438 "switching logging off again" 2009-12-03 07:56:34 +00:00
Ralf Becker
4e2a8131c3 "partly reverting r28676, as array2string and function_backtrace is not yet loaded" 2009-12-03 07:44:10 +00:00
Klaus Leithoff
493789cec5 extend some debug infos in egw_sessions; add a 4th param to replaceTagsCompletley in translation class; prepare some more htmlpurifier stuff in order to use it for the activation of links; wrap the creation of the htmlpurifier default config in a function, to be used as config object for changes when about to be used with html::purify 2009-12-02 14:56:41 +00:00
Klaus Leithoff
8d3d3c8a6d add a cid scheme to purifiers URI schemes, to be able to process inlineimages in eMails. 2009-12-02 14:41:44 +00:00
Ralf Becker
b59a688fbb - fixed not working rename in entry directories in /apps (eg. rename of
an infolog attachment), was caused by use of url_stat from sqlfs
  instead of links stream wrapper
- fixed wrong mime type / icon in files stored via netdrive from msword
  (the first use the extension .tmp, before renaming file to .doc:
  sqlfs "detects" mime type only from the extension and did not recheck
  it if a file gets renamed, that's now fixed)
2009-12-01 14:51:13 +00:00
Jörg Lehrke
00f1a811a6 Fix 'enforce server' double adds 2009-12-01 11:18:38 +00:00
Jörg Lehrke
c63a538f13 Optimize SyncML performance 2009-12-01 10:14:23 +00:00
Ralf Becker
691cc6bb3e we need to first check if the constant is defined, as we get a fatal error in php5.3 otherwise 2009-11-30 20:29:01 +00:00
Ralf Becker
488d34d820 "fixed wrong build pass, causing an open_basdir warning, as url get appended to egroupware dir" 2009-11-30 16:21:02 +00:00
Ralf Becker
bf6d7835ad setting server timezone as early as possible, to avoid warnings it's not set 2009-11-30 14:40:27 +00:00
Ralf Becker
80774a3468 avoid warning in php5.3, if argument is an array 2009-11-30 14:39:38 +00:00
Ralf Becker
2d93ce28cc "fixed warning in setup and correctly reading config first" 2009-11-29 16:53:17 +00:00
Jörg Lehrke
a0e1a238dd Optimized SyncML memory footprint; fixes various filter issues 2009-11-29 14:03:45 +00:00
Ralf Becker
f2e52e1478 fixed sometimes not translatable phrases longer 128 chars, problem was a trim() after truncating the message to 128 chars 2009-11-28 16:20:21 +00:00
Ralf Becker
c8b795fe83 if file is moved from one filesystem / wrapper to an other --> copy it
(rename fails cross wrappers)
2009-11-28 15:23:26 +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
Ralf Becker
ef67ed41e3 commiting fix again, please update before your commit, to NOT overwrite other peoples commits 2009-11-28 11:40:10 +00:00
Oscar Manuel Gómez Senovilla
2d678b8966 Missing file for the patch for moving the lang files in previous rev 2009-11-28 11:34:40 +00:00
Ralf Becker
d47bb7dd88 fixed replacement of multiple placeholders 2009-11-28 11:30:53 +00:00
Ralf Becker
58b4f7b487 fixed docu 2009-11-28 10:52:20 +00:00
Ralf Becker
51f8d5b7b0 egw_vfs::download_url requires egw::link, as it is relative to egroupware dir 2009-11-28 10:31:20 +00:00
Ralf Becker
fd0bfe97ea querying date_default_timezone_get() only once and storing it as
$GLOBALS[egw_info][server][server_timezone], as it fills the log with
warnings under php5.3
2009-11-28 10:18:21 +00:00
Klaus Leithoff
57ce5a4c4c handling parameter-replacements in translation class 2009-11-27 13:16:20 +00:00
Ralf Becker
734a9f6947 HTTP_REFERER seems NOT to get urldecoded, causing url already containing
a comma in calendar got double encoded, which stalls the calendar
(no access to calendar of "1%2C2"!)
2009-11-27 12:35:57 +00:00
Klaus Leithoff
5cb72ec6df purifier upgrade to 4.0.0 2009-11-27 09:37:41 +00:00
Klaus Leithoff
b29fdf18dc switching to modern purifier notation, as of in 4.0 the old style is deprecated 2009-11-27 09:32:22 +00:00
Christian Binder
30fd54c4ac central method in categories class to check a given list of category ids for needed permission 2009-11-26 08:24:51 +00:00
Ralf Becker
0814820652 new option &128 to NOT require an extra trigger for date popup, clicking
into input box is enought and removing of extra separators to be more
compact
2009-11-25 20:19:35 +00:00
Jörg Lehrke
cf92ec1930 Fix RRULE issue with trailing colon 2009-11-25 19:17:52 +00:00
Jörg Lehrke
ca9f3fe1eb Fix WSP issue in QP paramters 2009-11-25 09:40:25 +00:00
Jörg Lehrke
d6663242d1 Fix empty value issue 2009-11-25 08:50:51 +00:00
Klaus Leithoff
e3d06b2219 if we encounter potential malicious script, we run it through html::purify. we test that again against potential malicious code, and drop the content only if we fail the test against the cleaned content as well. we set egw_unset_vars at any case with the original content, in case the application in question makes use of it. 2009-11-24 11:28:49 +00:00
Klaus Leithoff
d228a33ff1 take care that charset and tempdir have appropriate values, no matter if they are initialized at the time 2009-11-24 11:18:06 +00:00
Jörg Lehrke
bf9799ebfe Improve multi-domain support for SyncML 2009-11-22 18:48:51 +00:00
Jörg Lehrke
67e9dc48e2 Add additional datatstores in varios places 2009-11-22 17:50:16 +00:00
Jörg Lehrke
76ffd72eb6 Add multi-domain support for SyncML 2009-11-22 17:49:09 +00:00
Klaus Leithoff
badbc1fead refine purify definition to allow for anchor tags 2009-11-21 17:24:36 +00:00
Jörg Lehrke
d8ee864991 SyncML filter handling improved, code cleanup 2009-11-20 07:24:00 +00:00
Nathan Gray
7744508999 API changes to support optional link sub-types 2009-11-19 20:09:30 +00:00
Klaus Leithoff
84b0a80b5a improve html purify's default filtering 2009-11-19 15:13:14 +00:00
Klaus Leithoff
4515b1fec0 adding html.allowed to purify with list of allowed tags; providing the ability to switch off purify, when calling fckEditorQuick (useful, when the cleanup is already done) 2009-11-19 11:13:36 +00:00
Ralf Becker
221473ce0f make dynamic resizable sidebox width app specific 2009-11-18 20:00:26 +00:00
Jörg Lehrke
d1b10adf4a Fix Domain Issue (Bug #2367) for SyncML 2009-11-18 18:57:00 +00:00
Klaus Leithoff
d4b0e572a1 some more documentation, some improvement in convertHTMLToText and replaceEmailAdresses 2009-11-18 10:38:15 +00:00
Christian Binder
cdd50f6b55 new method check_perms for categories class 2009-11-18 07:42:14 +00:00
Jörg Lehrke
14770c3689 Fix for 'Enforce Server' during SlowSync 2009-11-17 21:20:32 +00:00
Ralf Becker
4181ddaecf "throw assertion failed exception (with trace), if redirect fails because output already started" 2009-11-17 14:56:57 +00:00
Jörg Lehrke
4b490c2e8b Add additional datastores 2009-11-17 07:13:21 +00:00
Ralf Becker
1754508ce9 "let new method hooks fail gracefully if hook class-file does not exists (like the old hooks do, eg. if app got removed)" 2009-11-16 09:42:53 +00:00
Christian Binder
da7db21806 also match against trimmed database entries when categories should be searched by $filter 2009-11-16 06:54:03 +00:00
Christian Binder
5dbc859f71 fixed missing $this-> operator which prevented ACL read on sync - let categories class always enumerate group ACLs (it was skipped for LDAP backends) 2009-11-13 09:55:54 +00:00
Ralf Becker
fc244efb1f "- change cast to string to be more describtive: \"Wednesday, 2009-11-11 11:11:11 (Europe/Berlin)\"
- check if translation class is available, before calling it"
2009-11-12 09:30:37 +00:00
Jörg Lehrke
81d8ea7bbb Fix conflict handling issues 2009-11-11 20:16:34 +00:00
Jörg Lehrke
b3a1f2de10 Add device specific timezone settings 2009-11-11 20:15:29 +00:00
Jörg Lehrke
5bdf4a4942 VTIMEZONE and TZID are not supported by VCALENDAR VERSION=1.0 2009-11-11 20:14:34 +00:00
Jörg Lehrke
ad20d701e2 Fix UID issue 2009-11-11 20:13:03 +00:00
Jörg Lehrke
08d11093dd Add domain support 2009-11-11 10:25:50 +00:00
Jörg Lehrke
edd5a58870 Add ./event datastore to capabilities 2009-11-11 09:18:00 +00:00
Jörg Lehrke
bb7ad55ea4 Support for Synthesis VTIMEZONE RRULES 2009-11-11 09:16:46 +00:00
Ralf Becker
ddfcdfff06 allow EGroupware users to select only timezones, for which we have a VTIMEZONE component (I think the others are only unofficial aliases, not included in our database) 2009-11-09 09:00:53 +00:00
Klaus Leithoff
e99af0dfd6 revert of the change in r28264 as it would allow crossside scripting 2009-11-05 09:06:41 +00:00
Klaus Leithoff
5a4f03cf7b fixing a problem regarding the activation of links encoded with htmlspecialchars 2009-11-05 08:40:57 +00:00
Klaus Leithoff
914861ac59 bugfix groupmembers of groups got lost, while renaming accounts 2009-11-04 11:17:06 +00:00
Klaus Leithoff
c5453aa3f9 make sure there is a wordboundary after script, while testing for malicious code (as text like < blabla description blabla > triggered the expunge of the text 2009-11-02 11:36:00 +00:00
Klaus Leithoff
a49344abf1 port Christian Binders patch to handle config values as well (e.g.:customfields): little helper for prefs if unserialize failed - this can happen if the pref comes from an installation with another charset than the current system charset 2009-11-02 10:55:30 +00:00
Ralf Becker
0a4c2614a5 - moved user timezone list to egw_time
- added standard widget to select timezones
- modified egw_time::server2user and ::user2server to return NULL, if
  time can not be parsed, not throwing an exception (as this are legacy
  function meant to easy convert existing code, eg. replace strtotime())
2009-11-01 12:48:25 +00:00
Christian Binder
345993086a fixed bug reported by LRA Bad Reichenhall: egwpopup not displaying when notificationbell is clicked 2009-10-26 15:10:05 +00:00
Ralf Becker
6ecac6f650 "removed unnecessary check for NOT allowed apps of anon user from session::verify, as there's an other one in egw::verify_session throwing an exception, which can be used to handle the situation better" 2009-10-25 17:28:30 +00:00
Jörg Lehrke
b3b7114db8 Fix Session Handling Problem again 2009-10-24 15:52:47 +00:00
Jörg Lehrke
291d3b04cb Add X-RECURRENCE-ID for vCal 1.0 2009-10-24 15:52:06 +00:00
Christian Binder
08efec194f fixed not found user sessions while working with notifications and assured that all_no_sort param gets handed over to handler class 2009-10-23 13:07:11 +00:00
Ralf Becker
ec5d0cb0c5 "fixed hook signature to always be an array (even if user code only supplys a location-string)" 2009-10-20 07:11:58 +00:00
Christian Binder
c7966ba8a4 little helper for prefs if unserialize failed - this can happen if the pref comes from an installation with another charset than the current system charset 2009-10-19 21:15:12 +00:00
Jörg Lehrke
bfa071c319 Funambol Client 4 Android uses version 2 and is pretty new 2009-10-19 20:27:55 +00:00
Ralf Becker
0d48d6021e "setting a higher CHUNK_SIZE to improve performance" 2009-10-19 07:47:06 +00:00
Ralf Becker
df8217ff61 "fix to cope with $vars[0] containing '%2' in lang() calls" 2009-10-19 07:41:03 +00:00
Ralf Becker
e1e712c9fb php5 constructor and constants for default and forced prefs owner 2009-10-18 12:45:09 +00:00
Jörg Lehrke
431530c8bb Fix RRULE colon bug 2009-10-17 21:59:12 +00:00
Ralf Becker
c1f385be48 "fix autoindex to work with iterator" 2009-10-17 12:22:40 +00:00
Ralf Becker
447c8b618a Using an iterator to query addressbook in chunks of 100 contacts to
allow to do propfinds on hugh addressbooks independent of memory_limit:
- regular groupdav_handler::profind() method gets split in a method just
  computing a filter and a callback to run that filter on the backend
- groupdav_propfind_iterator class is returned from profind method
  instead of an array with information about the files
- iterator calls groupdav_hander::propfind_callback if there are no more
  entries from the previous call
- constructor of groupdav_propfind_iterator allows to pass an extra array
  with files to return, to simplify modifying existing implementation
  (were eg. information about the current path, get's supplied from
  calling groupdav class).
2009-10-17 09:13:36 +00:00
Ralf Becker
e0a9ae63cf "fix allowing (at least in the calendar GUI under Linux) to enter curing events starting prior to 1970" 2009-10-16 05:13:52 +00:00
Ralf Becker
c4e9e875a2 "- fixed error prefenting updating of locks
- added constant do enable debuging of locks"
2009-10-13 21:05:09 +00:00
Ralf Becker
c0eec4aa07 "quiten permanent error_log" 2009-10-13 19:18:38 +00:00
Jörg Lehrke
7c4592434c Adds COUNT to VTIMEZONE RRULE and fixes year selection 2009-10-12 20:11:57 +00:00
Christian Binder
501e715561 re-added support for gzipped and unzipped files for db restore on empty installations - was (maybe accidentally) removed with housekeeping feature 2009-10-12 13:28:28 +00:00
Ralf Becker
3cbf249bea "setting minimum php version to 5.2" 2009-10-12 09:48:04 +00:00
Ralf Becker
624cf172e8 "fixed wrong path buildng (missing slash)" 2009-10-12 09:46:36 +00:00
Ralf Becker
756ecd2b18 "updated function_backtrace to show if class method is called static (::) or not (->)" 2009-10-12 09:44:36 +00:00