Commit Graph

331 Commits

Author SHA1 Message Date
Boone Gorges
f7f4fb01ab Fix comment_order for single page comment threads.
The old comment pagination logic had a separate block for comment threads that
appeared on a single page. After the refactoring in [34561], all comment
pagination logic is unified.

This change ensures that 'comment_order' is respected in all scenarios.

Fixes #8071.
Built from https://develop.svn.wordpress.org/trunk@34669


git-svn-id: http://core.svn.wordpress.org/trunk@34633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 19:30:26 +00:00
Scott Taylor
fa90b77ba4 Comments: in WP_Comment::get_children(), accept an array so that the values for format, status, hierarchical, and orderby can be passed, instead of just format. The defaults for get_comments() include status = 'all' and orderby = '' - which is no bueno.
For threaded comments, we need comments to be retrieved within bounds, so logged-out users don't see unmoderated comments on the front end, etc.

Updates unit tests.

See #8071.

Built from https://develop.svn.wordpress.org/trunk@34569


git-svn-id: http://core.svn.wordpress.org/trunk@34533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-26 02:25:26 +00:00
Boone Gorges
18d6b3c8dc Force comment pagination on single posts.
Previously, the 'page_comments' toggle allowed users to disable comment
pagination. This toggle was only superficial, however. Even with
'page_comments' turned on, `comments_template()` loaded all of a post's
comments into memory, and passed them to `wp_list_comments()` and
`Walker_Comment`, the latter of which produced markup for only the
current page of comments. In other words, it was possible to enable
'page_comments', thereby showing only a subset of a post's comments on a given
page, but all comments continued to be loaded in the background. This technique
scaled poorly. Posts with hundreds or thousands of comments would load slowly,
or not at all, even when the 'comments_per_page' setting was set to a
reasonable number.

Recent changesets have addressed this problem through more efficient tree-
walking, better descendant caching, and more selective queries for top-level
post comments. The current changeset completes the project by addressing the
root issue: that loading a post causes all of its comments to be loaded too.

Here's the breakdown:

* Comment pagination is now forced. Setting 'page_comments' to false leads to evil things when you have many comments. If you want to avoid pagination, set 'comments_per_page' to something high.
* The 'page_comments' setting has been expunged from options-discussion.php, and from places in the codebase where it was referenced. For plugins relying on 'page_comments', we now force the value to `true` with a `pre_option` filter.
* `comments_template()` now queries for an appropriately small number of comments. Usually, this means the `comments_per_page` value.
* To preserve the current (odd) behavior for comment pagination links, some unholy hacks have been inserted into `comments_template()`. The ugliness is insulated in this function for backward compatibility and to minimize collateral damage. A side-effect is that, for certain settings of 'default_comments_page', up to 2x the value of `comments_per_page` might be fetched at a time.
* In support of these changes, a `$format` parameter has been added to `WP_Comment::get_children()`. This param allows you to request a flattened array of comment children, suitable for feeding into `Walker_Comment`.
* `WP_Query` loops are now informed about total available comment counts and comment pages by the `WP_Comment_Query` (`found_comments`, `max_num_pages`), instead of by `Walker_Comment`.

Aside from radical performance improvements in the case of a post with many
comments, this changeset fixes a bug that caused the first page of comments to
be partial (`found_comments` % `comments_per_page`), rather than the last, as
you'd expect.

Props boonebgorges, wonderboymusic.
Fixes #8071.
Built from https://develop.svn.wordpress.org/trunk@34561


git-svn-id: http://core.svn.wordpress.org/trunk@34525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 20:40:25 +00:00
Scott Taylor
498b2d7e33 Comments: In comment_form(), move the comment textarea to the top for logged-out users when replying, improves keyboard/focus navigation.
Rehabilitate errant tabbing and extra unnecessary `<?php ?>` toggling.

Props afercia, adamsilverstein.
Fixes #29974.

Built from https://develop.svn.wordpress.org/trunk@34525


git-svn-id: http://core.svn.wordpress.org/trunk@34489 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 22:00:28 +00:00
Scott Taylor
2c23ca7411 Comments: in comment_form(), add args for cancel_reply_before and cancel_reply_after to eradicate remaining hard-coded HTML bits.
Props MikeHansenMe.
Fixes #23797.


