Commit Graph

62 Commits

Author SHA1 Message Date
Weston Ruter
6631163639 Customize: Use new $status_code parameter for wp_send_json_error() instead of calling status_header() separately.
Props johnbillion.
See #35666.
Fixes #37897.


git-svn-id: https://develop.svn.wordpress.org/trunk@38478 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 19:00:59 +00:00
Scott Taylor
cba0e2c8f7 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38470 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 16:30:48 +00:00
Scott Taylor
4225e71a6b Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38411 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 22:31:11 +00:00
Dion Hulse
e353179ce5 Bootstrap: Revert [38399] as it's broken /build/ and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335


git-svn-id: https://develop.svn.wordpress.org/trunk@38402 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 14:36:42 +00:00
Scott Taylor
388690382c Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38399 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 09:15:01 +00:00
Dominik Schilling
9628a53be7 Customize: Make the menu edit button look like a link.
The button was introduced in [37901] to allow users switching to the selected menu for further edits. A link makes it more clear that the user is taken away from the current view.
This also adds an aria label and makes the button label more verbose, 'Edit Menu'.

Props afercia.
Props helen for review.
Fixes #36795.

git-svn-id: https://develop.svn.wordpress.org/trunk@38189 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-03 22:44:58 +00:00
Sergey Biryukov
4c5165a8d0 I18N: Combine duplicate "Menu Locations" and "Menu Options" strings.
Props ramiy.
See #18218.

git-svn-id: https://develop.svn.wordpress.org/trunk@38080 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-17 16:46:25 +00:00
Weston Ruter
bddb06dd13 Customize: Ensure that WP_Customize_Nav_Menu_Section is able to represent a placeholder nav menu.
Placeholder nav menus (ones that have yet to be saved into the DB) have negative integer IDs.

Fixes #37293.
Props valendesigns, stubgo, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@37981 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 05:32:49 +00:00
Dominik Schilling
59b0096dfe Customize: Fix site icon preview in RTL.
* Set the direction of previews to LTR.
* Remove the ID attribute from the favicon preview in the customizer panel. The preview in the media modal uses the same ID which prevented updating the correct favicon preview.

Fixes #37286.

git-svn-id: https://develop.svn.wordpress.org/trunk@37964 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 12:41:38 +00:00
Dominik Schilling
9c4f1a3431 Customize: Add a RTL version of "browser.png" for the site icon preview.
Props sidati.
Fixes #37063.

git-svn-id: https://develop.svn.wordpress.org/trunk@37963 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 11:31:13 +00:00
Dominik Schilling (ocean90)
3fff76a15f Customize: Improve flow from menu locations to editing a menu.
Adds an Edit button beside the menu location to allow users to switch to the selected menu for further edits.

Props celloexpressions.
Fixes #36795.

git-svn-id: https://develop.svn.wordpress.org/trunk@37901 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 23:06:22 +00:00
Dominik Schilling (ocean90)
f50f50cd0b Customize: Separate preview and actions in the site icon control.
Reverts [37456] to allow users to remove/change a site icon even if the attachment has corrupt/missing data about sizes.

Fixes #36749.

git-svn-id: https://develop.svn.wordpress.org/trunk@37724 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-16 09:44:21 +00:00
Weston Ruter
f26ccf6fac Customize: Update server-sent setting validation notifications as changes are entered.
Send back setting validities with full refreshes and selective refreshes so that invalid settings can have notifications displayed immediately before attempting save, and so that these notifications can be cleared as soon as the input is corrected.

* Splits out JS logic for listing controls into separate methods  `wp.customize.Setting.prototype.findControls()` and `wp.customize.findControlsForSettings()`.
* Adds a `setting` property to the `data` on notifications added to controls that are synced from their settings.
* Adds `selective-refresh-setting-validities` message sent from preview to pane.
* Changes `WP_Customize_Manager::validate_setting_values()` to return when settings are valid as well as invalid.
* Adds `WP_Customize_Manager::prepare_setting_validity_for_js()`.
* Add setting validities to data exported to JS in Customizer Preview and in selective refresh responses.

Fixes #36944.


