Commit Graph

3833 Commits

Author SHA1 Message Date
Jake Spurlock
448dd9d63c Site Health: Only run the version checks on the main site.
The version checks that are setup in `wp-includes/update.php` do set up the action, but only for the main site.

Fixes #52135.

Props audrasjb, SergeyBiryukov, maxpertici, aaribaud.
 


git-svn-id: https://develop.svn.wordpress.org/trunk@50035 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-27 23:25:55 +00:00
Joe Dolson
8023f34a6a Revisions: Generate correct number of columns in wp_text_diff.
The function `wp_text_diff` generated an invalid table structure if the $args parameter contained any values. This patch corrects the structure generated by `wp_text_diff` and related usages so that the column count matches the data generated. Additionally, this patch passes arguments to the Revisions screen so that the screen has column headings that reflect the content in each column. Improves the accessibility and usability of the Revisions table.

Props joedolson, mehulkaklotar, afercia, adamsilverstein, zodiac1978, jeremyfelt
Fixes #25473

git-svn-id: https://develop.svn.wordpress.org/trunk@50034 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-27 21:52:10 +00:00
Joe Dolson
482a549085 Administration: Remove italic text to improve readability.
Italicized text can be difficult to read for some people with dyslexia or related forms of reading disorders. This removes italics on a number of larger blocks onpm run grunt rpf text in the admin. This has been a task 5.3; this commit closes the task. Further instances of italicized text should be addressed individually.

Props afercia, xkon, audrasjb
Fixes #47327

git-svn-id: https://develop.svn.wordpress.org/trunk@50032 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-27 21:02:12 +00:00
Kelly Choyce-Dwan
9f03cdadcb Administration: Standardize colors used in CSS to a single palette.
This is part of a larger project in cleaning up core's admin CSS. This collapses all colors used in the CSS to one of 12 blues, greens, reds, and yellows, 13 grays, pure black, and pure white. The colors are perceptually uniform from light to dark, half of each range has a 4.5 or higher contrast against white, the other half has a 4.5 or higher contrast against black.

Standardizing on this set of colors will help contributors make consistent, accessible design decisions. The full color palette can be seen here: https://codepen.io/ryelle/full/WNGVEjw

Props notlaura, danfarrow, kburgoine, drw158, audrasjb, Joen, hedgefield, ibdz, melchoyce.
See #49999.



git-svn-id: https://develop.svn.wordpress.org/trunk@50025 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-26 18:53:55 +00:00
pento
04237613be Export: Create an export-specific filter for post titles.
Since WordPress 2.5 and 2.6, `post_content` and `post_excerpt` have both had export-specific filters: `the_content_export`, and `the_excerpt_export`, respectively. `post_title`, however, has used `the_title_rss`, which behaves differently in two important ways:

- It strips HTML tags from the string.
- It HTML-encodes the title string.

These behaviours are not ideal for exports, since it changes the post title, resulting in data loss in export files, and incorrect post duplicate matching on import. This changes replaces the usage of `the_title_rss` with a new filter, `the_title_export`. The new filter is intended to be used in the same as `the_content_export` and `the_excerpt_export`.

Props jmdodd, audrasjb.
Fixes #52250.



git-svn-id: https://develop.svn.wordpress.org/trunk@50011 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-25 00:08:02 +00:00
Sergey Biryukov
9826935198 Docs: Document globals in dropdown_categories() and dropdown_link_categories().
Props umangvaghela123, pawki07.
Fixes #41504.

git-svn-id: https://develop.svn.wordpress.org/trunk@50008 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-24 13:58:17 +00:00
Sergey Biryukov
d062656b8a Docs: Fix typo in WP_Links_List_Table DocBlock.
Props audrasjb.
Fixes #52349.

git-svn-id: https://develop.svn.wordpress.org/trunk@50002 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-23 07:23:28 +00:00
Sergey Biryukov
21b667b840 External Libraries: First pass at fixing jQuery deprecations in WordPress core and bundled themes.
To be able to disable jQuery Migrate as step 3 of updating the jQuery version shipped with WordPress, all `JQMIGRATE` warnings in the browser console will have to be addressed.

This includes many minor adjustments to a wide array of core files.

Follow-up to:
* Step 1: Disabling jQuery Migrate 1.4.1 in WordPress 5.5: [48323], [48324]
* Step 2: Updating jQuery to 3.5.1 and adding jQuery Migrate 3.3.x in WordPress 5.6: [49101], [49338], [49615], [49649]