Built from https://develop.svn.wordpress.org/trunk@34523


git-svn-id: http://core.svn.wordpress.org/trunk@34487 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 21:33:26 +00:00
Scott Taylor
169db9dbb1 Comments: add a 'comment_excerpt_length' filter to get_comment_excerpt().
Create the first ever unit tests for `get_comment_excerpt()`.

Props dannydehaan, wonderboymusic.
Fixes #27526.

Built from https://develop.svn.wordpress.org/trunk@34520


git-svn-id: http://core.svn.wordpress.org/trunk@34484 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 21:05:25 +00:00
Scott Taylor
595bad9f37 Comments: In comments_template(), set $wp_query->comments_by_type to empty array if not separating comments. The value becomes stale otherwise. Edge case.
Props jakub.tyrcha.
Fixes #14809.

Built from https://develop.svn.wordpress.org/trunk@34503


git-svn-id: http://core.svn.wordpress.org/trunk@34467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 16:31:24 +00:00
Boone Gorges
a034a3394a Bail early when invalid ID is passed to get_comment_class().
This helps to avoid PHP notices later in the function.

Props walterebert, dipesh.kakadiya, DrewAPicture.
Fixes #33947.
Built from https://develop.svn.wordpress.org/trunk@34454


git-svn-id: http://core.svn.wordpress.org/trunk@34418 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-23 14:09:26 +00:00
Scott Taylor
1d0774e784 Add title_reply_before and title_reply_after args to comment_form() to allow the "Leave a Reply" heading level to be changed.
Props tyxla.
Fixes #33775.

Built from https://develop.svn.wordpress.org/trunk@34308


git-svn-id: http://core.svn.wordpress.org/trunk@34272 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 19:18:26 +00:00
Boone Gorges
32887d3dfb Lazy-load comment meta on single post pages.
[34268] introduced cache priming for commentmeta, enabled by default. To
ensure performance on single post pages - where commentmeta is most likely
to cause performance issues - we disable up-front cache-priming. Instead, we
prime commentmeta caches for all comments in the loop the first time
`get_comment_meta()` is called on the page.

Props bradt, dd32, wonderboymusic, boonebgorges.
Fixes #16894.
Built from https://develop.svn.wordpress.org/trunk@34270


git-svn-id: http://core.svn.wordpress.org/trunk@34234 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-17 20:01:24 +00:00
Scott Taylor
af593128a7 Revert [33925], by-reference array manipulation is breaking comments in some themes.
This implementation is losing its shine.

See #16894.

Built from https://develop.svn.wordpress.org/trunk@34245


git-svn-id: http://core.svn.wordpress.org/trunk@34209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 18:14:25 +00:00
Drew Jaynes
b1f176582c Docs: Add changelog entries for parameters where WP_Comment object support was added in [33961].
See #33638. See #32246.

Built from https://develop.svn.wordpress.org/trunk@34237


git-svn-id: http://core.svn.wordpress.org/trunk@34201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 13:52:25 +00:00
Scott Taylor
4139daea5e Apply the new 'respond_link' filter in comments_popup_link() if $number is 0 before outputting the URL.
Props joedolson.
Fixes #29454.

Built from https://develop.svn.wordpress.org/trunk@34216


git-svn-id: http://core.svn.wordpress.org/trunk@34180 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-15 20:46:35 +00:00
Scott Taylor
41c5bfb493 Comments: get_comments_link() should return a link with #respond as the hash instead of #comments if get_comments_number() returns 0.
Props cgrymala, wonderboymusic.
Fixes #19893.

Built from https://develop.svn.wordpress.org/trunk@34075


git-svn-id: http://core.svn.wordpress.org/trunk@34043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 07:36:25 +00:00
Scott Taylor
b453af5718 When clicking "Show More Comments" in the Comments meta box on the Edit Post screen, change the click behavior to call a new class method on commentsBox, ->load(), that resets st (cool name) to the number of visible <tr>s before calling ->get(). This will account for spam'd and trash'd comments when returning comments at the proper offset.
Props utkarshpatel.
Fixes #33829.

Built from https://develop.svn.wordpress.org/trunk@34069


