Commit Graph

6940 Commits

Author SHA1 Message Date
Nathan Gray
e685a222dc Avoid JSON error popup by checking for the queue before using it 2013-03-13 19:31:06 +00:00
Nathan Gray
68529ce692 Load et2 CSS in at the top level so it's available for sidebox 2013-03-12 22:45:58 +00:00
Klaus Leithoff
203316af08 improve focus management by forcing carent in all browsers to be placed at the start of the loaded document 2013-03-08 13:14:14 +00:00
Klaus Leithoff
a2e75c3ca4 further work regarding the editor focus 2013-03-06 09:17:21 +00:00
Ralf Becker
93710e09e1 * Setup/API: improved diagnostics about db connection problem and not installed EGroupware
- removed deprecated egw_db->Halt_On_Error handling in favor of just exceptions
- added a couple of exceptions extending egw_exception_db to be able to detect different problem areas
- fixed setup to use / catch exceptions
- new egw_exception_db_setup displays link to setup below exception message, to cope with no longer allowed html in exception messages
2013-03-05 10:50:43 +00:00
Klaus Leithoff
9b0623ff3a fix typo/copy and past error on dataGetUIDdata 2013-03-04 16:25:39 +00:00
Klaus Leithoff
2b27946d6f * eMail/api: attempt to fix the focus on body issue with FF; thanks to CKEditor support 2013-03-04 11:50:17 +00:00
Ralf Becker
ea6e8c8e94 * ImportExport: do NOT complain about wrong charset, if text contains only standard ascii chars 2013-03-01 09:51:02 +00:00
Nathan Gray
9616e44aff Add ability to get all an application's preferences with '*' 2013-02-27 18:08:03 +00:00
Nathan Gray
987af6b473 Pass along internal lastModification time, and use it 2013-02-27 18:00:15 +00:00
Ralf Becker
139c12821a added method to access data: egw().dataGetUiddata(_uid) 2013-02-27 12:41:19 +00:00
Klaus Leithoff
3fcc703375 do not try to break out of egw server root when iterating over all apps 2013-02-26 11:08:20 +00:00
Ralf Becker
59e60c523b error-handler to throw recoverable errors (eg. catchable fatal error from type hinting) as ErrorException 2013-02-25 14:36:44 +00:00
Ralf Becker
84ed911c97 * CalDAV/CardDAV: removed unnecessary (double) etag generation and improved calendar etag generation for recurring events 2013-02-25 11:17:59 +00:00
Ralf Becker
a50f785224 fixed wrong call name2id to get account_lid of owner, causing lot of database access and returning nothing, as account_id for given 2013-02-25 10:30:44 +00:00
Ralf Becker
1d2a4ae065 ignore "broken" grants (eg. negative account_id for a user), as they lead to further errors (no members) 2013-02-25 09:48:58 +00:00
Ralf Becker
a6f869be64 * WebDAV/CalDAV/CardDAV: implemented support for clients sending passwords with non-ascii chars (eg. acents or umlauts) in iso-8859-1 instead utf-8: Firefox, Thunderbird, IE, Netdrive 2013-02-22 13:32:29 +00:00
Klaus Leithoff
a09ef26c5c use monospace fontstyle for plaintext edit; preserve whitespace (horizontal AND vertical) if mail is plaintext (not containing any html) 2013-02-22 10:58:39 +00:00
Klaus Leithoff
98120c44b3 omit unit, when no size is given; display unit to the user, so he knows what he is selecting 2013-02-22 09:45:47 +00:00
Klaus Leithoff
2315944590 preset font span, omit empty style elements completely 2013-02-22 09:27:35 +00:00
Nathan Gray
03c9c0804f Split panel widget. Mostly working, needs some more special case for working with nm - they both want full page 2013-02-22 00:25:41 +00:00
Ralf Becker
0c11206d91 change default font unit for new installs to "pt" and fixed not set font-size in email 2013-02-21 13:19:15 +00:00
Ralf Becker
f158a8c5d2 * Preferences/all apps: allow to specify font size unit of richtext editor: either "px" display pixels or "pt" as used in word processing 2013-02-21 11:32:46 +00:00
Ralf Becker
ef1756438e * Preferences/EMail: if user changed password, update password in session correct, so eg. EMail using that password keeps working 2013-02-21 09:43:38 +00:00
Ralf Becker
151b800a5a ignore . and .., as it gives an open_basedir warning, it is no application directory anyway 2013-02-21 06:32:30 +00:00
Ralf Becker
ea411d53c8 * Filemanager: removing extended ACL for groups was not immediatly reflected in rights of current user, had to log out and in again 2013-02-20 13:59:31 +00:00
Ralf Becker
9b88b849f6 * SiteMgr: sitewide config to allow proxys and CDNs caching of anonymous requests (Expires and Cache-Control header)
apps can now enable public caching by either setting $GLOBALS[egw_info][flags][nocachecontrol] to "public" (default php.ini session.cache_expire) or a numeric value in seconds, or call egw_session::cache_control()
2013-02-19 15:34:19 +00:00
Nathan Gray
89ec3ba866 Add some images of Class Diagram 2013-02-15 16:46:16 +00:00
Ralf Becker
d44e448976 include unsuccessfull session creation and reason in debug logging 2013-02-15 16:15:52 +00:00
Nathan Gray
a325583643 Add some overview of how this stuff fits together 2013-02-15 15:55:23 +00:00
Ralf Becker
52ea94cbee using LABjs to load javascript files in order via egw.includeJS 2013-02-15 15:30:35 +00:00
Nathan Gray
a3647e1b00 Implement refreshing a single UID, limit known UIDs sent to server to 200 2013-02-14 11:22:27 +00:00
Nathan Gray
547d125a30 Check app_refresh to not get an error if an application overrides app_refresh() instead of using register_app_refresh() 2013-02-14 11:11:17 +00:00
Nathan Gray
588c6141c9 Return true to not throw an exception if the plugin worked 2013-02-14 11:01:50 +00:00
Ralf Becker
5f1c76ae91 refactored js loading a bit, to be able to get files to load for et2 2013-02-13 16:28:39 +00:00
Ralf Becker
cbe137876a docu for egw_include_mgr 2013-02-13 16:27:52 +00:00
Ralf Becker
90370bc387 tracking state of existing script tags and allow to specify multiple callbacks for loading of javascript files 2013-02-13 16:26:42 +00:00
Klaus Leithoff
33aac37741 add new images to visualize that a folder may not be selectable 2013-02-13 13:57:35 +00:00
Nathan Gray
33e94d355c Fix app_refresh to support applications that set window.app_refresh instead of calling register_app_refresh() 2013-02-13 12:47:17 +00:00
Nathan Gray
f2fc558e19 - Add static methods to get into etemplate2 widget context from outside. Call etemplate2.getByApplication(app) or etemplate2.getByTemplate(name) for a list of etemplate2 objects
- Add register_app_refresh() function to allow applications to specify a more intelligent way to refresh them
- Change egw_refresh() to call registered refresh function, or if etemplate2 is available try that over reloading the whole page
2013-02-12 15:46:14 +00:00
Ralf Becker
4f247b26f8 merged translations and other uncommited ones 2013-02-08 19:03:20 +00:00
Ralf Becker
abba55b569 German translations from Stefan, plus some Suomi translations 2013-02-08 16:22:47 +00:00
Ralf Becker
763279562c fixed event handling in tree, added tree specific onSelect and onCheck events, implemented !multiple mode and fixed dhtmlxtree to not trigger onSelect if selection is change via set_value (according to their documentation) 2013-02-08 13:23:58 +00:00
Ralf Becker
52ac0dd0b3 fix lang.php always returning all translations, because preferences::standard_substitutes loads them 2013-02-07 15:32:18 +00:00
Nathan Gray
5513df1277 Fix bug in link handling that lost extra vars when extra vars are already in url 2013-02-06 15:04:26 +00:00
Nathan Gray
616e94a7b4 Add the ability to specify the client-side data cache prefix, to avoid collisions in applications where there can be more than one type of data 2013-02-06 10:49:46 +00:00
Ralf Becker
daac136f47 as et2 adds options as text, we can NOT use html entities, but direct utf-8 chars, which unfortunately php does not support as string literals, using html_entity_decode therefor 2013-02-05 11:24:02 +00:00
Klaus Leithoff
0bfa06c6b3 * API/CKEditor: Version update to 3.6.6 2013-02-05 09:56:01 +00:00
Klaus Leithoff
ddb75bebc5 russian translations provided by Vladimir N. Gavrilov 2013-02-04 16:38:56 +00:00
Ralf Becker
e47fca7d10 missing templates and a fix for new reply handling 2013-02-01 16:54:51 +00:00
Ralf Becker
685cc0ab26 ignore whitespace before and after equal sign in dkim tags 2013-01-30 16:40:41 +00:00
Ralf Becker
5521f110ec option to fold dkim signature, which is off by default as recommend for http and sign Authorization header - if given - as required by current iSchedule spec 2013-01-30 10:17:55 +00:00
Ralf Becker
1d96ed8cf9 added private-exchange to list of methods how to fetch public key 2013-01-30 07:42:17 +00:00
Ralf Becker
17a46f71b0 missing return false to fail if signature is expired 2013-01-29 22:44:31 +00:00
Ralf Becker
1f0523e522 improved dkim signature validation:
- whole signature can be folded
- values of bh, b and h tag can contain whitespace
- check optional expiry / x tag
2013-01-29 22:39:24 +00:00
Ralf Becker
d7204c520e User-Agent complient with https://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p2-semantics.html#header.user-agent 2013-01-29 22:11:42 +00:00
Ralf Becker
b67e43d3ed some changes to dkim signature:
- added User-Agent
- value of x tag is a unix timestamp, not value in secs
- no more oversigning of recipient header, due to new ischedule-relaxed header canon
plus method to check ischedule is available for a domain/email and method to send a freebusy request
2013-01-29 21:54:41 +00:00
Ralf Becker
90e85f4c19 added ken.name public key and setting correct http-status for logs 2013-01-29 19:33:42 +00:00
Ralf Becker
047a8aa9fa loop over attendee not participants, as we add organizer there 2013-01-29 18:19:16 +00:00
Ralf Becker
d97da6d309 modifications for new iSchedule draft:
- ischedule-relaxed header cannonisation
- error xml response
- modified capabilities with serial and iSchedule-Capabilities header in every response
- using urls with mailto: schema for Originator and Recipient headers
2013-01-28 22:00:33 +00:00
Ralf Becker
2fadcab928 modifications for iSchedule 2013-01-28 21:50:07 +00:00
Ralf Becker
c8f1733634 import of orginal version of PHP mail domain signer, required in enhanced form for iSchedule 2013-01-28 21:49:29 +00:00
Ralf Becker
f40a292865 updated capabilities query to current iSchedule spec from jan 2013 2013-01-28 18:15:44 +00:00
Ralf Becker
20e1299729 updated capabilities query to current iSchedule spec from jan 2013 2013-01-28 17:34:00 +00:00
Ralf Becker
9d8c2f42c9 * CalDAV: fixed accepting event removed it from calendar, because email address of a deleted account was prefered over regular account, correctly reporting not found URLs in multiget report 2013-01-25 17:52:28 +00:00
Ralf Becker
2841317b08 * all apps: exclude expired or deactivated accounts from all lists and selections (beside admin app to be able to activate them again) 2013-01-25 13:21:31 +00:00
Ralf Becker
4c060a5889 * Filemanager: introduced maximum symlink depth of 10, to stop infinit recursion in circular symlinks (eg. two symlinks pointing to each other) 2013-01-24 14:26:02 +00:00
Ralf Becker
9a9e6f0808 docu update 2013-01-24 09:30:30 +00:00
Ralf Becker
0f76ff5ab5 * CardDAV: fixed wrong privileges for accounts addressbook, causing clients to report it read-only even for admins 2013-01-22 08:37:58 +00:00
Ralf Becker
34f3c8bf1f * Admin/Setup: fixed restore always converted longtext columns to text and therefore truncating them to 64k on MySQL, also fixed backup to report them correctly in backup of schema 2013-01-21 09:49:59 +00:00
Ralf Becker
140d7498e8 added missing, but not used, parameter 2013-01-21 08:14:01 +00:00
Ralf Becker
be6845b4d0 * All apps: merged missing translations from other apps or branches 2013-01-18 13:48:34 +00:00
Ralf Becker
da811e3509 * CalDAV/Calendar/Ressources: readded missing resource- and location-calendars after recent changes in resources app 2013-01-18 13:07:11 +00:00
Nathan Gray
cfa0b7277a Fix for IE overflow from Anthony Messina 2013-01-17 23:29:14 +00:00
Nathan Gray
575464654c Move default app preference out of Text editor settings into template settings section 2013-01-17 23:21:28 +00:00
Klaus Leithoff
c8aaaa68cf handle php warning, when trying to call AddrAppend with empty object/array 2013-01-17 10:14:45 +00:00
Klaus Leithoff
d159f2b51f * API: adding library idna_convert by Matthias Sommerfeld, and some egw_wrapper for basic config and autoloading 2013-01-10 14:55:35 +00:00
Ralf Becker
5178d84537 1.5.001 update (1.4 --> 1.6): if filename not found in filesystem try with hardcoded iso-8859-1 charset instead of current utf-8 2013-01-04 07:27:31 +00:00
Klaus Leithoff
5d8531f66f adapt comment 2012-12-17 14:44:18 +00:00
Klaus Leithoff
a210fbc3c7 * email: 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 2012-12-17 14:39:00 +00:00
Nathan Gray
6c03b0ec39 Try to avoid conflicts between framework's egw_appWindow() & jsapi's egw_appWindow() 2012-12-12 19:45:27 +00:00
Klaus Leithoff
c3d2170518 remove CR from start and end of lang string line read from file, as it breaks stuff e.g. in eMail module 2012-12-12 10:18:40 +00:00
Klaus Leithoff
36bc7871c1 * API/Translation: fix bug with missing german umlauts as first letter of words; ( as php5.3.3 with squeeze does not support splitting lines with fgetcsv while reading properly if the first letter after the delimiter is a german umlaut (UTF8 representation thereoff)) 2012-12-12 09:42:56 +00:00
Nathan Gray
c067e2ccb7 Do the check in a way that matches correctly for all 2012-12-11 15:31:35 +00:00
Nathan Gray
cf5269f6d1 Check for empty user font preference span, and remove it so empty checks still work 2012-12-10 23:10:58 +00:00
Nathan Gray
340fec0611 - Remove debug
- Change font in results to match selected option and other selectboxes
2012-12-10 16:16:58 +00:00
Nathan Gray
cbb88e22cb Remove other places trying to set default ckEditor toolbar mode - using common preference 2012-12-05 20:22:13 +00:00
Nathan Gray
85c15e42fd Use preference for ckEditor features by default 2012-12-05 19:58:37 +00:00
Nathan Gray
3ee18797b0 Rework common preferences
- Better grouping
- Added preferences for rich text editor
  - Font
  - Font size
