Commit Graph

125 Commits

Author SHA1 Message Date
Sergey Biryukov
8e85299a00 General: First pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Props ianbelanger, tobifjellner, SergeyBiryukov.
See #47771.
Built from https://develop.svn.wordpress.org/trunk@45674


git-svn-id: http://core.svn.wordpress.org/trunk@45485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-25 22:45:57 +00:00
Gary Pendergast
4803fc405e Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Gary Pendergast
55af0f0d0a Coding Standards: Fix/ignore the WordPress.NamingConventions.ValidFunctionName violations.
See #47632


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


git-svn-id: http://core.svn.wordpress.org/trunk@45391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-01 08:01:57 +00:00
Sergey Biryukov
2e0e63f923 Users: In wp_list_authors(), check for author's post count before getting author's metadata.
This significantly reduces the number of SQL queries when `wp_list_authors()` is called on a site where the majority of users don't have any posts, e.g. a membership site.

Props billerickson, ianbelanger, dswebsme.
Fixes #45105.
Built from https://develop.svn.wordpress.org/trunk@45235


git-svn-id: http://core.svn.wordpress.org/trunk@45044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 14:50:50 +00:00
Sergey Biryukov
95541a86ff Docs: Correct parameter types for the_author(), get_the_author_meta(), and the_author_meta().
Props subrataemfluence.
Fixes #45596.
Built from https://develop.svn.wordpress.org/trunk@45086


git-svn-id: http://core.svn.wordpress.org/trunk@44895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-01 14:23:53 +00:00
Gary Pendergast
32ace06a39 Templates: Fix the return value of get_the_author_posts_link().
When the `$authordata` global isn't defined, return an empty string, rather than `void`.

Props mukesh27, subrataemfluence.
Fixes #45597.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-16 05:54:49 +00:00
Gary Pendergast
68f2d8f0af Docs: Correct the documentation for wp_list_authors().
The `exclude_admin` argument defaults to `true`, not `false`.

Props haruharuharuby.
Fixes #45120.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-09 06:52:50 +00:00
Gary Pendergast
54617423e7 Coding Standards: Improve the readability of get_the_modified_author().
Props promz.
Fixes #44951.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-08 05:50:49 +00:00
Gary Pendergast
56c162fbc9 Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.


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


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
Dominik Schilling
5c291d49de Pinking shears.
See #41057.
Built from https://develop.svn.wordpress.org/trunk@42843


git-svn-id: http://core.svn.wordpress.org/trunk@42673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-18 14:23:33 +00:00
Drew Jaynes
6e665d1f15 Docs: Link to the "Conditional Tags" article in the Theme Developer Handbook from the descriptions for a variety of core conditional tag functions.
These notations largely serve to direct consumers (of both the source and the parsed code reference) to extended information on individual and related conditional tags throughout WordPress. The changeset also standardizes corresponding DocBlock summaries to use third-person singular verbs.

Notations been added for the following functions:

* comments_open()
* email exists()
* has_excerpt()
* has_post_thumbnail()
* has_tag()
* in_category()
* in_the_loop()
* is_404()
* is_active_sidebar()
* is_active_widget()
* is_admin()
* is_admin_bar_showing()
* is_archive()
* is_attachment()
* is_author()
* is_blog_installed()
* is_category()
* is_comments_popup()
* is_date()
* is_day()
* is_dynamic_sidebar()
* is_feed()
* is_front_page()
* is_home()
* is_local_attachment()
* is_main_query
* is_month()
* is_multi_author
* is_new_day()
* is_page()
* is_page_template()
* is_paged()
* is_plugin_active()
* is_plugin_active_for_network()
* is_plugin_inactive()
* is_plugin_page()
* is_post_type_archive()
* is_preview()
* is_rtl()
* is_search()
* is_single()
* is_singular()
* is_sticky()
* is_tag()
* is_tax()
* is_taxonomy_hierarchical()
* is_time()
* is_trackback()
* is_user_logged_in()
* is_year()
* pings_open()
* post_type_exists()
* taxonomy_exists()
* term_exists()
* username exists()
* wp_attachment_is_image()
* wp_script_is()

