Commit Graph

61 Commits

Author SHA1 Message Date
Scott Taylor
89328eb69f Customizer et al, use elseif in PHP, not else if.
This was corrected via brute force in [31090].

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32874 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-19 22:00:33 +00:00
Scott Taylor
c8a44d437a Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32650 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 15:42:40 +00:00
Dominik Schilling (ocean90)
cced199188 Customizer: Replace accordion behavior of sections with a slide-in navigation.
This allows users to focus on the contents of the active section more easily and separating the navigation from the content/controls in the Customizer.

props valendesigns, celloexpressions.
see #31336.

git-svn-id: https://develop.svn.wordpress.org/trunk@32649 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 13:56:39 +00:00
Weston Ruter
e95740d7d0 Fix wp_send_json_error() response for update-widget Ajax request, to return error code instead of error message, as the WP_Error objects are instantiated with codes and the messages are empty.
Fixes #32496.



git-svn-id: https://develop.svn.wordpress.org/trunk@32601 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-25 22:08:08 +00:00
Scott Taylor
39ef6a72c5 Use void instead of null where appropriate when pipe-delimiting @return types. If a @return only contains void, remove it.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32568 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 05:39:47 +00:00
Scott Taylor
febd12c957 Clean up @global doc blocks/imports for class-wp-customizer-*.php and friends.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32542 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-22 05:05:19 +00:00
Scott Taylor
9333337992 In class-wp-customize-*, clarify/add some @param/@return blocks. Disambiguate some functions that are trying to return the void response of another function they call internally.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32535 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-21 22:04:29 +00:00
Helen Hou-Sandi
8ae79e3d33 Customizer: Better experience for widget filtering in desktop and iOS Safari.
Previously, the search field did not appear at all in desktop Safari, and the auto-focus keyboard fly-up in iOS rendered widget adding frustrating at best.

props dsmart, ocean90.
fixes #31987.


git-svn-id: https://develop.svn.wordpress.org/trunk@32243 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-21 14:14:27 +00:00
Dominik Schilling (ocean90)
d8f439c335 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32054 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-06 15:09:21 +00:00
Drew Jaynes
a4d03d360a Add missing parameter and return descriptions to WP_Customize_Widgets->filter_customize_dynamic_setting_args().
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32036 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:35:22 +00:00
Drew Jaynes
efaab521f9 Add parameter and return descriptions for WP_Customize_Widgets->get_setting_type().
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32035 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:19:01 +00:00
Dominik Schilling (ocean90)
63502a8a01 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31705 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 22:38:30 +00:00
Drew Jaynes
7bb4ab4088 Add a missing file header to wp-includes/class-wp-customize-widgets.php, separate out the class DocBlock for WP_Customize_Widgets.
Fixes #31446.


git-svn-id: https://develop.svn.wordpress.org/trunk@31544 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-25 08:19:54 +00:00
Dominik Schilling (ocean90)
2518bbbb1f 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31370 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-08 23:10:05 +00:00
Sergey Biryukov
4c4de36c5c Customizer: Fix form tag replacement in WP_Customize_Widgets::get_widget_control() after [31200].
see #30126.

git-svn-id: https://develop.svn.wordpress.org/trunk@31226 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-17 13:10:27 +00:00
Andrew Ozz
af5c93a432 Customizer - Widgets: add feedback for screen readers when moving up or down. Props adamsilverstein, afercia. Fixes #28892.
git-svn-id: https://develop.svn.wordpress.org/trunk@30760 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-07 00:44:49 +00:00
Drew Jaynes (DrewAPicture)
205a43ed05 Correctly capitalize JavaScript throughout core docs.
Fixes #30569.


git-svn-id: https://develop.svn.wordpress.org/trunk@30695 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-02 00:30:59 +00:00
Scott Taylor
5817aa262d Improve various @param docs for src/wp-includes/class-wp-customize*.php.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30676 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 23:32:31 +00:00
Dominik Schilling (ocean90)
8d476eee4f 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@30329 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-13 12:18:01 +00:00
Gary Pendergast
0e68ecc0b6 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@30055 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 18:34:16 +00:00
Dominik Schilling (ocean90)
ab128698ad 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29903 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-15 17:20:34 +00:00
Andrew Nacin
bc582fc058 Customizer: Mixed priority sorting for panels and top-level sections.
props celloexpressions.
fixes #28979.


git-svn-id: https://develop.svn.wordpress.org/trunk@29488 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-14 04:42:30 +00:00
Andrew Nacin
a8e8ed6550 Verify the MAC earlier in WP_Customize_Widgets. props duck_.
git-svn-id: https://develop.svn.wordpress.org/trunk@29377 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-05 06:49:22 +00:00
Drew Jaynes (DrewAPicture)
17ba9ab973 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@29159 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 00:41:20 +00:00
Sergey Biryukov
1477277b53 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29051 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 23:57:29 +00:00
Sergey Biryukov
f0bde0c945 Use wp_hash() instead of AUTH_KEY in WP_Customize_Widgets::get_instance_hash_key().
props juliobox.
fixes #28783.