Props Clorith, azaozz.
See #51812.

git-svn-id: https://develop.svn.wordpress.org/trunk@50001 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-22 12:30:39 +00:00
Sergey Biryukov
9264f3ef77 Upgrade/Install: Display version number on the "Re-install now" button on WordPress Updates screen.
This makes the button label more clear and allows for removing unnecessary description.

Props afragen, audrasjb.
Fixes #51774.

git-svn-id: https://develop.svn.wordpress.org/trunk@49984 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-19 16:46:50 +00:00
Sergey Biryukov
b6830fabc4 Media: Use consistent method for instantiating an attachment author object in Media Library.
Previously, attachments without an author could cause a PHP fatal error due to calling the `::exists()` method on a `false` value.

Props antpb, carloscastilloadhoc, hellofromTonya, garrett-eclipse.
Fixes #52030.

git-svn-id: https://develop.svn.wordpress.org/trunk@49979 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-18 12:53:30 +00:00
Sergey Biryukov
fa7f87b546 Coding Standards: Improve code layout in wp-admin/includes/class-wp-media-list-table.php.
This allows for better readability and easier understanding of where each section opens and closes.

Props laxman-prajapati, hansjovisyoast, audrasjb.
Fixes #51014.

git-svn-id: https://develop.svn.wordpress.org/trunk@49975 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-18 09:48:23 +00:00
Sergey Biryukov
fdd9fa6107 Privacy: Use more consistent wording for strings related to personal data requests.
This replaces "user privacy" in various error messages with "personal data", for consistency with other existing strings.

Follow-up to [49090].

Props xkon, transl8or.
Fixes #51849.

git-svn-id: https://develop.svn.wordpress.org/trunk@49970 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-17 17:45:01 +00:00
Sergey Biryukov
f51a70931c Privacy: Clarify the "Contact information" heading in default privacy policy content.
The section is intended to tell how to contact the website owners, and is not about the visitor's contact information.

Props shital-patel, TylerTork, audrasjb.
Fixes #52272.

git-svn-id: https://develop.svn.wordpress.org/trunk@49956 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-11 19:51:52 +00:00
Sergey Biryukov
fcaf51bd20 Themes: Add missing <p> tags to error message in WP_Theme_Install_List_Table::prepare_items().
Follow-up to [45909], [49953].

See #52254.

git-svn-id: https://develop.svn.wordpress.org/trunk@49954 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-10 19:35:45 +00:00
John Blackbourn
8de262e8f8 Posts, Post Types: Introduce the wp_list_table_show_post_checkbox filter which allows the visibility of the bulk edit checkbox on the post list table to be controlled separately from the edit_post capability of the current user.
Props coreyw, alexstine

Fixes #51291


git-svn-id: https://develop.svn.wordpress.org/trunk@49950 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 17:16:28 +00:00
John Blackbourn
31476dc27c Plugins: Replace usage of $this in action and filter parameter docblocks with more appropriate variable names.
See #51800, #52217

Fixes #52243


git-svn-id: https://develop.svn.wordpress.org/trunk@49946 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 14:28:46 +00:00
John Blackbourn
9010454dfe Quick/Bulk Edit: By the power vested in me, I hereby declare the top bulk actions and the bottom bulk actions joined forever in MatrimonyScript.
This joyous marriage means that users will no longer find a selected top bulk action on a list table unexpectedly being applied instead of their selected bottom bulk action. The top and bottom controls for changing user roles are equally wedded forever too.

Props clayray, subrataemfluence, garrett-eclipse, pbiron, hareesh-pillai

Fixes #46872


git-svn-id: https://develop.svn.wordpress.org/trunk@49944 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-07 16:21:09 +00:00
John Blackbourn
de330964b1 Docs: Miscellaneous docblock corrections and improvements.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49942 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-07 14:15:27 +00:00
John Blackbourn
8153c8ba02 Docs: Corrections and improvements to types used in various docblocks.
See #51800, #52217


