Commit Graph

153 Commits

Author SHA1 Message Date
Dominik Schilling 6d2c70aa0d Customizer: Refresh nonces when a session expires and the user logs in again.
This was broken since 4.0 and the introduction of user session tokens. The nonces are now tied to session tokens as opposed to user IDs, and thus they change with each re-login.
Custom nonces can be added through the `customize_refresh_nonces` filter. On a successful refresh request the JavaScript API will trigger a `nonce-refresh` event. See widget's update nonce as an example.

props westonruter for initial patch.
fixes #31294.
Built from https://develop.svn.wordpress.org/trunk@32054


git-svn-id: http://core.svn.wordpress.org/trunk@32033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-06 15:10:27 +00:00
Drew Jaynes afdf0fdedc Add missing parameter and return descriptions to `WP_Customize_Widgets->filter_customize_dynamic_setting_args()`.
See [31370]. See #31888.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:36:26 +00:00
Drew Jaynes eb7d4e9c31 Add parameter and return descriptions for `WP_Customize_Widgets->get_setting_type()`.
See [31370]. See #31888.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 15:19:28 +00:00
Dominik Schilling b96a624cb9 Customizer: Fix previewing and applying widgets when previewing another theme.
* Unset `wp_get_sidebars_widgets()`' non-admin cache var `$_wp_sidebars_widgets` in Customize theme preview.
* Add `WP_Customize_Setting::$dirty` so that settings can be initially-dirty when the Customizer loads.
* Mark `old_sidebars_widgets_data` setting initially-dirty.
* Mark all `sidebars_widgets` settings as initially-dirty during theme switch.

props westonruter.
see #31484.
Built from https://develop.svn.wordpress.org/trunk@31705


git-svn-id: http://core.svn.wordpress.org/trunk@31686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-10 22:39:28 +00:00
Drew Jaynes 0c45c387be Add a missing file header to wp-includes/class-wp-customize-widgets.php, separate out the class DocBlock for `WP_Customize_Widgets`.
Fixes #31446.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-25 08:20:26 +00:00
Dominik Schilling 3aea5f144b Customizer: Introduce an API to create WP_Customize_Settings for dynamically-created settings.
* Introduce WP_Customize_Manager::add_dynamic_settings() to register dynamically-created settings.
* Introduce `customize_dynamic_setting_args` filter to pass an array of args to a dynamic setting's constructor.
* Add unit tests for WP_Customize_Manager and WP_Customize_Widgets.
* See WP_Customize_Widgets as an example.

props westonruter.
fixes #30936.
Built from https://develop.svn.wordpress.org/trunk@31370


git-svn-id: http://core.svn.wordpress.org/trunk@31351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 23:11:25 +00:00
Sergey Biryukov 823ab1efdf Customizer: Fix form tag replacement in WP_Customize_Widgets::get_widget_control() after [31200].
see #30126.
Built from https://develop.svn.wordpress.org/trunk@31226


git-svn-id: http://core.svn.wordpress.org/trunk@31207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-17 13:11:23 +00:00
Andrew Ozz 53d22ffb10 Customizer - Widgets: add feedback for screen readers when moving up or down. Props adamsilverstein, afercia. Fixes #28892.
Built from https://develop.svn.wordpress.org/trunk@30760


git-svn-id: http://core.svn.wordpress.org/trunk@30750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 00:45:24 +00:00
Drew Jaynes ad297dab6d Correctly capitalize JavaScript throughout core docs.
Fixes #30569.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 00:31:22 +00:00
Scott Taylor a215b8801d Improve various `@param` docs for `src/wp-includes/class-wp-customize*.php`.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 23:33:23 +00:00
Dominik Schilling 41197a7c31 Customizer: Improve ability to filter active state for widget area Customizer sections.
* Mark panels, sections, controls as active if preview explicitly indicates.
* Introduce `WP_Customize_Sidebar_Section` PHP class, and `SidebarSection` JS class.
* Move logic for determining whether a sidebar section is active from the `SidebarControl` to `SidebarSection`.

props westonruter.
fixes #30235.
Built from https://develop.svn.wordpress.org/trunk@30329


git-svn-id: http://core.svn.wordpress.org/trunk@30328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-13 12:19:23 +00:00
Gary Pendergast 007ec52958 Add `wp_json_encode()`, a wrapper for `json_encode()` that ensures everything is converted to UTF-8.
Change all core calls from `json_encode()` to `wp_json_encode()`.

Fixes #28786.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-28 18:35:19 +00:00
Dominik Schilling 61819a36ea Customizer: Change instances of "Theme Customizer" to just "Customizer", as the Customizer isn't necessarily theme-specific.
Also capitalize "Customizer".
See also https://make.wordpress.org/core/2014/07/08/customizer-improvements-in-4-0/.