git-svn-id: http://core.svn.wordpress.org/trunk@34037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 02:28:26 +00:00
Scott Taylor
fc328f5484 After [33961], pass $comment to get_comment_author_link() where possible to avoid extra cache/db lookups.
See #33638.

Built from https://develop.svn.wordpress.org/trunk@34039


git-svn-id: http://core.svn.wordpress.org/trunk@34007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 06:05:24 +00:00
Scott Taylor
592f3d9c6c After [33961], ensure that comment filters that expect a comment ID are receiving one.
Props dimadin.
Fixes #33809.

Built from https://develop.svn.wordpress.org/trunk@34008


git-svn-id: http://core.svn.wordpress.org/trunk@33977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 18:10:25 +00:00
Scott Taylor
d973339738 After [33891], get_comment() returns global $comment if no args are passed and the global is set (after setting the default to null here). This allows us to ditch global comment imports.
See #33638.

Built from https://develop.svn.wordpress.org/trunk@33963


git-svn-id: http://core.svn.wordpress.org/trunk@33932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 02:51:24 +00:00
Scott Taylor
67f90df6a4 Walker_Comment should be in its own file. Loaded now via wp-includes/comment.php, which makes it 100% BC.
See #33413.

Built from https://develop.svn.wordpress.org/trunk@33962


git-svn-id: http://core.svn.wordpress.org/trunk@33931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 02:41:24 +00:00
Scott Taylor
433c786bde After [33891], a lot of comment functions can take WP_Comment instead of only accepting comment_ID. Update the @param docs to reflect this.
See #33638.

Built from https://develop.svn.wordpress.org/trunk@33961


git-svn-id: http://core.svn.wordpress.org/trunk@33930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-09 02:34:24 +00:00
Scott Taylor
c231add9fe In wp_list_comments(), update the comment meta cache when the comments derive from WP_Query and the new ->comment_meta_cached prop is false.
There are no uses of `wp_list_comments()` in Core where `$comments` are passed as the 2nd argument.

Adds unit tests.

Props wonderboymusic, bradt.
Fixes #16894.

Built from https://develop.svn.wordpress.org/trunk@33925


git-svn-id: http://core.svn.wordpress.org/trunk@33894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-05 22:25:24 +00:00
Sergey Biryukov
695d3ee98b Merge two strings in Walker_Comment::comment() and Walker_Comment::html5_comment().
Props pavelevap.
Fixes #33744.
Built from https://develop.svn.wordpress.org/trunk@33919


git-svn-id: http://core.svn.wordpress.org/trunk@33888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-05 20:46:24 +00:00
Scott Taylor
e73ee5ac98 Introduce WP_Comment class to model/strongly-type rows from the comments database table. Inclusion of this class is a pre-req for some more general comment cleanup and sanity.
* Takes inspiration from `WP_Post` and adds sanity to comment caching. 
* Clarifies when the current global value for `$comment` is returned. The current implementation in `get_comment()` introduces side effects and an occasion stale global value for `$comment` when comment caches are cleaned.
* Strongly-types `@param` docs
* This class is marked `final` for now

Props wonderboymusic, nacin.

See #32619.

Built from https://develop.svn.wordpress.org/trunk@33891


git-svn-id: http://core.svn.wordpress.org/trunk@33860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-03 18:17:24 +00:00
Sergey Biryukov
f59f2a8e4f Restore rel='nofollow' for comment reply links to reduce extra crawling by search engines.
This reverts [16230], which didn't have enough review at the time of commit.

props joostdevalk.
see #22889, #18547, #16881.
Built from https://develop.svn.wordpress.org/trunk@33047


git-svn-id: http://core.svn.wordpress.org/trunk@33018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-02 11:09:25 +00:00
Mark Jaquith
cf38b016e8 Revert [33038] because of objections raised on #22889 and #31590
Built from https://develop.svn.wordpress.org/trunk@33042


git-svn-id: http://core.svn.wordpress.org/trunk@33013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-02 00:47:24 +00:00
Mark Jaquith
d51f1c1a0f Restore $noreplytext default value in comment_form_title()
props ocean90
see #22889
Built from https://develop.svn.wordpress.org/trunk@33039


