Commit Graph

157 Commits

Author SHA1 Message Date
Konstantin Obenland
8c82515ab6 Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.

Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 16:37:29 +00:00
Dominik Schilling
be38b14e05 I18N: Simplify the WordPress update notice for translators.
* Make codex URL and accessibility text separate strings.
* Add translator comments.

Props ramiy for initial patch.
Fixes #35721.
Built from https://develop.svn.wordpress.org/trunk@37675


git-svn-id: http://core.svn.wordpress.org/trunk@37641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-10 15:54:30 +00:00
Drew Jaynes
c3055cc190 Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:01:30 +00:00
Andrea Fercia
fd1f45a7cf Accessibility: Improve accessibility for the Plugin details modal.
The plugin details modal can be invoked from several screens. There's now a new
`.open-plugin-details-modal` CSS class to be used in combination with the
`.thickbox` CSS class that adds everything needed for accessibility.

- Adds an ARIA role `dialog` and an `aria-label` attribute to the modal
- Adds a `title` attribute to the iframe inside the modal
- Constrains tabbing within the modal
- Restores focus back in a proper place when closing the modal

Also, improves a bit the native Thickbox implementation: it should probably be
replaced with some more modern tool but at least keyboard focus should be moved
inside the modal.

Fixes #33305.
Built from https://develop.svn.wordpress.org/trunk@36964


git-svn-id: http://core.svn.wordpress.org/trunk@36932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-10 22:37:26 +00:00
Dominik Schilling
f11d47d9ba I18N: Fix an invalid placeholder added in [36844].
See #36048.
Built from https://develop.svn.wordpress.org/trunk@36850


git-svn-id: http://core.svn.wordpress.org/trunk@36817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-04 21:10:26 +00:00
Sergey Biryukov
0ab23c217f I18N: Move the aria-label text in wp_plugin_update_row() and wp_theme_update_row() to a separate string for easier translation.
Add translator comments.

Props ramiy.
See #36048.
Built from https://develop.svn.wordpress.org/trunk@36844


git-svn-id: http://core.svn.wordpress.org/trunk@36811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-04 11:08:27 +00:00
Konstantin Obenland
d28ce2a1e4 Pass data consistently on plugin, network plugin, and network theme screens.
List tables on these three screens look similar but come with unexpected caveats.
The network themes screen in particular has been neglected, using a `.plugin`
class to inherit its sibling's styles and not providing classes and data
attributes that the other two offer. This will provide some more consistency.

Fixes #35335.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-25 22:55:25 +00:00
Andrea Fercia
7849bb7d94 Accessibility: Remove title attributes from the updates links on the Plugin and Themes list tables.
Adds `aria-label` attributes on some links and on the "update nag" link. Adds translator comments.

Fixes #35167.
Built from https://develop.svn.wordpress.org/trunk@36032


git-svn-id: http://core.svn.wordpress.org/trunk@35997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-20 16:09:28 +00:00
Jeremy Felt
9926983b66 Revert [34778], continue using _site_option() for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 17:11:25 +00:00
Jeremy Felt
54512d64cb MS: Use *_network_option() functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 19:08:26 +00:00
Scott Taylor
15f2e57a5a Don't use HTML tags in translation strings in wp-admin/includes/update.php.
Props ramiy.
Fixes #31855.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 18:31:25 +00:00
Sergey Biryukov
a53d6b471f Add 'update_right_now_text' filter for the text displayed in the 'At a Glance' dashboard widget.
props obenland.
fixes #33355.
Built from https://develop.svn.wordpress.org/trunk@33832


git-svn-id: http://core.svn.wordpress.org/trunk@33800 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-31 21:45:21 +00:00
Scott Taylor
ef87172270 foreach is a statement, not a function.
See #33491.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Jeremy Felt
c9027b00ba Assign proper active class when showing plugin updates in network admin
Previously, a plugin would trigger an active class if it was active on the network's main site.

Fixes #32901.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-07 00:02:24 +00:00
Dion Hulse
faf6383ebd Updates: Consistently use the same variable to refer to the plugin, avoids a potential PHP Notice when an external update script adds data without that key.
Props mordauk. Fixes #31784

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