props studionashvegas, tareq1988.
fixes #29947.
Built from https://develop.svn.wordpress.org/trunk@29903


git-svn-id: http://core.svn.wordpress.org/trunk@29658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-15 17:21:19 +00:00
Andrew Nacin de569d83a1 Customizer: Mixed priority sorting for panels and top-level sections.
props celloexpressions.
fixes #28979.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 04:43:16 +00:00
Andrew Nacin 4ecf30559b Verify the MAC earlier in WP_Customize_Widgets. props duck_.
Built from https://develop.svn.wordpress.org/trunk@29377


git-svn-id: http://core.svn.wordpress.org/trunk@29155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-05 06:50:15 +00:00
Drew Jaynes 2c9c48c87b Inline documentation cleanup for 4.0 audit.
phpDoc tweaks for methods, properties, and filters added in [29051]:
* `WP_Customize_Widgets::is_widget_rendered()` method
* `WP_Customize_Widgets::is_sidebar_rendered()` method

See #27993 and #28885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 00:42:15 +00:00
Sergey Biryukov ad7bc20cb1 Customizer: Introduce WP_Customize_Control::active() method to determine whether the control is relevant to the current context (i.e. to the current URL being previewed).
Control can indicate its active state by a subclass overriding the 'active_callback' method, by supplying a callable 'active_callback' argument into the control's constructor, or by filtering 'customize_control_active'.

props westonruter.
see #27993.
Built from https://develop.svn.wordpress.org/trunk@29051


git-svn-id: http://core.svn.wordpress.org/trunk@28839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-09 23:58:16 +00:00
Sergey Biryukov 0b921efe38 Use wp_hash() instead of AUTH_KEY in WP_Customize_Widgets::get_instance_hash_key().
props juliobox.
fixes #28783.
Built from https://develop.svn.wordpress.org/trunk@29028


git-svn-id: http://core.svn.wordpress.org/trunk@28816 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 17:17:14 +00:00
Dominik Schilling b7c93eb3d0 Customizer: Introduce a "panel" API to organize multiple sections into a one section.
Create a panel via `$GLOBALS['wp_customize']->add_panel( $panel_id, $args )` and use `$panel_id` for the `panel` argument in `$GLOBALS['wp_customize']->add_section( $section_id, $args )`. That's it.
As an example all widget area sections are now summarized into one panel. Feedback appreciated.

props celloexpressions.
see #27406.
Built from https://develop.svn.wordpress.org/trunk@28861


git-svn-id: http://core.svn.wordpress.org/trunk@28662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 20:17:15 +00:00
Andrew Nacin dbca0c5e15 Widgets: Remove create_function() from the customizer class.
props westonruter.
fixes #27805.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 00:11:35 +00:00
Andrew Nacin efe36dbd5f Add missing string translation in widgets.
see #27453, #27112.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27971 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 00:01:14 +00:00
Andrew Nacin 6b579e0d59 Customizer: Properly handle widget settings when activating a previewed theme.
props westonruter, ocean90, gcorne.
fixes #27767.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-14 22:46:16 +00:00
Drew Jaynes fe6761ccf3 Inline documentation for hooks in wp-includes/class-wp-customize-widgets.php
Fixes #27531.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-14 18:41:17 +00:00
Dominik Schilling 3f3a1380d2 Widget Customizer: Fix widget filtering.
props westonruter.
fixes #27451.
Built from https://develop.svn.wordpress.org/trunk@28044


git-svn-id: http://core.svn.wordpress.org/trunk@27874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 08:12:15 +00:00
Dominik Schilling fabc65b787 Widget Customizer: Move `WidgetCustomizer` to `wp.customize.Widgets`. First pass.
see #27690.
Built from https://develop.svn.wordpress.org/trunk@27985


git-svn-id: http://core.svn.wordpress.org/trunk@27815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 09:04:14 +00:00
Dominik Schilling 29b1f9a0de Widget Customizer: Remove leading/trailing whitespace to prevent jQuery migrate warning.
props gcorne.
fixes #27689.
Built from https://develop.svn.wordpress.org/trunk@27973


git-svn-id: http://core.svn.wordpress.org/trunk@27803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-06 20:40:15 +00:00
Dominik Schilling 90e62bf6ac Widget Customizer: Minor code cleanup.
* Remove type hinting from `WP_Customize_Widgets`
* Rename `inject_preview_css` to `print_preview_css`
* Remove stray `@todo`