git-svn-id: https://develop.svn.wordpress.org/trunk@49936 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 17:14:24 +00:00
Sergey Biryukov
5c82078df7 Docs: Use more consistent descriptions for void|false return values.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49935 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 16:46:02 +00:00
Sergey Biryukov
715daf875a Docs: In various @return tags, list the expected type first, instead of false or WP_Error.
Follow-up to [46696], [47060], [49926], [49927].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49929 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-04 17:16:43 +00:00
John Blackbourn
679ccc35e6 Docs: Promote many bool types to true or false where only that value is used.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49927 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 22:02:13 +00:00
John Blackbourn
374b41ed13 Docs: Various docblock corrections particularly relating to boolean types.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49926 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 21:55:04 +00:00
Timothy Jacobs
85c8cca7d1 Site Health: Use a front-end URL for loopback tests.
In [49154] the async Site Health tests were changed to use the REST API instead of admin-ajax. An unintended side effect of this change was that the loopback tests which tried to ping the site's `admin_url()` were no longer authenticated because admin-cookies aren't provided to the REST API.

This commit adjusts the loopback test to use the front-end `site_url` which checks that cron will function properly. A follow-up ticket will focus on tests that will cover the file editor checks.

Props Clorith.
Fixes #52097.
See #48105.


git-svn-id: https://develop.svn.wordpress.org/trunk@49917 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-02 20:07:24 +00:00
Sergey Biryukov
505e08e2c4 Export: Add post_modified and post_modified_gmt fields to the generated WXR export file.
This allows for more flexibility when determining which version of a post is the latest one, and makes it possible to implement import logic involving updating and adding revisions to existing posts or pages.

Props jmdodd.
Fixes #52180.

git-svn-id: https://develop.svn.wordpress.org/trunk@49910 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-28 15:24:37 +00:00
Sergey Biryukov
5321a2f082 Site Health: Add WP_MEMORY_LIMIT constant to debug info.
This complements the `WP_MAX_MEMORY_LIMIT` constant previously displayed there.

Props sanketchodavadiya, nre, talldanwp, noisysocks.
Fixes #51680.

git-svn-id: https://develop.svn.wordpress.org/trunk@49908 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-27 19:25:48 +00:00
Felix Arntz
e78d988aa2 Security, Site Health: Detect HTTPS support and encourage switching.
This changeset modifies the Site Health panel for HTTPS to provide more accurate recommendations based on whether the environment is already set up for HTTPS.

* Introduces `wp_is_using_https()` to check whether the site is configured to use HTTPS (via its Site Address and WordPress Address).
* Introduces `wp_is_https_supported()` to check whether the environment supports HTTPS. This relies on a cron job which periodically checks support using a loopback request.

Props Clorith, flixos90, miinasikk, westonruter.
Fixes #47577.


git-svn-id: https://develop.svn.wordpress.org/trunk@49904 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-23 19:11:20 +00:00
John Blackbourn
00dd0ba3b0 Upload: Introduce the {$action}_overrides filter that allows the overrides parameter for file uploads and file sideloads to be filtered.
The dynamic portion of the hook name, `$action`, refers to the post action.

Props iandunn, jakub.tyrcha, nacin, wonderboymusic, Mte90, johnbillion

Fixes #16849


git-svn-id: https://develop.svn.wordpress.org/trunk@49845 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-20 16:13:23 +00:00
John Blackbourn
6267e412f1 Upgrade/Install: Remove a duplicate description for the upgrader_overwrote_package action.
See #51800, #9757


git-svn-id: https://develop.svn.wordpress.org/trunk@49788 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-10 23:36:11 +00:00
Helen Hou-Sandi
83d9b86dc6 Update $_old_files for 5.6.
See #39943.


git-svn-id: https://develop.svn.wordpress.org/trunk@49774 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-08 21:48:22 +00:00
Timothy Jacobs
34e25034dd App Passwords: Store the "in use" option in the main network options.
Whether App Passwords are being used is a global featurel, not a per-network feature. This fixes issues on Multi Network installs if App Passwords are used on a different network from where they were created.

Props spacedmonkey.
Fixes #51939.
See [49752].


git-svn-id: https://develop.svn.wordpress.org/trunk@49764 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-07 15:57:03 +00:00
Timothy Jacobs
38361be8e6 App Passwords: Prevent conflicts when Basic Auth is already used by the site.
Application Passwords uses Basic Authentication to transfer authentication details. If the site is already using Basic Auth, for instance to implement a private staging environment, then the REST API will treat this as an authentication attempt and would end up generating an error for any REST API request.