git-svn-id: http://core.svn.wordpress.org/trunk@33010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 21:51:25 +00:00
Mark Jaquith
9d11efe23c Say goodbye to ?replytocom=123 links and their URL pollution.
* Comment reply links continue to use JS as before.
* ?replytocom=123 links are deprecated.

props joostdevalk
fixes #22889
Built from https://develop.svn.wordpress.org/trunk@33038


git-svn-id: http://core.svn.wordpress.org/trunk@33009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 21:42:25 +00:00
Konstantin Obenland
898bb2ed34 Remove allowed tags from comment form.
It can be confusing to users and for most it is not relevant.
Commenters comfortable with HTML will know which tags are likely
to be accepted.

Props krogsgard, rachelbaker.
Fixes #30157.


Built from https://develop.svn.wordpress.org/trunk@32858


git-svn-id: http://core.svn.wordpress.org/trunk@32829 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 14:15:26 +00:00
Scott Taylor
d71d2c062e In get_comment_reply_link(), when generating the reply link, add the replytocom query arg to the result of get_permalink() on the current $post, instead of the current global request URI.
Props nazmul.hossain.nihal.
Fixes #31333.

Built from https://develop.svn.wordpress.org/trunk@32786


git-svn-id: http://core.svn.wordpress.org/trunk@32757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 00:19:25 +00:00
Andrew Nacin
7080c8e24b Update comment caches in WP_Comment_Query, rather than comments template.
props dd32.
fixes #31081.

Built from https://develop.svn.wordpress.org/trunk@32769


git-svn-id: http://core.svn.wordpress.org/trunk@32740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-14 19:21:25 +00:00
Scott Taylor
bd8fafea54 Use void instead of null where appropriate when pipe-delimiting @return types. If a @return only contains void, remove it.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32568


git-svn-id: http://core.svn.wordpress.org/trunk@32538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-24 05:40:25 +00:00
Scott Taylor
876918dc53 Add missing doc blocks to comment-template.php.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32567


git-svn-id: http://core.svn.wordpress.org/trunk@32537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-24 05:19:24 +00:00
Sergey Biryukov
96f787260f In comment_form(), ensure that filtered arguments contain all required default values.
props boonebgorges.
fixes #32312 for trunk.
Built from https://develop.svn.wordpress.org/trunk@32511


git-svn-id: http://core.svn.wordpress.org/trunk@32481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-19 01:04:25 +00:00
Sergey Biryukov
ed0da72d97 Replace echo __() with _e().
props marsjaninzmarsa.
fixes #32239.
Built from https://develop.svn.wordpress.org/trunk@32333


git-svn-id: http://core.svn.wordpress.org/trunk@32304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-03 16:18:28 +00:00
Helen Hou-Sandí
3fdd3ba9b5 Don't add a class for comment authors who are members of the current site.
Reverts [32245] and [31518]. We'll keep the whitespace and comment clarification, though.

see #24054.

Built from https://develop.svn.wordpress.org/trunk@32259


git-svn-id: http://core.svn.wordpress.org/trunk@32230 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 23:36:25 +00:00
Helen Hou-Sandí
f8c7817077 Comment: rename the comment-author-is-site-member class to bysiteuser for consistency.
Final decision on keeping the class yet to be made.

props DrewAPicture.
see #24054.

Built from https://develop.svn.wordpress.org/trunk@32245


git-svn-id: http://core.svn.wordpress.org/trunk@32216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 14:20:25 +00:00
Drew Jaynes
88906c324b Remove backtick-escaping around a core function in the hook docs for the comment_form_submit_field filter.
See [31699]. See #31888.

Built from https://develop.svn.wordpress.org/trunk@32037


git-svn-id: http://core.svn.wordpress.org/trunk@32016 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:39:29 +00:00
Dominik Schilling
7de1a2e143 Comments: Move HTML tags for screen reader text into translatable strings.
Placeholders aren't helpful and it's much easier to make a mistake if you're dealing with placeholders.
Introduced in [31388].

props pento.
fixes #26553.
Built from https://develop.svn.wordpress.org/trunk@31821


git-svn-id: http://core.svn.wordpress.org/trunk@31803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-18 21:52:27 +00:00
Drew Jaynes
110d60c6cf Add a changelog entry to the DocBlock for comment_form() for the class_submit argument added in 4.1.
See [29809]. See #20446.