git-svn-id: https://develop.svn.wordpress.org/trunk@37700 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-14 19:16:54 +00:00
Drew Jaynes
b208dae5e6 Docs: Apply inline @see tags to hooks referenced in DocBlocks for core classes.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37539 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 18:53:05 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Pascal Birchler
8345fc60c7 Customize: Change attachment condition in the site icon control to prevent errors.
Props neverything.
Fixes #36749 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@37456 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-17 20:38:20 +00:00
Weston Ruter
c1ec341ddb Customize: Clean up media control CSS.
Removes unnecessary wrapper elements and refactors class names to eliminate duplication of rule selectors.

Props celloexpressions.
Fixes #30618.


git-svn-id: https://develop.svn.wordpress.org/trunk@37426 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 20:22:45 +00:00
Weston Ruter
d5bcff481f Customize: Remove use of reserved word default in Underscore template which breaks IE8.
Fixes regression introduced in r30712.

Props adamsilverstein.
Fixes #36793.


git-svn-id: https://develop.svn.wordpress.org/trunk@37417 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-11 19:07:01 +00:00
Weston Ruter
8359290d8f Customize: Ensure that wp_setup_nav_menu_item filter applies consistently on nav_menu_item setting values.
The filter was being applied in `WP_Customize_Nav_Menu_Item_Setting::value()` but not in `WP_Customize_Nav_Menu_Item_Setting::value_as_wp_post_nav_menu_item()`.

Props celloexpressions, westonruter.
Fixes #35203.


git-svn-id: https://develop.svn.wordpress.org/trunk@37405 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-10 06:40:48 +00:00
Andrea Fercia
b3b7f6cbac Customizer, Site Icon preview: improve alt attributes and text accessibility.
Props shahpranaf, TacoVerdo, afercia.

Fixes #36562.

git-svn-id: https://develop.svn.wordpress.org/trunk@37229 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-17 12:00:23 +00:00
Weston Ruter
cfd07d69cf Customize: Fix toggle of title attribute field visibility on nav menus admin page.
Improves alignment with nav menus in the Customizer, fixing regression introduced in [36908].

See #35273.
Props sidati, westonruter.
Fixes #36353.


git-svn-id: https://develop.svn.wordpress.org/trunk@37153 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-30 21:54:45 +00:00
Weston Ruter
0bc533e10b Customize: Put focus on change button instead of remove button in media control.
Allow controls to specify the primary element to receive focus by adding a `control-focus` class.

Props adamsilverstein, westonruter.
Fixes #36337.


git-svn-id: https://develop.svn.wordpress.org/trunk@37152 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-30 21:40:43 +00:00
Drew Jaynes
da8a501226 Docs: Use a third-person singular verb in the DocBlock summary for WP_Customize_Site_Icon_Control::content_template(), introduced in [36698].
Also adds a missing `@access` notation.

See #33755. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37012 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:40:45 +00:00
Drew Jaynes
7e2441298e Docs: Add a missing version and access information to the DocBlock for the WP_Customize_Selective_Refresh->$manager property, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37011 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:38:31 +00:00
Drew Jaynes
7c4212d252 Docs: Standardize the file header and class summarries for the file containing WP_Customize_Selective_Refresh, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37010 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:28:06 +00:00
Drew Jaynes
c50b76ea08 Docs: Standardize the file header and class summaries for the file containing WP_Customize_Partial, introduced in [36586].
See #27355. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37009 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-16 16:23:46 +00:00
Konstantin Obenland
827bcc32a8 Customize: Use full URL to image to prevent breakage if moved.
See https://core.trac.wordpress.org/ticket/33755#comment:103
See #33755.



git-svn-id: https://develop.svn.wordpress.org/trunk@36948 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 18:52:10 +00:00
Weston Ruter
7ececb24f5 Customize: Fix persistence of toggles for displayed nav menu item properties.
* Eliminates need to click more than one checkbox to have preferences saved.
* Adds debouncing to saving user-selected menu item properties.
* Also removes discrepancies between available nav menu item properties on admin page vs Customizer.

Fixes #35273.
Props afercia, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@36908 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 21:40:27 +00:00
Konstantin Obenland
326806a961 Customize: Reduce vertical space of site icon control.
Makes the control easier to find, reduces visual clutter, and is more
consistent with Customizer UI conventions.

Props celloexpressions.
Fixes #35943.