Props janalwin.
Fixes #43254.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-13 16:54:31 +00:00
Gary Pendergast
aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Weston Ruter
90bedf8f9d Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.

Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 06:08:47 +00:00
Drew Jaynes
78dba2fefd Docs: List out accepted values for the $field parameter in get_the_author_meta().
Props choongsavvii.
Fixes #38258.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-26 18:24:40 +00:00
Drew Jaynes
fe163ec82a Docs: Clarify that get_the_author_meta() can also return an empty string.
h/t aurovrata.
See #41017

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


git-svn-id: http://core.svn.wordpress.org/trunk@40749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-13 02:33:42 +00:00
Pascal Birchler
db5a65eb5e Themes: Fix incorrect annotation for __clear_multi_author_cache() function.
Props flixos90.
See #40063.
Fixes #40262.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40241 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-25 15:47:42 +00:00
John Blackbourn
d327c92e4b Docs: Add and correct @since docs for a variety of functions and methods.
Props keesiemeijer, chris_dev
Fixes #39343, #39357, #39344
See #39130

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


git-svn-id: http://core.svn.wordpress.org/trunk@39578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-27 09:21:44 +00:00
John Blackbourn
4548b08236 General: Use interpolation instead of concatenation for all dynamic hook names.
This fixes the rendering of the hook names on developer.wordpress.org.

Props keesiemeijer
Fixes #39148

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


git-svn-id: http://core.svn.wordpress.org/trunk@39540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-14 04:18:42 +00:00
Sergey Biryukov
420b733958 I18N: Add translator comments for strings in wp-includes/author-template.php.
Props ramiy.
Fixes #37795.
Built from https://develop.svn.wordpress.org/trunk@38341


git-svn-id: http://core.svn.wordpress.org/trunk@38282 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-23 23:18:29 +00:00
Sergey Biryukov
139387b7e5 Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.
Built from https://develop.svn.wordpress.org/trunk@37985


git-svn-id: http://core.svn.wordpress.org/trunk@37926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-06 12:40:29 +00:00
Sergey Biryukov
6edb48dd57 Docs: In wp_list_authors(), clarify that include and exclude arguments can also be an array.
Fix duplicated `exclude` argument description.

Props birgire.
Fixes #37239.
Built from https://develop.svn.wordpress.org/trunk@37949


git-svn-id: http://core.svn.wordpress.org/trunk@37890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 14:34:27 +00:00
Drew Jaynes
317aa932f0 Docs: Standardize filter docs in wp-includes/author-template.php to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:25:26 +00:00
Drew Jaynes
b1804afeaf Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-13 18:41:31 +00:00
Eric Lewis
24adb71a56 Networks and sites: Replace "blog" usage with "site" in docs.
Multisite functions use the term "blog" to refer to what we now call a "site," e.g. `get_current_blog_id()`. These functions are here to stay because of our commitment to backwards compatibility. What we can do is set the documentation straight.

See #35417.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-28 03:51:26 +00:00
Drew Jaynes
9572878fab Docs: Add missing parameter notations to the DocBlock for get_author_posts_url().
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-17 17:30:43 +00:00
Sergey Biryukov
09b9fae4db Remove <code> tag from translatable string in the_author().
Add translator commment.

Props ramiy.
See #34573.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35509 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-05 23:38:27 +00:00
Drew Jaynes
217b661703 Docs: Add missing descriptions for the $wpdb global in DocBlocks all the places.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Drew Jaynes
d242d5bbfb Introduce get_the_author_posts_link(), which returns the HTML link to the author page for the current post's author.
`the_author_posts_link()` has in-turn been converted into a wrapper, with most of its logic moved to the new function.

Adds tests for the new function.

Props chipbennett, zrothauser, wonderboymusic, DrewAPicture.
Fixes #30355.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 01:49:25 +00:00
Boone Gorges
51a892f975 Pass the original $user_id variable to the filter in get_the_author_meta().
Props dlh, chriscct7.
Fixes #32481.
Built from https://develop.svn.wordpress.org/trunk@32594


git-svn-id: http://core.svn.wordpress.org/trunk@32564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-25 13:06: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
5c6ffc4dd6 Add missing doc blocks to author-template.php.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32508 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-22 04:14:24 +00:00
Scott Taylor
04554bc30d In author-template.php, clarify/add some return docs.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-21 20:10:26 +00:00
Dominik Schilling
64fc7294b6 Use HTTPS URLs for codex.wordpress.org.
see #27115.
Built from https://develop.svn.wordpress.org/trunk@32116