Now, Application Password authentication will only be attempted if Application Passwords is in use by a site. This is flagged by setting an option whenever an Application Password is created. An upgrade routine is added to set this option if any App Passwords already exist.

Lastly, creating an Application Password will be prevented if the site appears to already be using Basic Authentication.

Props chexwarrior, georgestephanis, adamsilverstein, helen, Clorith, marybaum, TimothyBlynJacobs.
Fixes #51939.



git-svn-id: https://develop.svn.wordpress.org/trunk@49752 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-04 21:42:52 +00:00
Timothy Jacobs
babba89dd8 App Passwords: Ensure the Created At and Last Used dates are properly translated.
The `date_i18n` function is now used when formatting the dates in PHP instead of `gmdate` which doesn't handle localization properly.

Additionally, we now use a translation to get the date format to use instead of pulling from the `date_format` option which is only supposed to affect the front-end.

Lastly, when passing the date format to the Backbone JS template, we now use `wp_json_encode()` to format the value for JavaScript. This ensures that backslashes are properly preserved which are used by some locales to escape date formatting control characters.

Props pedromendonca, TimothyBlynJacobs, ocean90, hellofromtonya, SergeyBiryukov, antpb.
Fixes #51918.
See [35811].


git-svn-id: https://develop.svn.wordpress.org/trunk@49746 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-03 21:04:05 +00:00
Ian Dunn
cac678f807 Multisite: Cache absolute dirsize paths to avoid PHP 8 fatal.
r49212 greatly improved the performance of `get_dirsize()`, but also changed the structure of the data stored in the `dirsize_cache` transient. It stored relative paths instead of absolute ones, and also removed the unnecessary `size` array.

That difference in data structures led to a fatal error in the following environment:

* PHP 8
* Multisite
* A custom `WP_CONTENT_DIR` which is not a child of WP's `ABSPATH` folder (e.g., [https://roots.io/bedrock/ Bedrock])
* The `upload_space_check_disabled` option set to `0`