git-svn-id: https://develop.svn.wordpress.org/trunk@36907 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 21:18:53 +00:00
Weston Ruter
c2c1c3fd3a Customize: Remove selective refresh error message from appearing inline within the preview.
The error message will still be available in the developer console.

Removes part of [36586].
See #27355.
Fixes #36164.


git-svn-id: https://develop.svn.wordpress.org/trunk@36890 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 04:36:51 +00:00
Weston Ruter
084772af80 Customize: Eliminate unnecessary WP_Customize_Site_Logo_Control in favor of re-using WP_Customize_Image_Control.
* Removes double `margin-bottom` from all the media controls.
* All media controls now send `{settingId}-attachment-data` messages to the preview when a media setting is updated so that the preview has access to the attachment data.
* Fixes receiving of `attachment-data` message for `custom_logo` which resulted in instant JS-applied preview not working. See #36096.

See #33755.
Fixes #35941.


git-svn-id: https://develop.svn.wordpress.org/trunk@36851 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-04 23:46:07 +00:00
Konstantin Obenland
cf863ab2a8 Customize: Rename custom logo classes after [36837].
Fixes #35945.


git-svn-id: https://develop.svn.wordpress.org/trunk@36838 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-03 19:58:37 +00:00
Konstantin Obenland
43ff969765 Customize: Site logos are custom logos.
Brings the nomenclature closer to custom headers and backgrounds.

See https://wordpress.slack.com/archives/core/p1456955151003150
See #35945. 


git-svn-id: https://develop.svn.wordpress.org/trunk@36837 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-03 19:55:15 +00:00
Dominik Schilling (ocean90)
4c8b3511a2 Customizer: Merge two translator comments.
git-svn-id: https://develop.svn.wordpress.org/trunk@36809 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 23:09:12 +00:00
Weston Ruter
0c3716670a Customize: Define params on WP_Customize_Partial::render_callback() for the sake of subclasses overriding this method.
Fixes a strict standards notice regarding the method signature needing to be compatible.

See #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36801 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 06:08:38 +00:00
Weston Ruter
f60e7fd99d Customize: Allow button_labels to be overridden in $args passed to WP_Customize_Media_Control and WP_Customize_Image_Control.
Props chetanchauhan, celloexpressions.
See #33755.
Fixes #35542.


git-svn-id: https://develop.svn.wordpress.org/trunk@36769 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-29 00:39:33 +00:00
Drew Jaynes
180fd6bad4 Docs: Add a missing summary, @access tag, and parameter documentation to the DocBlock for WP_Customize_Filter_Setting::update().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36745 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-27 21:16:37 +00:00
Dominik Schilling (ocean90)
9a7488aaf8 Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.

git-svn-id: https://develop.svn.wordpress.org/trunk@36709 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 12:52:33 +00:00
Konstantin Obenland
b73a1c9aa9 Customize: Introduce Logo support for themes.
Allows a common theme feature to have a common implementation provided by core and available in a consistent location for users.
See https://make.wordpress.org/core/2016/02/24/theme-logo-support/

Props kwight, enejb, jeherve, bhubbard, samhotchkiss, zinigor, eliorivero, adamsilverstein, melchoyce, ryan, mikeschroder, westonruter, pento, karmatosed, celloexpressions, obenland. 
See #33755.



git-svn-id: https://develop.svn.wordpress.org/trunk@36698 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 22:09:54 +00:00
Weston Ruter
d80ef26b48 Customize: Allow controls to be registered without any associated settings.
* Improves parity between partials and controls. A partial or control can be settingless if instantiated with `settings` param as empty array (otherwise, if null, then the partial/control ID is used). 
* Eliminate need to create dummy settings that serve no purpose except to place a control in the UI.
* Removes dummy settings for `create_new_menu` and `new_menu_name`.
* Introduces `WP_Customize_Control::$capability` and `WP_Customize_Partial::$capability`, and if set checks them in the respective `check_capabilities()` methods.
* Prevents PHP fatal error from happening when non-existing settings are provided to control: "Call to a member function `check_capabilities()` on a non-object".
* Fixes issue where nav menu items and widgets were no longer working with selective refresh because cap check was failing.

See #27355.
Fixes #35926.