fixes #27534.
Built from https://develop.svn.wordpress.org/trunk@27968


git-svn-id: http://core.svn.wordpress.org/trunk@27798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-06 18:54:14 +00:00
Dominik Schilling ecee3bcb67 Widget Customizer: Remove leading underscores from public methods.
Fix also an incorrect hook name in `stop_capturing_option_updates()`.

props DrewAPicture.
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27910


git-svn-id: http://core.svn.wordpress.org/trunk@27741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 18:31:15 +00:00
Dominik Schilling cde6d602ea Widget Customizer: Improve plugin compatibility.
Some plugins are using custom scripts and styles for there widgets. These are available on the Widgets screens, but not in the Customizer yet.
Scripts and styles can be enqueued via: 
* `admin_enqueue_scripts`
* `admin_print_scripts` and `admin_print_scripts-widgets.php`
* `admin_print_styles` and `admin_print_styles-widgets.php`
* `admin_print_footer_scripts` and `admin_footer-widgets.php`
All this hooks are now called in the Customizer too.

Previously we have add the `#widgets-right` ID to a container div via jQuery. Remember: `#widgets-right` exists on the Widgets screen and is used by many plugins to do event delegation from that element.
But since our script files are loaded in the footer, the JavaScript way is a bit late for some plugins.
We have decided to add a `div#widgets-right` container element to customizer. "Less hacky hack."

props westonruter, ocean90. Thanks dpe415 for testing.
fixes #27619.
Built from https://develop.svn.wordpress.org/trunk@27907


git-svn-id: http://core.svn.wordpress.org/trunk@27738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 17:04:14 +00:00
Drew Jaynes 12e182d929 Coding standards and readability spacing for WP_Customize_Widgets.
Also explicitly re-mark `_capture_filter_pre_update_option()` and `_capture_filter_pre_get_option()` as public.

See #27534.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 06:12:16 +00:00
Drew Jaynes 44c886045f Second-pass inline documentation improvements for WP_Customize_Widgets.
See #27534.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-02 05:45:16 +00:00
Dominik Schilling da5339da30 Widget Customizer: Add a label to widget search.
props SergeyBiryukov.
fixes #27590.
Built from https://develop.svn.wordpress.org/trunk@27860


git-svn-id: http://core.svn.wordpress.org/trunk@27691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-30 15:47:16 +00:00
Dominik Schilling 016e1f53ba Widget Customizer: Remove strings from WP_Error returns and go with just IDs.
fixes #27419.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-29 21:44:14 +00:00
Drew Jaynes 5613b40981 The `sidebar_admin_setup` hook should only be documented once in wp-admin/widgets.php. All others are duplicates.
See #25374, #25501, #27531.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27657 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 19:47:15 +00:00
Sergey Biryukov 3a4d9c5953 Widget Customizer: Simplify conditions in setup_widget_addition_previews().
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27820


git-svn-id: http://core.svn.wordpress.org/trunk@27654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 17:09:15 +00:00
Dominik Schilling c2f839b7b6 Widget Customizer: Simplify nonces.
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27819


git-svn-id: http://core.svn.wordpress.org/trunk@27653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 15:35:15 +00:00
Dominik Schilling ffa6562965 Widget Customizer: Remove `UPDATE_WIDGET_AJAX_ACTION` and `UPDATE_WIDGET_NONCE_POST_KEY` constants.
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27818


git-svn-id: http://core.svn.wordpress.org/trunk@27652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 15:02:13 +00:00
Dominik Schilling c707faa639 Widget Customizer: Convert static WP_Customize_Widgets class into instantiated class and merge Options_Transaction into WP_Customize_Widgets.
see #27504.
props westonruter.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 14:07:14 +00:00
Dominik Schilling ebdd64f6ad Widget Customizer: Set hightlight color to blue. Same color as in [27741].
fixes #27358.
Built from https://develop.svn.wordpress.org/trunk@27814


git-svn-id: http://core.svn.wordpress.org/trunk@27648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 13:33:14 +00:00
Dominik Schilling a2eb248e0b Widget Customizer: First pass for inline docs.
props DrewAPicture.
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27753


git-svn-id: http://core.svn.wordpress.org/trunk@27590 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-26 22:29:15 +00:00
Dominik Schilling ea6c9a5515 Widget Customizer: Improve widget highlighting.
* Prefix box-shadow in inject_preview_css()
* Remove border-radius in inject_preview_css()
* Prevent hidden box-shadows in Customizer

see #27358.
Built from https://develop.svn.wordpress.org/trunk@27702