After upgrading to WP 5.6, the `dirsize_cache` transient still had data in the old format. When `wp-admin.php/index.php` was visited, `get_space_used()` received an `array` instead of an `int`, and tried to divide it by another `int`. PHP 7 would silently cast the arguments to match data types, but [https://wiki.php.net/rfc/arithmetic_operator_type_checks PHP 8 throws a fatal error]: 

`Uncaught TypeError: Unsupported operand types: array / int`

`recurse_dirsize()` was using `ABSPATH` to convert the absolute paths to relative ones, but some upload locations are not located under `ABSPATH`. In those cases, `$directory` and `$cache_path` were identical, and that triggered the early return of the old `array`, instead of the expected `int`. 

In order to avoid that, this commit restores the absolute paths, but without the `size` array. It also adds a type check when returning cached values. Using absolute paths without `size` has the result of overwriting the old data, so that it matches the new format. The type check and upgrade routine are additional safety measures.

Props peterwilsoncc, janthiel, helen, hellofromtonya, francina, pbiron.
Fixes #51913. See #19879.



git-svn-id: https://develop.svn.wordpress.org/trunk@49744 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-03 20:37:43 +00:00
Sergey Biryukov
96b67833fe Upgrade/Install: Check $wp_version global for displaying "You are using a development version" message in the admin footer.
This brings some consistency with the same check in `core_upgrade_preamble()` and avoids a PHP warning if `$cur->version` is not set.

Additionally, remove the check for `$cur->url` property, unused since [8595].

Follow-up to [49708], [49709].

Props pbiron, afragen, audrasjb.
Fixes #51892.

git-svn-id: https://develop.svn.wordpress.org/trunk@49736 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-03 14:04:32 +00:00
John Blackbourn
f1e610531a REST API: Pass the previous state of the post as a parameter to the wp_after_insert_post hook.
This enables, for example, the previous post status to be used by this hook without the need to first capture it on an earlier hook.

This also fixes the value of the `$fire_after_hooks` parameter in `get_default_post_to_edit()` so the `wp_after_insert_post` action correctly fires just once on the new post screen.

Props Collizo4sky, peterwilsoncc, hellofromTonya, TimothyBlynJacobs, SergeyBiryukov

Fixes #45114


git-svn-id: https://develop.svn.wordpress.org/trunk@49731 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-01 20:45:43 +00:00
Sergey Biryukov
b1385b73fe Administration: Make sure row actions for recent comments in Activity dashboard widget stay visible when a single row gets focus.
Follow-up to [49142].

Props sabernhardt, kebbet, hareesh-pillai, pbiron.
Fixes #51886. See #51516, #49715.

git-svn-id: https://develop.svn.wordpress.org/trunk@49725 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-01 18:14:37 +00:00
Sergey Biryukov
39fd44dd59 Media: Revert [49567].
This addresses a regression with the pagination section in Media Library no longer taking additional query filtering into account.

Props iCaleb, trepmal, peterwilsoncc.
See #39968.

git-svn-id: https://develop.svn.wordpress.org/trunk@49720 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-01 16:31:30 +00:00
Sergey Biryukov
d6f17ebfef Upgrade/Install: Display "You are using a development version" message in the admin footer for Beta or RC versions.
This ensures that the message is displayed when the `WP_AUTO_UPDATE_CORE` constant is set to `beta` or `rc` and the user is on a development version.

Props afragen.
Fixes #51892.

git-svn-id: https://develop.svn.wordpress.org/trunk@49708 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-29 16:11:34 +00:00
John Blackbourn
f2c9d2851c Docs: Various docblock corrections relating to parameter types.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49692 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-24 21:20:36 +00:00
Sergey Biryukov
6511b5817f Site Health: Check if $core_updates is an array before iterating on it.
This avoids a PHP warning if `get_core_updates()` returns `false`.

Props paulschreiber.
Fixes #51818.

git-svn-id: https://develop.svn.wordpress.org/trunk@49676 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-21 14:37:44 +00:00
Sergey Biryukov
b304faf343 Docs: Add missing @since tags for WP_Upgrader_Skin methods.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49675 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-21 12:06:34 +00:00
John Blackbourn
4eeb1c3acf Docs: Add missing @since tags.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49671 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-19 17:52:52 +00:00
Sergey Biryukov
ab202d0148 Site Health: Add missing i18n for the App Passwords documentation link.
Follow-up to [49334].

Props tai.
Fixes #51815.

git-svn-id: https://develop.svn.wordpress.org/trunk@49650 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-18 15:02:07 +00:00
Sergey Biryukov
99d692ddfe App Passwords: Regenerate the .htaccess file to add a new rule.
Application Passwords introduced a new Rewrite Rule to handle the Authorization header on certain systems.

This bumps the database version and updates the file so the change is applied to sites upon upgrading to 5.6.

Follow-up to [49534].

Props pbiron, TimothyBlynJacobs, SergeyBiryukov.
Fixes #51723.

git-svn-id: https://develop.svn.wordpress.org/trunk@49632 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-17 17:22:32 +00:00
Sergey Biryukov
62d0303bb1 Plugins: Make sure the HTML ID attributes for plugin checkboxes are unique.
Follow-up to [48374].

Props helen, sabernhardt, kishanjasani, mukesh27, hareesh-pillai.
Fixes #51256.

git-svn-id: https://develop.svn.wordpress.org/trunk@49631 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-17 16:46:30 +00:00
Helen Hou-Sandi
56ffe940b0 Multisite: More consistency for clean_dirsize_cache().
Props SergeyBiryukov.
Fixes #19879.


git-svn-id: https://develop.svn.wordpress.org/trunk@49616 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-16 22:29:42 +00:00
Helen Hou-Sandi
117de3b2cd Posts, Post Types: Go back to "Auto Draft" for CPTs without title support.
Reverts [49288] due to late point in 5.6 cycle and lack of update in Gutenberg package to account for the string change.
See #45516.


git-svn-id: https://develop.svn.wordpress.org/trunk@49614 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-16 19:42:32 +00:00
Timothy Jacobs
2425a11255 App Passwords: Include authorization rewrite rule in default multisite .htaccess
This rule was previously added to `WP_Rewrite`, but multisite uses a different .htaccess generation mechanism.

Props pbiron.
Fixes #51772.
See [49109].


git-svn-id: https://develop.svn.wordpress.org/trunk@49607 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-15 17:44:56 +00:00
Sergey Biryukov
c375590c0e Docs: Add missing descriptions for _WP_List_Table_Compat methods.
Props johannadevos, SaeedFard, swissspidy, desrosj, SergeyBiryukov.
Fixes #46842.

git-svn-id: https://develop.svn.wordpress.org/trunk@49599 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-14 16:52:25 +00:00