git-svn-id: https://develop.svn.wordpress.org/trunk@36689 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 18:27:45 +00:00
Weston Ruter
c9b47e9d92 Customize: Skip exporting partials to client and handling rendering requests if user can't modify associated settings.
Introduces `WP_Customize_Partial::check_capabilities()` for parity with `WP_Customize_Control::check_capabilities()`.
 
See #27355.
Fixes #35914.


git-svn-id: https://develop.svn.wordpress.org/trunk@36643 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 18:13:30 +00:00
Weston Ruter
b30e77f5fc Customize: Let WP_Customize_Selective_Refresh class be final to match manager and other component classes.
This class is not intended to be extended.
 
See #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36624 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 01:27:55 +00:00
Weston Ruter
d14b188c42 Customize: Prevent dropping backslashes from input on general settings and settings for nav menus and some widgets.
Ensures that intentional backslashes (e.g. "\o/") can be used in:

* Site title
* Site description
* Nav menu name
* Custom Menu widget title
* Tag Cloud widget title
* Text widget body if can't `unfiltered_html`

The latter three are also fixed on the widgets admin page.

Fixes #35898.


git-svn-id: https://develop.svn.wordpress.org/trunk@36622 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 01:01:43 +00:00
Weston Ruter
d06329d035 Customize: Fix previewing and updating of nav menu items containing slashed/slashable characters.
Prevents slashes from being added when a user without `unfiltered_html` previews a nav menu item containing an apostrophe or some other slashable character, and prevents the loss of an intentional slash (e.g. "\o/") when saving a nav menu item, regardless of capability.

Fixes #35869.


git-svn-id: https://develop.svn.wordpress.org/trunk@36608 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-22 00:13:53 +00:00
Weston Ruter
03360d143d Customize: Add selective refresh framework with implementation for widgets and re-implementation for nav menus.
See https://make.wordpress.org/core/2016/02/16/selective-refresh-in-the-customizer/.

Props westonruter, valendesigns, DrewAPicture, ocean90.
Fixes #27355.


git-svn-id: https://develop.svn.wordpress.org/trunk@36586 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 18:40:06 +00:00
Weston Ruter
d33deeeb74 Customize: Ensure that "Change" button appears when there are only 2 themes.
Fixes defect introduced in [35535].

Props igmoweb.
See #34549.
Fixes #35081.


git-svn-id: https://develop.svn.wordpress.org/trunk@35943 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-15 01:20:49 +00:00
Sergey Biryukov
3cf74baa5b I18N: Remove <strong> tags from translatable strings in WP_Customize_Manager::register_controls() and WP_Customize_Header_Image_Control::render_content().
Add translator comments.

See #35039.

git-svn-id: https://develop.svn.wordpress.org/trunk@35923 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 12:53:37 +00:00
Weston Ruter
89f49aad80 Customize: Ensure that a setting (especially a multidimensional one) can still be previewed when the post value to preview is set after preview() is invoked.
* Introduce `customize_post_value_set_{$setting_id}` and `customize_post_value_set` actions which are done when `WP_Customize_Manager::set_post_value()` is called.
* Clear the `preview_applied` flag for aggregated multidimensional settings when a post value is set. This ensures the new value is used instead of a previously-cached previewed value.
* Move `$is_preview` property from subclasses to `WP_Customize_Setting` parent class.
* Deferred preview: Ensure that when `preview()` short-circuits due to not being applicable that it will be called again later when the post value is set.
* Populate post value for updated-widget with the (unsanitized) JS-value in `WP_Customize_Widgets::call_widget_update()` so that value will be properly sanitized when accessed in `WP_Customize_Manager::post_value()`.

Includes unit tests with assertions to check the reported issues and validate the fixes.

Fixes defect introduced in [35007].
See #32103.
Fixes #34738.


git-svn-id: https://develop.svn.wordpress.org/trunk@35724 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-21 02:51:57 +00:00
Sergey Biryukov
b0e225b619 Customizer: Use correct context and translator comments for menu location strings.
See #33431.

git-svn-id: https://develop.svn.wordpress.org/trunk@35722 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 17:45:57 +00:00
Dominik Schilling (ocean90)
a88d7d81b5 Customizer: Merge two similar strings.
Remove also `{{ data.menu_name }}` since it doesn't print anything.

Fixes #33630.

git-svn-id: https://develop.svn.wordpress.org/trunk@35695 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 22:24:22 +00:00