Ralf Becker
e9295a5861
replaced PHP 5.5 boolval function with (bool) cast
2014-06-12 10:21:33 +00:00
Ralf Becker
95b89a0c9f
fixed under some conditions not working translations, caused by egw object calling translation::init and preceeding lang_arr with (en) translations, before lang.php calls add_app() with a single translation, now explicitly calling init() and init() allways empties lang_arr
2014-06-12 10:07:57 +00:00
Nathan Gray
44ae90b8d3
Avoid warning from explode() if type2 is already an array
2014-06-11 17:33:19 +00:00
Nathan Gray
80962c1963
No permission check when initializing link hooks for during asyncronous processing.
...
Fixes missing links in notifications.
2014-06-11 17:30:44 +00:00
Ralf Becker
76fc9f97dc
set $GLOBALS[egw_info][flags][async-service] (check with isset()), so emailadmin can check if there is no user-session
2014-06-05 11:05:45 +00:00
Ralf Becker
6efc08cc0a
* Notifications: fixed not used SMTP authentication and selection of mail account
2014-06-05 10:36:13 +00:00
Ralf Becker
f5d4cdf7c0
fix IDE warnings
2014-06-05 10:33:38 +00:00
Ralf Becker
854d17b46b
fix PHP Deprecated: preg_replace(): The /e modifier is deprecated
2014-06-05 08:52:08 +00:00
Ralf Becker
07cd6838f5
* Admin/Filemanager: creating groups did not create group directory, but damaged VFS (can be repaired with "Check virtual filesystem")
2014-06-04 09:26:29 +00:00
Ralf Becker
85c5468013
fixed old tree stuff to use new dhtmlx locations, allways use dhtmlxtree/codebase/dhtmlxcommon.js
2014-06-03 08:17:43 +00:00
Ralf Becker
960b50b83a
sync CalDAV default-alarm trigger/time to calendar preference
2014-05-28 10:57:02 +00:00
Nathan Gray
32f51ced99
Remove error log
2014-05-27 15:49:51 +00:00
Klaus Leithoff
5e44a189cc
other changes (keep_bad and -htmlawed-transform) that did affect the expected result of htmlawed v1.1.17 compared to v1.1.14
2014-05-27 15:26:06 +00:00
Klaus Leithoff
9924612245
allow cid as overall url schema; handle background url in htmLawed, as background is not allowed except for body, but commonly used with other tags (e.g. in td); control schema for background in hook_tag
...
introduce and use new make_tag_strict option 3, to exclude font from applying strict measures to it
allow table as inline element while balancing tags (new internal config option); try to correct common errors/problems in html-code which caused display/layout problems
2014-05-27 14:12:44 +00:00
Klaus Leithoff
f94e6bb501
* API/htmLawed: update to version 1.1.17
2014-05-27 13:52:02 +00:00
Ralf Becker
d1c25c7c38
* fixed SQL error "Field last_mod doesnt have a default value" on update for newer MySQL versions or PostgreSQL
2014-05-27 12:46:18 +00:00
Nathan Gray
e9d426111a
Keep unsorted favorites
2014-05-26 23:00:02 +00:00
Ralf Becker
baf7e2e97a
remove unnecessary and in PHP 5.5 deprecated preg_replace /e modifier
2014-05-26 14:29:40 +00:00
Ralf Becker
28b45639be
to give observer method of other apps more information about what to refresh, server-side adds now links to refresh-opener and therefore observer calls
2014-05-26 13:29:35 +00:00
Ralf Becker
c04f0ccc8f
fix not updated infolog in list, when timesheet is booked on it: added "row_mod" as maximum of info_modified, link_lastmod (incl. deleted ones) and timesheet_bo::sum() max_modified
2014-05-24 10:59:03 +00:00
Ralf Becker
4b9078eb7d
fix implementation of calling (set|get|unset)Cache with install_id to behave identical to call to (set|get|unset)Instance for current instances install_id (install_id was used directly in keys)
2014-05-22 11:21:02 +00:00
Klaus Leithoff
a50810f9a6
if kama is choosen as skin, use monocolor; kama-skin seems not be fully compatible with ckeditor requirements on skins; next ckeditor update will remove kama skin
2014-05-22 10:01:31 +00:00
Nathan Gray
a5cdc928f0
Call static methods staticly
2014-05-21 16:48:36 +00:00
Ralf Becker
e6304eec45
fixed PHP Fatal error: Attempt to unset static property accounts::$cache
2014-05-20 15:55:17 +00:00
Ralf Becker
c7d32e47d5
egw_cache::(get|set|unset)Cache($level,...) excepts now an install_id to use instance cache of given instance
...
accounts class uses now instance_id to access instance cache to support using it with multiple instances
instanciating accounts class with an array of config values clears now internal static cache and singelton instance
2014-05-20 08:59:29 +00:00
Ralf Becker
01a7875627
egw_cache::(get|set|unset)Cache($level,...) excepts now an install_id to use instance cache of given instance
...
accounts class uses now instance_id to access instance cache to support using it with multiple instances
instanciating accounts class with an array of config values clears now internal static cache and singelton instance
2014-05-20 08:59:23 +00:00
Ralf Becker
9602d061ad
* Setup: re-add config for mail authentication and fixed it to always try to use a TLS connection
2014-05-17 08:00:17 +00:00
Ralf Becker
c3b7018916
logging for exceptions now also request-method and user-agent
2014-05-16 09:09:38 +00:00
Ralf Becker
ef07aebbd4
* ProjectManager/Timesheet: automatic change a changed project-title in Timesheet too
2014-05-15 13:20:52 +00:00
Ralf Becker
802d4c5282
* ProjectManager: fixed parent projects were not updated with changes (you had to run sync-all manually
...
caused by running notifications delayed after response is send to user and to taking into account new notifications generated by notified apps
2014-05-15 13:14:09 +00:00
Ralf Becker
b25724e7ed
fixed setup uses cached config values for installs with multiple instances
2014-05-13 15:53:35 +00:00
Ralf Becker
e4e4aa97bc
flushing instance cache and config cache, after saving minimal config, fixing default_records of apps use not up to date data
2014-05-13 09:32:21 +00:00
Ralf Becker
927b6eacb3
seems webspellchecker in CKEditor uses now https, need to allow that instead of http in CSP policy
2014-05-08 16:46:59 +00:00
Ralf Becker
a345f2c47e
implemented search method in accounts sql backend, to no allways do a full query and limit in code
2014-05-08 13:35:22 +00:00
Ralf Becker
7c9df2fe1e
implemented search method in accounts sql backend, to no allways do a full query and limit in code
2014-05-08 12:30:03 +00:00
Ralf Becker
c29cb5c972
limiting a huge list of accounts returned not all accounts, because full search was limited too original number of requested rows
2014-05-08 08:50:57 +00:00
Nathan Gray
012b49838c
Send value/label pairs to preserve sorting
2014-05-06 20:33:40 +00:00
Ralf Becker
f806bee109
fixed PHP Fatal error: Call to a member function appsession() on a non-object when running as cron-job
2014-05-06 14:41:06 +00:00
Ralf Becker
6f98614b15
* Setup: fixed (partially) stalled installation, because caching could not find not yet created configuration
2014-05-05 12:33:33 +00:00
Ralf Becker
544d57ca46
prevent CSRF for setup and admin site configuration
2014-05-01 06:26:09 +00:00
Klaus Leithoff
7434cd7144
* Mail: fix for messed up signature in some cases; fix for not beeing able to delete/remave an attachment to a new mail that was attached using PRESET methods
2014-04-29 09:53:47 +00:00
Nathan Gray
08ecadcc99
Add support for querying multiple deleted links, same as single
2014-04-28 19:56:21 +00:00
Ralf Becker
d28315dc9f
disable help until content is reworked
2014-04-24 05:56:41 +00:00
Nathan Gray
48fa6611f3
Use a single client-side cache for account selection so we don't have to send it for every widget
2014-04-23 19:00:59 +00:00
Hadi Nategh
bc33bb842e
Fix not showing up sidebox fav items
2014-04-23 12:04:05 +00:00
Hadi Nategh
9805f019a1
* Favorites: Make favorites item sortable and store their orders as user preference
2014-04-23 11:42:48 +00:00
Ralf Becker
f2030c4746
added an implementation of imap_mime_header_decode() using Horde_Mime::decode() with which mail app now seems to work without PHP imap extension
2014-04-19 09:22:59 +00:00
Ralf Becker
54dc648b18
an implementation of imap_rfc822_parse_adrlist and imap_rfc822_write_address, to obsolete imap extension
2014-04-18 12:51:17 +00:00
Ralf Becker
6b7b6fac58
returning false and logging error in ExecMethod, not returning an error-message
2014-04-17 15:07:02 +00:00
Ralf Becker
f641c2cec6
open password in a popup
2014-04-17 07:37:21 +00:00
Ralf Becker
3b68b8bff8
need to consider caching when applying setup operations
2014-04-16 17:57:44 +00:00
Ralf Becker
cf6ae6ee77
empty array on insert/update, store as NULL, or if not allowed whatever value NULL is casted to
2014-04-15 08:15:23 +00:00
Klaus Leithoff
04760c6510
rework of translation::replaceTagsCompletley as the prior method removed too much in rare cases
2014-04-14 15:09:07 +00:00
Klaus Leithoff
c68e887a9c
remove references to obsolet felamimail stuff
2014-04-10 08:37:12 +00:00
Ralf Becker
88ac923de2
switched off permanent error_log
2014-04-09 08:49:07 +00:00
Ralf Becker
0a83c89f9f
fixed PHP Fatal error: Undefined class constant "SSL_TLS"
2014-04-09 08:41:57 +00:00
Ralf Becker
370dd66938
fixed send class to use new accounts stuff and not calling (no longer existing) felamimail
2014-04-09 08:22:59 +00:00
Ralf Becker
b5818b931f
patched PHPMailer to allow to use STARTTLS and TLS version>=1, enhanced wizard to autodetect hosted 1-and-1 domains by using Mozilla ISPDB on MX or domain-part of MX, fixed folder detection to not require folders below INBOX
2014-04-04 08:31:28 +00:00
Ralf Becker
97dc98453c
Horde_iCalendar::newComponent(): include relative from current dir, as we no longer set (old) Horde dir in include path
2014-04-01 13:41:45 +00:00
Ralf Becker
71b97568e5
restore include_path after include of (old) Horde lib/core.php to not conflict wth new Horde code installed in include-path
2014-04-01 12:33:14 +00:00
Ralf Becker
28a819926c
fixed fatal error class Horde_String not found when trying to save a new compose with attached vCard as draft
...
caused be previous include include of phpgwapi/inc/horde/Horde/String.php via use of vCard and old Horde code uses just String instead of Horde_String as class-name
2014-04-01 10:37:36 +00:00
Nathan Gray
5be831d9dc
Fix broken cache update when deleting a preference.
...
Before, it would only store the preference for the updated app instead of all.
2014-03-31 16:59:01 +00:00
Klaus Leithoff
f495345550
add some more examples for imap_rfc822_parse_adrlist
2014-03-28 09:48:09 +00:00
Ralf Becker
ca3f43838c
fixed IDE warnings
2014-03-28 07:49:49 +00:00
Klaus Leithoff
5547753502
first step for a workaround when there is no imap extension available; ToDo: implement imap_rfc822_parse_adrlist (used quite often)
2014-03-27 14:03:06 +00:00
Ralf Becker
9a10af6fe5
missed to commit parameter to parse CN from url
2014-03-25 12:22:00 +00:00
Ralf Becker
659ad40b50
display old html::form_1button like a button inline-block
2014-03-25 12:17:46 +00:00
Ralf Becker
1f0dd46118
as we use now etemplate_new for eTemplate2 and etemplate for old eTemplate class, there is no need to switch etemplate class between new and old
2014-03-23 08:41:31 +00:00
Nathan Gray
764d7f99a5
Update CSS order so apps can customize theme:
...
Libs < etemplate2 < framework/theme < app < print
2014-03-18 15:29:03 +00:00
Ralf Becker
77579f364f
fixe funny "Group, Name" label, should not contain a comma
2014-03-18 13:34:59 +00:00
Ralf Becker
804df769d5
fixed IDE warnings
2014-03-12 17:15:48 +00:00
Ralf Becker
f87e456be2
do not send/set extra data twice for multiple etemplate (eg. CRM view)
2014-03-10 15:20:27 +00:00
Ralf Becker
04442bb0cf
move actions stuff to api bundle, as loading just it fails with etemplate bundle split in two parts (fixes error reported on devel list)
2014-03-04 09:10:58 +00:00
Ralf Becker
11d77f3dab
fixed a couple of problems with automatic switch to idots template from mobile browsers: csp-error, wrong icons
2014-03-03 17:35:48 +00:00
Ralf Becker
f45c1e7d53
fixed all methods of common class are static
2014-03-03 17:33:55 +00:00
Ralf Becker
876a14ff52
new 4th parameter to egw_framework::includeCSS() to tell framework NOT to load any default CSS and make send_headers public
2014-03-03 14:54:03 +00:00
Ralf Becker
aa850d24fc
implemented account_type: (accounts|groups|both) option for taglist-account as available in select-account widget
2014-02-28 16:52:42 +00:00
Ralf Becker
f218f9412c
added note about certificate validation and some more diagnostics to error_log, for failed ADS auth
2014-02-27 12:05:37 +00:00
Klaus Leithoff
a46398da52
move groupdav to_ascii to translation class; unify content_header and content_disposition_header to be used by all downloads; adapt vfs_webdav_server thereof; try to improve replaceTagsCompletley
2014-02-25 15:48:23 +00:00
Ralf Becker
516713589f
* WebDAV/Filemanager: reject to save files by clients using chunked transfer-encoding on servers which does not support that (eg. OS X Finder with server using FastCGI PHP)
2014-02-24 12:40:10 +00:00
Ralf Becker
4ff1a4efd1
fixed after new shutdown handling broken autoloading of tree nodes: json.php is used to send arbitrary JSON data, instead using egw_json_response methods (egw_json_request::isJSONRequest(false) turns that off now)
2014-02-22 15:51:14 +00:00
Ralf Becker
2f3add4ce9
hook to allow apps to add addional domains to CSP frame-src, eg. used by sitemgr to allow access to its sites, also fixed not displayed sidebox menu of old apps
2014-02-21 17:06:11 +00:00
Ralf Becker
a786894c27
new egw::on_shutdown($callback, $args) method to register shutdonw handlers to run after output send back to user, thought only really working with fastCGI, Apache mod_php waits ...
2014-02-21 15:38:38 +00:00
Ralf Becker
796663c2a6
fixed modified translations were not automatic loaded after new login
2014-02-21 11:10:11 +00:00
Ralf Becker
a9b6c6e9b4
* CalDAV/CardDAV: fixed support for limited sync-collection report used eg. by Marten Gajdas Android apps
2014-02-20 17:46:15 +00:00
Nathan Gray
5949016faa
Move reading of favorites into a separate function from rendering list
2014-02-20 17:44:53 +00:00
Ralf Becker
3cbf1d24fb
* eTemplate/all apps: limit displayed history to 500 entries
2014-02-20 12:47:06 +00:00
Ralf Becker
a7f65672c8
* All apps: run link notifications after processing and returning control to user to speed up saving of entries with links to (big) projects
2014-02-20 11:29:51 +00:00
Ralf Becker
2f8b7064d8
allow to send a redirect from server-side via client-side egw.link_handler(url, app) allowing to specify which tab to use and a top-level (ajax=true) url
2014-02-19 15:08:51 +00:00
Ralf Becker
5734d2e143
fix some html markup IE complains about
2014-02-19 11:49:53 +00:00
Ralf Becker
e22df1b7e2
fixed user agent detection to report correct IE version to fix not longer used svg images after last fix, also fixed all IDE warnings
2014-02-18 19:21:34 +00:00
Ralf Becker
e6052f9704
automatic split bundles with more then 50 files into chunks, as IE11 does NOT cache them otherwise
2014-02-17 17:15:37 +00:00
Klaus Leithoff
0d458c8119
disable transaction for mysql for restore, as a failure during restore may lead to an empty database, as drop table is not transactional for mysql
2014-02-17 16:16:44 +00:00
Klaus Leithoff
1c013e92f0
IE changed its USER_AGENT string; html:: report trident; change this to msie when detected, to match the use of msie throughout egroupware; use moonocolor as fallback skin, when ie anf ff are detected
2014-02-17 13:56:17 +00:00
Klaus Leithoff
597e8fdeac
we allow filtered style sections now throughout egroupware
2014-02-17 11:35:25 +00:00
Klaus Leithoff
acd8b742e8
make sure that request parameters is array before binding/passing them to handle_request
2014-02-17 09:44:13 +00:00
Ralf Becker
ca12321613
fixed sitemgr-links show no navbar icon in Stylite/Pixelegg template
2014-02-16 09:12:08 +00:00
Ralf Becker
5e0ac9b76f
moved favorites code to new class egw_favorites
2014-02-14 13:48:45 +00:00
Ralf Becker
be60a5036e
older group-favorites have just true as their group and are not deletable, if we dont find correct group
2014-02-14 13:26:32 +00:00
Ralf Becker
0fa215c9e8
fixed sometimes not deletable favorites
2014-02-14 12:46:49 +00:00
Ralf Becker
e4d65ae94d
do NOT check for run rights of preferences app, as we want to be able to store implicit preferences
2014-02-13 16:34:09 +00:00
Ralf Becker
476f33af23
until home works again, we use default_app from prefs (if set and not home) or calendar, if allowed, or first app found
2014-02-13 13:18:48 +00:00
Ralf Becker
80d74f863e
fixed typo in adding classes causing image to be lost and cleaned up adding of classes
2014-02-13 11:00:29 +00:00
Ralf Becker
f0d7751496
removed caret from group favorites, fixed prefered favorite was not show correct initialy nor updated
2014-02-12 21:51:25 +00:00
Nathan Gray
1ca01da9b0
Fix missing group ID when deleting group favorites, fixes unable to delete group favorites
2014-02-12 17:33:22 +00:00
Ralf Becker
197b999d35
adding a css class for cancel, delete or yes/no buttons to "old" etemplate
2014-02-12 15:36:47 +00:00
Ralf Becker
384756ff71
explicitly allow svg for logo in navbar
2014-02-12 08:34:33 +00:00
Ralf Becker
0a5001ea11
explicitly allow svg for logo in login screen
2014-02-12 08:14:07 +00:00
Ralf Becker
28df2d8125
fixed buttons with just an image from html::submit_button() were shown like a button after changing tag from <input type="submit" to <button
2014-02-11 16:52:45 +00:00
Ralf Becker
436fe041e0
switching svg images off for everything but application icons in Stylite or Pixelegg template
2014-02-11 14:41:17 +00:00
Ralf Becker
a4c1c5ad72
include addressbook preferences in user.php, as some et2 widgets need this prefs and we dont want to block until they are loaded
2014-02-11 12:48:20 +00:00
Ralf Becker
6d17e87b0a
use egw_json_response::call() instead of deprecated script()
2014-02-11 12:16:16 +00:00
Ralf Becker
486303cde5
only allow caching, if login succeeds, otherwise we get a cached redirect to login
2014-02-10 09:15:29 +00:00
Ralf Becker
f97f223026
* CalDAV/Calendar: fixed invalid ics file for alarm exactly at the event
2014-02-10 08:53:16 +00:00
Ralf Becker
ca334ad13b
moving egw_preferences (handler to call preferenes, acl or categories) from jsapi.js to egw_preferences.js show_preferences() method
2014-02-07 14:04:12 +00:00
Ralf Becker
899c04abb5
using correct bit not just any overload setting
2014-02-07 14:02:48 +00:00
Ralf Becker
1b9c5d1363
display configuration with et2 like [save] [apply] [cancel] buttons, incl. old eTemplate apps
2014-02-05 16:25:35 +00:00
Ralf Becker
84d20661c2
fixed problem reported by Pedro Ribeiro
2014-02-04 13:50:23 +00:00
Ralf Becker
327123a588
preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available
2014-02-03 19:57:50 +00:00
Hadi Nategh
7f222b165d
Remove "BLACK DIAMOND SUIT" character from global categories
2014-02-03 09:19:59 +00:00
Ralf Becker
a7724dc6e5
remove Expires header from egw_session::cache_control(true), so have same behavior as session_cache_limiter("private_no_expire")
2014-01-28 15:06:47 +00:00
Ralf Becker
60e3037bf8
* CalDAV/Resources: fixed only first N resources were available in CalDAV (N = common preference how many entries to show)
2014-01-28 14:44:52 +00:00
Ralf Becker
d40025f732
allow to specify app for redirects (for Stylite or Pixelegg template)
2014-01-28 11:00:39 +00:00
Ralf Becker
55df2f5bb3
fix typo causing common::show_date to only work with default $adjust_to_usertime = true
2014-01-28 09:52:19 +00:00
Hadi Nategh
fbccbb87a3
Fix wrong styling in egw_tail log
2014-01-28 08:33:28 +00:00
Ralf Becker
99ce5b41f9
allow to optionally specify app for redirect instead of always using current app
2014-01-27 16:28:39 +00:00
Hadi Nategh
ea20648d39
Remove inline-scripts from egw_tail. Additionally, add a new library to jsapi related to egw_tail
2014-01-27 14:29:24 +00:00
Ralf Becker
8b3b5c84fc
fixed can NOT unset last (forced) preference of an app, also fixed not working delete_(user|group) code
2014-01-23 12:33:25 +00:00
Ralf Becker
d20ce47a8d
allways add "account_lid" to order of accounts, as groups only have that, also at ASC/DESC sort to each order criteria
2014-01-21 17:18:29 +00:00
Ralf Becker
ad04ba821d
allways add "account_lid" to order of accounts, as groups only have that, also at ASC/DESC sort to each order criteria
2014-01-21 17:15:08 +00:00
Ralf Becker
3418b002bf
move smbhash class to sambaadmin app, which is only user of it
2014-01-19 10:37:07 +00:00
Ralf Becker
6f5fea84f3
remove not used sessions_db class, was never converted to new egw_sessions
2014-01-19 10:30:23 +00:00
Ralf Becker
f07e51790a
removed outdated xmlrpc and soap service, it is off by default since couple of versions
2014-01-19 10:28:06 +00:00
Ralf Becker
6d87d0c1cf
remove never used rssparser from API
2014-01-19 10:27:15 +00:00
Ralf Becker
04b6349044
remove not used old fpdf stuff
2014-01-19 10:26:09 +00:00
Ralf Becker
192a0382ef
remove not used old fpdf stuff
2014-01-19 10:24:41 +00:00
Ralf Becker
4128514f04
removed outdated xmlrpc and soap service, it is off by default since couple of versions
2014-01-19 10:22:38 +00:00
Ralf Becker
edd07a9729
removed outdated xmlrpc and soap service, it is off by default since couple of versions
2014-01-19 10:19:49 +00:00
Ralf Becker
28673080f1
remove old API interserver class, drop its table and commented out functionality from admin
2014-01-19 09:54:14 +00:00
Ralf Becker
156000a5d5
remove not used http class
2014-01-19 09:41:45 +00:00
Ralf Becker
1d7e097ca3
remove not used PclZip class
2014-01-19 09:41:26 +00:00
Ralf Becker
c51337bdb5
removed old db class, which is since many version only extending egw_db class
2014-01-19 09:32:55 +00:00
Ralf Becker
6de6114e22
remove old API browser class, apps only used content_header method with is available as html::browser_header() with identical signature
2014-01-19 09:30:33 +00:00
Ralf Becker
5a8b145b7f
fixed caching in a couple of places:
...
- user.php was not reloaded if (session-)preferences changed eg. language via select-box in login, because we used Expires header, but did not force a different url
- (user|config|images).php now has etag on url, to force reload by browser as we use an Expires header (changed images still need Admin >> clear cache to rebuild image cache)
- preferences are now loaded via a cachable GET request
2014-01-18 17:43:15 +00:00
Klaus Leithoff
8276a2a448
fix for problem with style fragments on triggering mail compose build in html validation
2014-01-18 17:02:29 +00:00
Ralf Becker
496c34614d
switch on private (browser only) caching for read mail bodys, plus fix to switch it on after session was started
2014-01-18 14:52:47 +00:00
Ralf Becker
7879e7ac2e
disabling choosen by default, as we did in et2
2014-01-18 11:08:06 +00:00
Ralf Becker
bcba09973f
pass an id to _add_topmenu_info_item, so templates can use that to generate an id for each div
2014-01-17 09:23:23 +00:00
Ralf Becker
699b614ac1
re-adding cache buster to javascript urls, if debug_minify=True
2014-01-14 17:59:33 +00:00
Nathan Gray
16c922c199
Pay attention to user application permissions when going through link registry.
...
Fixes not available applications registering conflicting mimes with allowed applications.
2014-01-14 17:16:08 +00:00