git-svn-id: http://core.svn.wordpress.org/trunk@27541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 11:48:14 +00:00
Dominik Schilling 21158f33f7 Widget Customizer: Fix 'WidgetCustomizerPreview' is undefined error in IE8/9.
* Move `WidgetCustomizerPreview` to `wp.customize.WidgetCustomizerPreview`
* Move `WidgetCustomizerPreview_exports` to export_preview_data()
* Use `_wpWidgetCustomizerPreviewSettings` to transfer settings to `wp.customize.WidgetCustomizerPreview`

see #27485.
Built from https://develop.svn.wordpress.org/trunk@27653


git-svn-id: http://core.svn.wordpress.org/trunk@27496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-22 21:04:15 +00:00
Dominik Schilling 9b0ec406d1 Widget Customizer: Improve error handling. First pass.
* Replace Widget_Customizer_Exception with WP_Error
* Call Previewer.cheatin() to show the cheating message if a user can't change widgets
* Call Previewer.login() to show the login form if a user is logged out
* Show a generic error message on failures

see #27419.
Built from https://develop.svn.wordpress.org/trunk@27652


git-svn-id: http://core.svn.wordpress.org/trunk@27495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-22 20:55:18 +00:00
Andrew Nacin deb8779af5 More translation cleanups.
Affects widgets (see #27112), custom headers (see #21785), theme installer (see #27055, reverts [27614]), and some media stuff. Untranslates some complicated strings that need additional study.

see #27453.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 08:18:14 +00:00
Dominik Schilling a96b9c80b5 Widget Customizer: Remove unused vars.
see #27112.
Built from https://develop.svn.wordpress.org/trunk@27588


git-svn-id: http://core.svn.wordpress.org/trunk@27431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 18:35:16 +00:00
Dominik Schilling f056bd6f04 Widget Customizer: Remove special filter for Settings Revisions plugin.
see #27112.
Built from https://develop.svn.wordpress.org/trunk@27586


git-svn-id: http://core.svn.wordpress.org/trunk@27429 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 16:48:14 +00:00
Dominik Schilling aaf723a8a8 Widget Customizer: Move preview script to wp_default_scripts().
Built from https://develop.svn.wordpress.org/trunk@27585


git-svn-id: http://core.svn.wordpress.org/trunk@27428 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 15:31:16 +00:00
Dominik Schilling 64af78ca43 Widget Customizer: Restore highlighting of widgets in preview.
props westonruter.
see #27358.
Built from https://develop.svn.wordpress.org/trunk@27584


git-svn-id: http://core.svn.wordpress.org/trunk@27427 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 15:21:15 +00:00
Dominik Schilling 6b27155163 Widget Customizer: Make temp hooks final and add inline docs.
New hooks are `dynamic_sidebar_before`, `dynamic_sidebar_after`, `dynamic_sidebar_has_widgets ` and `is_active_sidebar`.
Remove obsolete use of hacky dynamic_sidebar hook.

props westonruter, DrewAPicture.
fixes #25368.
Built from https://develop.svn.wordpress.org/trunk@27543


git-svn-id: http://core.svn.wordpress.org/trunk@27386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 20:31:14 +00:00
Dominik Schilling ca892563a6 Widget Customizer: Move widget area sections to bottom.
Since a theme can have a lot of widget areas and we don't want to bury third-party sections, bump the widget sections to the bottom with a priority of 1000+. Fixes also the ordering.

props westonruter.
fixes #27401.
Built from https://develop.svn.wordpress.org/trunk@27541


git-svn-id: http://core.svn.wordpress.org/trunk@27384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 20:01:14 +00:00
Dominik Schilling f48e3f5719 Widget Customizer: Move style/script registration to script loader. Update Gruntfile.js.
fixes #27356.
Built from https://develop.svn.wordpress.org/trunk@27525


git-svn-id: http://core.svn.wordpress.org/trunk@27368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 19:41:14 +00:00
Dominik Schilling f46a085f7c Widget Customizer: Use ?wp_customize=on.
Let _wp_customize_include() handle customizer initialisation.
Sets also the priority for the Add Widget and Reorder buttons and removes debug cruft.

props westonruter.
fixes #27291.
Built from https://develop.svn.wordpress.org/trunk@27524


git-svn-id: http://core.svn.wordpress.org/trunk@27367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 18:38:14 +00:00
Andrew Nacin e853a9cc57 Add widget management to the customizer.
This brings in the Widget Customizer plugin: https://wordpress.org/plugins/widget-customizer/.

props westonruter, shaunandrews, michael-arestad, johnregan3, akeda, topher1kenobe, topquarky, bobbravo2, ricardocorreia. And for good measure, props westonruter.
see #27112.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 20:41:14 +00:00