Built from https://develop.svn.wordpress.org/trunk@31803


git-svn-id: http://core.svn.wordpress.org/trunk@31785 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-17 18:38:29 +00:00
Boone Gorges
7e7a0304d2 Improved customizability for the Submit button in comment_form().
The new 'submit_button' and 'submit_field' parameters for `comment_form()`
allow developers to modify the markup of the submit button and its wrapper.
These params are accompanied by targeted 'comment_form_submit_button' and
'comment_form_submit_field' filters on the concatenated markup.

Props coffee2code, morpheu5, DrewAPicture, boonebgorges.
Fixes #15015.
Built from https://develop.svn.wordpress.org/trunk@31699


git-svn-id: http://core.svn.wordpress.org/trunk@31680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 19:08:26 +00:00
Jeremy Felt
646e643e5d Add comment-author-is-site-member class to comment output for site members.
Add a class to allow targeting of comments made by members of a site rather than users of the entire network.

Props Viper007Bond, MikeHansenMe.

Fixes #24054.

Built from https://develop.svn.wordpress.org/trunk@31518


git-svn-id: http://core.svn.wordpress.org/trunk@31499 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-23 02:52:24 +00:00
Sergey Biryukov
612b9e8ffd Replace hardcoded usage of comment-page with the comment pagination base.
props johnbillion, SergeyBiryukov, webord.
fixes #18084.
Built from https://develop.svn.wordpress.org/trunk@31459


git-svn-id: http://core.svn.wordpress.org/trunk@31440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-14 03:48:27 +00:00
Sergey Biryukov
7ff18dae4e Add .comment-reply-login class to get_post_reply_link(), for consistency with get_comment_reply_link().
props johnjamesjacoby.
fixes #31298.
Built from https://develop.svn.wordpress.org/trunk@31412


git-svn-id: http://core.svn.wordpress.org/trunk@31393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 16:11:28 +00:00
Sergey Biryukov
973d157615 Switch to a string placeholder, as number_format_i18n() returns a string.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31402


git-svn-id: http://core.svn.wordpress.org/trunk@31383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 05:45:28 +00:00
Sergey Biryukov
fdfd15aacc Use _n() in comments_popup_link() when setting the default string to display if there are more than one comment.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31401


git-svn-id: http://core.svn.wordpress.org/trunk@31382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:51:28 +00:00
Aaron Jorbin
c99149419d Add translator comments for new strings.
These strings were added in [31388].

Props ocean90.
Fixes 26553.


Built from https://develop.svn.wordpress.org/trunk@31389


git-svn-id: http://core.svn.wordpress.org/trunk@31370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 20:15:27 +00:00
Aaron Jorbin
4f08e9d383 Use screen reader text instead of a title attribute in comments_popup_link
To better understand screen reader text, check out https://make.wordpress.org/accessibility/2015/02/09/hiding-text-for-screen-readers-with-wordpress-core/

Screen Reader text improves the user experience for screen reader users. It provides additional context for links, document forms and other pieces of a page that may exist visually, but are lost when looking only at the html of a site.  This does change the output of comments_popup_link if you don't pass in values for $zero, $one, $more or $none. Theme authors can and should style <code>.screen-reader-text</code> in ways that are recommended in the above article to hide it visually.

Props joedolson
Fixes #26553




Built from https://develop.svn.wordpress.org/trunk@31388


git-svn-id: http://core.svn.wordpress.org/trunk@31369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 19:27:28 +00:00
Scott Taylor
5f9a800110 In comment_form(), add the HTML5 required attribute next to aria-required in fields that utilize it.
Props MMN-o.
Fixes #24732.

Built from https://develop.svn.wordpress.org/trunk@31204


git-svn-id: http://core.svn.wordpress.org/trunk@31185 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 15:56:23 +00:00
Sergey Biryukov
6e29458407 Remove a redundant inline comment with a typo.
props nicnicnicdevos.
fixes #30956.
Built from https://develop.svn.wordpress.org/trunk@31103


git-svn-id: http://core.svn.wordpress.org/trunk@31084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 21:29:24 +00:00
Scott Taylor
60b0cd7943 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31090


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00