git-svn-id: http://core.svn.wordpress.org/trunk@32755 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-15 06:26:25 +00:00
Scott Taylor
42d51a4f89 Add doc blocks to functions that are missing them.
If the function has no need for `@param` or `@return`, do an archeaological dig to find `@since`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 03:18:25 +00:00
Scott Taylor
c6a4512b1b Add missing doc blocks to wp-admin/includes/*.
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 20:17:26 +00:00
Scott Taylor
a51dfa3971 In the style of #30947 and default-filters.php, add 2 new files to wp-admin/includes:
`admin-filters.php`
`ms-admin-filters.php`

There are random actions and filters littered among files like `misc.php`. These files contain functions that won't work outside of admin context and are typically only loaded in files that have already loaded the admin bootstrap.

See #32529.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 17:04:26 +00:00
Scott Taylor
282e28ad81 Add @global annotations to (the rest of the?) wp-admin/* files.
Does not include list table file changes.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:06:31 +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
Sergey Biryukov
43a99e0f1b Make sure the update button in "At a Glance" dashboard widget does not overlap with long strings.
props SergeyBiryukov, afercia, tyxla.
fixes #30766.
Built from https://develop.svn.wordpress.org/trunk@31928


git-svn-id: http://core.svn.wordpress.org/trunk@31907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-30 12:50:29 +00:00
Gary Pendergast
9c69213f2b Shiny Updates: Add ajax-y updates to the plugin list page, and ajax-y updates and installs to the plugin card page.
This also includes JS architecture that can be expanded to support theme, core and language pack updates.

Props pento, ericlewis, lgladdy, adamsilverstein, DrewAPicture

See #29820


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


git-svn-id: http://core.svn.wordpress.org/trunk@31314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-05 04:19:23 +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
Drew Jaynes
78bb3e5ff5 Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-admin/includes/*.
Also adds a few inline `@see` cross-references as they apply.

Affects DocBlocks for the following hooks:
* `views_{$this->screen->id}`
* `bulk_actions-{$this->screen->id}`
* `manage_{$this->screen->id}_sortable_columns`
* `theme_action_links_$stylesheet`
* `after_theme_row_$stylesheet`
* `install_plugins_table_api_args_$tab`
* `$prefix . plugin_action_links`
* `after_plugin_row_$plugin_file`
* `manage_taxonomies_for_{$post_type}_columns`
* `manage_{$post_type}_posts_columns`
* `manage_{$post->post_type}_posts_custom_column`
* `{$taxonomy}_row_actions`
* `manage_{$this->screen->taxonomy}_custom_column`
* `install_themes_table_api_args_' . $tab`
* `auto_update_ . $type`
* `{$action}_prefilter`
* `admin_head_{$content_func}`
* `nav_menu_items_{$post_type_name}`
* `activate_ . $plugin`
* `deactivate_ . $plugin`
* `edit_{$post_type}_per_page`
* `postbox_classes_{$page}_{$id}`
* `_wp_post_revision_field_$field`
* `manage_{$screen->id}_columns`
* `in_plugin_update_message-{$file}`
* `in_theme_update_message-{$theme_key}`

See #30552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:28:24 +00:00
Scott Taylor
2f513d3320 Fix some hackificator odds and ends in wp-admin:
* `wp-activate.php` and `wp-admin/themes.php` don't need the closing PHP tag
* Switch single quotes for HTML attribute values to double in a few places
* Convert `include_once file.php` syntax to `include_once( 'file.php' )`
* Add access modifiers to methods/members in: `_WP_List_Table_Compat`, `Walker_Nav_Menu_Edit`, `Walker_Nav_Menu_Checklist`, `WP_Screen`, `Walker_Category_Checklist`
* `edit_user()` doesn't need to import the `$wpdb` global
* `wp_list_widgets()` doesn't need to import the `$sidebars_widgets` global
* switch/endswitch syntax is not supported in Hack
* A `<ul>` in `wp-admin/users.php` is unclosed

See #27881.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 05:04:16 +00:00
Scott Taylor
b9afafffe3 hackificator complains if you call include 'file.php' without the parens, needs to be include( 'file.php' )
See #27881.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 20:52:15 +00:00
Scott Taylor
aaa3eb07ad In wp-admin/includes/update.php, remove dead code:
* In `get_core_checksums()`, `$return` is set and never used.
* In `core_update_footer()`, `break` is unnecessary and unreachable after `return`.
* In `get_theme_updates()`, `$themes` is set and never used.
* In `wp_theme_update_row()`, `$theme_name` is the only user of `$themes_allowedtags`... neither are used. 	

See #27882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 17:21:14 +00:00
Andrew Nacin
2bc282957c Translate a string added in 3.7.1 but never translated previously.
props SergeyBiryukov.
fixes #27819.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 00:38:14 +00:00
Andrew Nacin
fbd1443a0b Restore the update message in the dashboard, removed in 3.8.
props obenland.
fixes #26664.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27550 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 14:36:15 +00:00
Andrew Nacin
0c16c0477b Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27219 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 02:34:27 +00:00
Andrew Nacin
9c9c824de2 Clarify return values for get_preferred_from_update_core() and get_core_updates().
props SergeyBiryukov.
fixes #20251.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27121 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 17:20:13 +00:00
Drew Jaynes
201306f5da Inline documentation for hooks in wp-admin/includes/update.php.
Props stevenkword for the initial patches.
Fixes #26252.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26432 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 21:55:10 +00:00
Dion Hulse
8d65f7dc7c Updates: When a failed Background Update occurs, only show the failed update nag if the user hasn't yet updated if it was an early abort. Props SergeyBiryukov. Fixes #25887 for trunk
Built from https://develop.svn.wordpress.org/trunk@26186


git-svn-id: http://core.svn.wordpress.org/trunk@26095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 02:31:11 +00:00
Andrew Nacin
a8ef13972c When an HTTPS request to api.wordpress.org fails, try an insecure HTTP request and issue a warning.
Certain versions of cURL appear to claim OpenSSL support but fail to work. We need to not trap users on older versions while we work this out, and instead fall back to an insecure request.

see #25716 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-27 21:09:10 +00:00
Andrew Nacin
d680f71d91 Show the nag we show for a stuck .maintenance file when an auto update failed.
see #25654.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:59:53 +00:00
Andrew Nacin
a3561e7e07 In automatic background updates, standardize on 'update'.
New, final filter names:
 * auto_update_{$type} (plugin, theme, core, language)
 * automatic_updates_is_vcs_checkout
 * automatic_updates_disabled

New class name is WP_Automatic_Updater. Method names include update() and should_update().

see #22704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25835 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:54:38 +00:00
Andrew Nacin
8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Andrew Nacin
58c18f0c32 Show the nag we show for a stuck .maintenance file when an auto update failed.
see #25654.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 21:15:09 +00:00
Andrew Nacin
a65661abee In automatic background updates, standardize on 'update'.
New, final filter names:
 * auto_update_{$type} (plugin, theme, core, language)
 * automatic_updates_is_vcs_checkout
 * automatic_updates_disabled

New class name is WP_Automatic_Updater. Method names include update() and should_update().

see #22704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-17 23:21:10 +00:00
Andrew Nacin
191efaef61 Make WP_Automatic_Upgrader a proper object that gets instantiated. Renames nearly all of its methods.
Also renames wp_auto_updates_maybe_update() to wp_maybe_auto_update().

see #22704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-17 00:55:09 +00:00
Andrew Nacin
ba0ebf3736 Include translations in the update bubbles (as +1 if there are any). see #18200.
Built from https://develop.svn.wordpress.org/trunk@25810


git-svn-id: http://core.svn.wordpress.org/trunk@25722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-16 14:34:10 +00:00
Andrew Nacin
4542fbb2ae Significantly simplify get_core_checksums(), as the caching and chunking was causing too much grief.
Make sure we only do our pre-flight is_writable check when the file exists.

see #18201. see #22704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-15 23:03:10 +00:00
Andrew Nacin
e503d0e2ec Hide auto updates from update-core.php directly in get_core_updates(). see #22704.
Built from https://develop.svn.wordpress.org/trunk@25783


git-svn-id: http://core.svn.wordpress.org/trunk@25696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-15 05:07:10 +00:00
Dion Hulse
75475ed773 Automatic Updates: Add a rollback functionality upon installation failure, the rollback package will be available for partial-updates for automatic updates and be similar to our existing partial builds (but in reverse).
A further iteration of this is to also detect whitescreens (fatals) after a auto update, and trigger the rollback for that too.
See #22704

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


git-svn-id: http://core.svn.wordpress.org/trunk@25566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-30 00:21:09 +00:00
Andrew Nacin
187c26415f Add a language pack upgrader class.
At the conclusion of any upgrade, after the transients are refreshed from the API, pending translations are downloaded and installed to wp-content/languages.

props dd32.
see #18200.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25484 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-23 02:08:10 +00:00
Dion Hulse
6737d0a202 Upgrader: Perform a MD5 file verification check on the files during upgrade. This ensures that both a Partial upgrade build can be used, and that all the files were copied into place correctly.
Props pento for initial patch. Fixes #18201

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


git-svn-id: http://core.svn.wordpress.org/trunk@25460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-21 06:49:11 +00:00
Dion Hulse
4678d33216 WordPress Core Automatic Updates: Add the first slice of Automatic Upgrades, This is presently disabled, and requires a filter to enable ( 'auto_upgrade_core' ). See #22704
Built from https://develop.svn.wordpress.org/trunk@25421


git-svn-id: http://core.svn.wordpress.org/trunk@25346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-13 06:19:12 +00:00
Dion Hulse
2caf5fe381 Upgrader: Deprecate a few mostly unused functions, wp_update_plugin(), wp_update_theme(), and, wp_update_core().
wp_update_core() was still used, as it was never updated to make use of the newer Skins. Fixes #21874

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


git-svn-id: http://core.svn.wordpress.org/trunk@25269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-09 06:45:08 +00:00
Scott Taylor
bb0761e475 Remove redundant checks in some update functions. Adds some readability/coding standards cleanup.
Props miqrogroove, azaozz.
Fixes #22828.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25224 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 17:05:15 +00:00
Ryan Boren
33ac1bd021 Show the update nag in the network admin.
Props Mamaduka
fixes #20959


git-svn-id: http://core.svn.wordpress.org/trunk@22618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-16 21:52:48 +00:00