git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Boone Gorges
b421255fc8 When passing $full to get_posts_by_author_sql(), make sure a 'post_type' clause is included in results.
This change makes the 'post_type' clause in `wp_list_authors()` redundant, so
we remove it. Third-party plugins using `get_posts_by_author_sql()` may have
similarly redundant clauses, but this won't change the results returned by the
SQL queries.

Also adds unit tests for `get_posts_by_author_sql()`.

Props pbearne.
Fixes #30354.
Built from https://develop.svn.wordpress.org/trunk@31653


git-svn-id: http://core.svn.wordpress.org/trunk@31634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 01:15:28 +00:00
Scott Taylor
fc843ce4d0 There are some random add_action() and add_filter() calls littered around some files in wp-includes/. These should be moved to wp-includes/default-filters.php with the rest of the registered hooks. It seems like this was the best practice for awhile and then we randomly stopped. This file loads way before any of the includes, so the hooks will be registered for any request that loads WordPress, even SHORTINIT - a lot of the hooks registered won't run anyways (that's already the case).
See #30947.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31149 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 16:40:23 +00:00
Sergey Biryukov
dfac056cf1 Pass post type to count_user_posts() in get_the_author_posts().
props Caspie, tyxla.
fixes #30904.
Built from https://develop.svn.wordpress.org/trunk@31098


git-svn-id: http://core.svn.wordpress.org/trunk@31079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 19:53:22 +00:00
Drew Jaynes
f8657d5890 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Drew Jaynes
a10aff4d92 Convert documentation of default arguments in wp_list_authors() to the hash-notation style.
Props Viper007Bond.
Fixes #28684.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-29 22:34:14 +00:00
Scott Taylor
e866b5fb82 Eliminate use of extract() in wp_list_authors().
See #22400.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-13 06:02:14 +00:00
Scott Taylor
5df38694e9 In get_the_author_posts(), if there is no current $post, return 0 and bail.
Props krogsgard, aaroncampbell.
Fixes #27998.


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


git-svn-id: http://core.svn.wordpress.org/trunk@28190 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-11 00:26:14 +00:00
Scott Taylor
00b03fe04f Remove duplicate variable setting for $link in wp_list_authors().
See #27882.


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


git-svn-id: http://core.svn.wordpress.org/trunk@28093 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 03:52:15 +00:00
John Blackbourn
480fad1f82 Remove a redundant title attribute. See #26559. Props joedolson.
Built from https://develop.svn.wordpress.org/trunk@27593


git-svn-id: http://core.svn.wordpress.org/trunk@27436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 22:02:15 +00:00
Andrew Nacin
944151ec8e Pass feed_type arg in wp_list_authors() to get_author_feed_link().
Adds a slate of tests for wp_list_authors().

props MikeHansenMe.
fixes #26538.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-15 04:43:15 +00:00
Andrew Nacin
2d8e1ca5b0 Add exclude and include to wp_list_authors().
props patricknami.
fixes #9902.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 20:11:13 +00:00
Drew Jaynes
cd8cedc40d First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin.
Props JustinSainton, SergeyBiryukov, DrewAPicture.
Fixes #26713.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-24 18:57:12 +00:00
Sergey Biryukov
a93aa0cb5c Inline documentation for hooks in wp-includes/author-template.php.
props Frank Klein.
see #25229.
Built from https://develop.svn.wordpress.org/trunk@25429


git-svn-id: http://core.svn.wordpress.org/trunk@25353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-13 19:25:10 +00:00
Andrew Nacin
9f7ba7539c Switch to a transient for is_multi_author(). props markjaquith, fixes #24445.
git-svn-id: http://core.svn.wordpress.org/trunk@24628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 04:20:41 +00:00
Andrew Nacin
e09a4c5a79 esc_url() when printing a URL into an attribute, even when it is known to be safe. (see #17562)
git-svn-id: http://core.svn.wordpress.org/trunk@23528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 18:58:52 +00:00
Sergey Biryukov
b59879bc6d Fix typo in phpdoc. see #23498.
git-svn-id: http://core.svn.wordpress.org/trunk@23448 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-18 18:56:51 +00:00
Ryan Boren
cfb35a9d85 Use get_post() instead of global $post.
Make the $post argument to get_post() optional, defaulting to the current post in The Loop.

Props nacin
see #21309


git-svn-id: http://core.svn.wordpress.org/trunk@21735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-04 16:29:28 +00:00