git-svn-id: https://develop.svn.wordpress.org/trunk@29028 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 17:16:26 +00:00
Dominik Schilling (ocean90)
7edd9edde4 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@28861 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-26 20:16:21 +00:00
Andrew Nacin
6ac55e5a83 Widgets: Remove create_function() from the customizer class.
props westonruter.
fixes #27805.


git-svn-id: https://develop.svn.wordpress.org/trunk@28143 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 00:10:09 +00:00
Andrew Nacin
6196b0811e Add missing string translation in widgets.
see #27453, #27112.


git-svn-id: https://develop.svn.wordpress.org/trunk@28140 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 00:00:33 +00:00
Andrew Nacin
a8efcb993f Customizer: Properly handle widget settings when activating a previewed theme.
props westonruter, ocean90, gcorne.
fixes #27767.


git-svn-id: https://develop.svn.wordpress.org/trunk@28124 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-14 22:45:40 +00:00
Drew Jaynes (DrewAPicture)
6a8889ea8c Inline documentation for hooks in wp-includes/class-wp-customize-widgets.php
Fixes #27531.


git-svn-id: https://develop.svn.wordpress.org/trunk@28117 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-14 18:40:29 +00:00
Dominik Schilling (ocean90)
ff78684898 Widget Customizer: Fix widget filtering.
props westonruter.
fixes #27451.

git-svn-id: https://develop.svn.wordpress.org/trunk@28044 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-08 08:11:33 +00:00
Dominik Schilling (ocean90)
da677f34aa Widget Customizer: Move WidgetCustomizer to wp.customize.Widgets. First pass.
see #27690.

git-svn-id: https://develop.svn.wordpress.org/trunk@27985 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 09:03:18 +00:00
Dominik Schilling (ocean90)
e4d4e0020b Widget Customizer: Remove leading/trailing whitespace to prevent jQuery migrate warning.
props gcorne.
fixes #27689.

git-svn-id: https://develop.svn.wordpress.org/trunk@27973 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 20:39:33 +00:00
Dominik Schilling (ocean90)
8708a44d4a 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27968 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-06 18:53:31 +00:00
Dominik Schilling (ocean90)
b0fae8aa2a Widget Customizer: Remove leading underscores from public methods.
Fix also an incorrect hook name in `stop_capturing_option_updates()`.

props DrewAPicture.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27910 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 18:30:06 +00:00
Dominik Schilling (ocean90)
b5780fa7b8 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27907 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 17:03:14 +00:00
Drew Jaynes (DrewAPicture)
adf5fb1fe1 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@27904 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 06:11:49 +00:00
Drew Jaynes (DrewAPicture)
0db976f610 Second-pass inline documentation improvements for WP_Customize_Widgets.
See #27534.


git-svn-id: https://develop.svn.wordpress.org/trunk@27903 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 05:44:54 +00:00
Dominik Schilling (ocean90)
c0373b288c Widget Customizer: Add a label to widget search.
props SergeyBiryukov.
fixes #27590.

git-svn-id: https://develop.svn.wordpress.org/trunk@27860 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 15:46:28 +00:00
Dominik Schilling (ocean90)
9fb6f9557b Widget Customizer: Remove strings from WP_Error returns and go with just IDs.
fixes #27419.


git-svn-id: https://develop.svn.wordpress.org/trunk@27854 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 21:43:39 +00:00
Drew Jaynes (DrewAPicture)
a2d810d024 The sidebar_admin_setup hook should only be documented once in wp-admin/widgets.php. All others are duplicates.
See #25374, #25501, #27531.


git-svn-id: https://develop.svn.wordpress.org/trunk@27823 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 19:46:26 +00:00
Sergey Biryukov
0116e778d9 Widget Customizer: Simplify conditions in setup_widget_addition_previews().
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27820 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 17:08:05 +00:00
Dominik Schilling (ocean90)
814b798b0d Widget Customizer: Simplify nonces.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27819 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 15:34:17 +00:00
Dominik Schilling (ocean90)
891e6183ee Widget Customizer: Remove UPDATE_WIDGET_AJAX_ACTION and UPDATE_WIDGET_NONCE_POST_KEY constants.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27818 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 15:01:41 +00:00
Dominik Schilling (ocean90)
2d4b606e14 Widget Customizer: Convert static WP_Customize_Widgets class into instantiated class and merge Options_Transaction into WP_Customize_Widgets.
see #27504.
props westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@27816 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 14:06:10 +00:00
Dominik Schilling (ocean90)
cc102fe0ff Widget Customizer: Set hightlight color to blue. Same color as in [27741].
fixes #27358.

git-svn-id: https://develop.svn.wordpress.org/trunk@27814 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 13:32:53 +00:00
Dominik Schilling (ocean90)
723caec67c Widget Customizer: First pass for inline docs.
props DrewAPicture.
see #27534.

git-svn-id: https://develop.svn.wordpress.org/trunk@27753 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 22:28:49 +00:00
Dominik Schilling (ocean90)
2e1f98d2a0 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27702 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 11:47:27 +00:00
Dominik Schilling (ocean90)
2a1899e319 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@27653 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 21:03:18 +00:00