Take effect on new, blank editors.  Existing data is untouched.
2012-12-04 22:21:59 +00:00
Klaus Leithoff
6a2b8882de for replaceTagsCompletely modify the prex for singeltons (as we are in Ungreedy mode, so we expect * to be ungreedy without specifying ?) 2012-12-04 14:13:36 +00:00
Nathan Gray
74931d30a9 Return the result of opening so caller can use it 2012-12-04 00:13:12 +00:00
Nathan Gray
713a78dc96 Add a new debug level that includes a stack trace 2012-12-04 00:12:13 +00:00
Nathan Gray
d0fa6110d1 Use CSS to style preference tabs 2012-12-03 18:36:00 +00:00
Klaus Leithoff
f231144c03 * eMail: use different image to show that a image was not loaded (due to allowExternalIMGs=no) 2012-11-29 13:55:45 +00:00
Klaus Leithoff
6378d289ca use better defaults for some egw_info server values (num_unsuccessful_id, num_unsuccessful_ip, block_time) 2012-11-29 11:13:58 +00:00
Nathan Gray
b0e47a70f7 Fix bug where multi-select default text was not fully shown 2012-11-27 22:24:25 +00:00
Nathan Gray
2ea64a658b Better handling of different hights & open up vs down 2012-11-27 21:32:53 +00:00
Nathan Gray
4dc9f6a472 Fix for chosen results pushing down bottom of popup window 2012-11-26 22:55:09 +00:00
Nathan Gray
284a644069 Use parent method to generate top menu 2012-11-26 16:13:41 +00:00
Ralf Becker
15df850d28 ignore not (yet) existing mailaccounts table, but not checking for emailadmin, as it is not set in setup 2012-11-22 14:58:34 +00:00
Ralf Becker
350acd2157 handle not (yet) existing mailaccounts table eg. in setup or when no emailadmin installed 2012-11-22 13:25:22 +00:00
Nathan Gray
0b3836a9f5 If chosen selectbox is close to bottom of the page, open options above the selectbox 2012-11-21 16:22:29 +00:00
Ralf Becker
60a22fe179 accounts part missed in r40877: first take on migrating mail accounts from LDAP to SQL (only qmailUser schema) 2012-11-19 13:19:14 +00:00
Ralf Becker
12fa75f978 fix typo in comment 2012-11-19 08:24:47 +00:00
Ralf Becker
b82f6516e8 fixed not load translations if depending on multiple files and maintaining load_via in tree-wide cache 2012-11-16 09:21:17 +00:00
Nathan Gray
1484e44c00 Left align chosen selectbox contents 2012-11-15 17:40:46 +00:00
Klaus Leithoff
cd9e0cfab5 improved control of excess empty div tags 2012-11-15 15:30:11 +00:00
Ralf Becker
6341e8fc33 store group email in mailaccounts table 2012-11-15 15:26:35 +00:00
Klaus Leithoff
bea130bc23 if style stuff contains e.g. font-family: Kunstler Script EGroupware Script detection complains about script tags when posting such content. So we remove Script from inline style definition 2012-11-15 11:55:19 +00:00
Nathan Gray
b83a19284a UI changes for chosen selectboxes 2012-11-14 20:33:33 +00:00
Nathan Gray
8b55a21206 More changes to use chosen for fancy selectboxes - apply to egw multi-select and select user too 2012-11-13 22:14:00 +00:00
Nathan Gray
f72a582532 Use chosen plugin for to get fancy selectboxes. Selectboxes with more than 12 options get it turned on automatically 2012-11-12 19:29:23 +00:00
Ralf Becker
234a8a8154 check if we use cookies for the session, but no cookie set: happens eg. in sitemgr (when redirecting to a different domain) or with new java notification app 2012-11-12 09:48:31 +00:00
Klaus Leithoff
3420b15ff4 mailheader-decoding: check if there is a possible nested encoding; make sure that the inputstring and the decoded result are different before recursively calling decodeMailHeader on the decoded result (to avoid loops) 2012-11-07 11:46:14 +00:00
Klaus Leithoff
b48bee9406 use NEW exception for assertion failed 2012-11-06 10:36:25 +00:00
Nathan Gray
2218fd8956 Fix category search missing when result is a child, but parent does not match too 2012-11-05 17:56:03 +00:00
Ralf Becker
1e53272309 loading all translations in one go from cachem, saving some latency 2012-11-05 13:24:52 +00:00
Ralf Becker
a709f6104f * Setup/API: translations are no longer installed in database, but loaded directly from lang-files into tree-level cache 2012-11-05 12:18:22 +00:00
Klaus Leithoff
4957c77f74 allow to access ReplyTo of MailObject by extending classes; provide Function to retrieve replyTo Address; alter Method to detect wether a filename is already encoded, and if - do not try to use the basename as filename 2012-11-05 08:48:13 +00:00
Ralf Becker
b48e399253 fix for bug #3164: Lines containing accents are truncated in vCard exports 2012-11-01 17:23:40 +00:00
Ralf Becker
06bc5ea552 do NOT delete preferences, before writing them in preferences::save_repository (might be cause for race-condition causing preferences to be lost) 2012-10-31 14:16:17 +00:00
Ralf Becker
8c4125e75c * Admin: new function "Clear cache and register hooks", also called automatic when restoring a backup 2012-10-31 14:00:34 +00:00
Ralf Becker
b514745d01 * Admin: new function "Clear cache and register hooks", also called automatic when restoring a backup 2012-10-31 13:56:40 +00:00
Ralf Becker
49a0d70324 correctly urlencode redirects if we have no ntlm available 2012-10-30 14:43:10 +00:00
Klaus Leithoff
627c65e6dd * eMail/HTMLawed: introduce and use new make_tag_strict option 3, to exclude font from applying strict measures to it 2012-10-30 14:24:08 +00:00
Ralf Becker
d28f83d70e disable permanent error-log and tests 2012-10-30 12:25:10 +00:00
Ralf Becker
7cd606e529 cumulate group-preferences of all memberships of a user, not just his primary group 2012-10-30 10:22:05 +00:00
Ralf Becker
71cebbf12e allow to query cache for multiple locations at once: $location param to getCache is an array and returned is an array indexed by these locations (not found entries are NOT returned 2012-10-30 10:02:37 +00:00
Klaus Leithoff
9c73af1aca * eMail: 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 2012-10-29 15:49:13 +00:00
Ralf Becker
c327cba153 consistently send ETag by using and extending put_response_headers 2012-10-29 12:23:17 +00:00
Ralf Becker
aca3b3b028 * CalDAV/CardDAV: fix not working logging of errors into traffic log 2012-10-29 12:14:33 +00:00
Ralf Becker
f7cc51ad18 do NOT minify ckeditor, as it breaks it (it is already minifyed anyway) 2012-10-26 10:00:05 +00:00
Ralf Becker
18fe5c1d4b fixed minify issues: installation in docroot is now handeled, as well as problems with jscalendar and email 2012-10-26 09:24:39 +00:00
Ralf Becker
7a981eba15 using pseudo-sessionid for ownCloud remote.php url too, as we otherwise generate lots of new sessions 2012-10-25 12:51:28 +00:00
Ralf Becker
99e1cad866 * Filemanager/WebDAV: support for newer ownCloud clients (eg. version 1.1.1) 2012-10-24 16:25:53 +00:00
Klaus Leithoff
5b295573dd introduce detect_encoding functionality as a static function (used in decodeMailHeader as of now) 2012-10-24 10:54:44 +00:00
Ralf Becker
79d2c8f8a1 fixed typo causing alert with "undefied" message, instead of an error 2012-10-24 09:52:00 +00:00
Ralf Becker
b6a2d9591f koping with EGroupware installed direct in docroot (webserver_url "", "/" or "http(s)://domain.com/") 2012-10-24 06:27:56 +00:00
Ralf Becker
a6190a6933 * API: only cache in APC by default, if it has at least 64M of shared memory, otherwise use filesystem 2012-10-23 07:49:21 +00:00
Ralf Becker
c87d6997ab * CalDAV: fixed parsing of principal urls used by iOS6 for users 2012-10-22 16:43:51 +00:00
Ralf Becker
6996efe50b use minify on javascript files: for now minify does NOT support query parameters, nor php files generating javascript, therefore these are excluded 2012-10-15 17:22:44 +00:00
Ralf Becker
82c73c423e patch for minify to support EGroupware set up as an alias, which is a common setup 2012-10-15 16:22:42 +00:00
Klaus Leithoff
019a84cd17 update htmLawed to Version 1.1.14 (including adaptions from http://www.bioinformatics.org/phplabware/forum/viewtopic.php?id=235) 2012-10-15 09:33:01 +00:00
Ralf Becker
4e8f54268c fix for typo: path_url --> parse_url 2012-10-15 06:51:54 +00:00
Ralf Becker
71ec92a777 cache, concat and minify all css resources to speed up requests, javascript files planned too 2012-10-14 19:38:32 +00:00
Ralf Becker
4c5b764347 allow to use HTTP_HOST (without optional port) or SERVER_NAME to find matching instance 2012-10-12 15:11:42 +00:00
Klaus Leithoff
db78e25cc0 rework changes regarding denied attributes; improve import of mails regarding filename detection for attachments 2012-10-10 10:37:45 +00:00
Klaus Leithoff
259a917e38 ckeditor (current) version 3.6.4 2012-10-09 15:03:32 +00:00
Klaus Leithoff
7e827dfcef filter/remove (on(before)?(abort|blur|change|click|dblclick|error|focus|keydown|keypress|keyup|load|mousedown|mousemove|mouseout|mouseover|mouseup|reset|select|submit|unload)) attributes in/with htmLawed for default and email config 2012-10-09 09:27:13 +00:00
Ralf Becker
1b98e9e858 requests in log were always trunkated (since last changes) and fixed quoting in autoindex for hierarchical props in collection resources 2012-10-08 11:20:29 +00:00