Commit Graph

75 Commits

Author SHA1 Message Date
Sergey Biryukov
1fc41894d2 Customizer: Replace context for two strings added in [30306] with a translator comment.
Fixes #34203.

git-svn-id: https://develop.svn.wordpress.org/trunk@34921 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 23:53:35 +00:00
Weston Ruter
7bdfb4917f Customize: Flesh out phpdoc for WP_Customize_Manager.
* Add missing phpdoc for class member variables.
* Supply missing `@return` descriptions from [34269].
* Add missing `@since` tags.
* Remove unused `$customized` protected class member variable.

Fixes #33898.


git-svn-id: https://develop.svn.wordpress.org/trunk@34320 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-19 06:39:09 +00:00
Weston Ruter
5ea07785b3 Customize: Reduce peak memory usage by JSON-encoding settings and controls individually.
When there are hundreds of settings and controls (e.g. nav menu items and widget instances) the resulting object that is JSON-encoded can become very large, and `wp_json_encode()` can consume a lot of memory to serialize it. By breaking down the serialization into multiple calls the peak memory usage can be kept in line.

Moves logic out of `wp-admin/customize.php` into the `WP_Customize_Manager` class with new methods:

 * `is_ios()`
 * `get_document_title_template()`
 * `get_preview_url()`/`set_preview_url()`
 * `get_return_url()`/`set_return_url()`
 * `get_autofocus()`/`set_autofocus()`
 * `customize_pane_settings()`

Includes unit tests for these methods, for which the logic was formerly untestable in `customize.php`.

Fixes #33898.


git-svn-id: https://develop.svn.wordpress.org/trunk@34269 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-17 19:41:35 +00:00
Sergey Biryukov
c57efab4f4 Add a comment to strings where the ellipsis cannot be used due to json_encode(), placeholders, or external dependencies.
Fixes #32875.

git-svn-id: https://develop.svn.wordpress.org/trunk@34233 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 11:58:41 +00:00
Dominik Schilling (ocean90)
ed36c88b73 Revert [34013] and parts of [33970].
* `_WP_Editors::wp_mce_translation()` can't be changed without changing strings in TinyMCE and plugins.
* `\u2026` is escaped by `json_encode()` to `\\u2026`, makes `\u2026` visible in our UI.

See #32875.

git-svn-id: https://develop.svn.wordpress.org/trunk@34087 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:02:43 +00:00
Scott Taylor
8ed569b1ea After [33970], swap UTF-8 characters for their \u2026 escape sequence.
See #32875.


git-svn-id: https://develop.svn.wordpress.org/trunk@34013 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 20:29:18 +00:00
Scott Taylor
d6e73d47e4 Round 2 of: We should use ellipses … / … instead of three dots/periods ... e.g Loading… not Loading...
Props yoavf.
Fixes #32875.


git-svn-id: https://develop.svn.wordpress.org/trunk@33970 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-09 04:38:31 +00:00
Sergey Biryukov
2487080654 Add missing translation functions to the error messages added in [33889].
props kraftbj, GaryJ.
fixes #33684.

git-svn-id: https://develop.svn.wordpress.org/trunk@33892 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-03 18:36:22 +00:00
Sergey Biryukov
71d4444ac7 Provide more helpful feedback than just "Cheatin' uh?" for permission errors in wp-includes/class-wp-customize-manager.php.
props kraftbj.
fixes #33684. see #14530.

git-svn-id: https://develop.svn.wordpress.org/trunk@33889 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-03 09:20:40 +00:00
Konstantin Obenland
9fe59ced57 Site Icon: Add crop preview to the media modal.
* Monkey patches imgAreaSelect library to support touch events.
* Removes Settings version of Site Icon since it would have been the same flow.
* Removes default value for Customizer setting - there is no default favicon.

Fixes #16434.




git-svn-id: https://develop.svn.wordpress.org/trunk@33329 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-20 15:56:19 +00:00
Drew Jaynes
06608b167b Fix parameter descriptions for two methods added to WP_Customize_Manager in 4.3.
See [32658]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33217 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 20:31:50 +00:00
Konstantin Obenland
68cd0bc870 Site Icon: Add Customizer UI.
Second part of the Site Icon feature after [32994] introduced it for Settings.

Props celloexpressions.
See #16434.



git-svn-id: https://develop.svn.wordpress.org/trunk@33154 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-10 21:32:23 +00:00
Scott Taylor
f162be6046 For doc block types, favor bool over the few remaining booleans
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32964 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-27 01:02:12 +00:00
Dominik Schilling (ocean90)
c0a66eba79 Add menu management to the Customizer.
This brings in the Menu Customizer plugin: https://wordpress.org/plugins/menu-customizer/.

props celloexpressions, westonruter, valendesigns, voldemortensen, ocean90, adamsilverstein, kucrut, jorbin, designsimply, afercia, davidakennedy, obenland.
see #32576.

git-svn-id: https://develop.svn.wordpress.org/trunk@32806 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 22:07:08 +00:00
Weston Ruter
0c7358cffc Customizer: Allow sections and panels to be exported to JS.
Also fix param docs for `customize_dynamic_setting_class` filter, and use `require_once` for `class-wp-customize-manager.php` in bootstrap function `_wp_customize_include()`.

See #30737, #32576.


git-svn-id: https://develop.svn.wordpress.org/trunk@32744 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-12 22:53:39 +00:00
Weston Ruter
cc19680774 Add JS templates for Customizer Panels and Sections.
This extends the approach taken for Customizer Controls in #29572.

Props celloexpressions, westonruter, ocean90.
See #30737.


git-svn-id: https://develop.svn.wordpress.org/trunk@32658 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-30 00:02:13 +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
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
Dominik Schilling (ocean90)
f029572866 Theme Switcher: Provide an easier way to reset back to the current active theme.
* Add control for the active theme when doing a theme preview
* Highlight an active theme and move it to the top

props valendesigns, ocean90.
fixes #32002.

git-svn-id: https://develop.svn.wordpress.org/trunk@32265 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-22 16:15:01 +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
0b962deaaa Fix inline documentation syntax in a variety of DocBlocks and hook docs in WP_Customize_Manager.
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32032 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:06:40 +00:00
Drew Jaynes
34a23ca66c Cleanup DocBlock syntax, add a missing parameter description for WP_Customize_Manager->set_post_value().
See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32031 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:02:24 +00:00
Drew Jaynes
4bc17916a4 Add inline doc syntax fixes for WP_Customize_Manager->doing_ajax().
Also adds a return description.

See [31370]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32030 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 14:59:35 +00:00
Dominik Schilling (ocean90)
a05bbf7e7b Customizer Theme Switcher: Navigation streamlining.
* Detach Themes section from other controls
* Move to buttons to navigate back and forth
* Change titles based on current theme status, active/previewing
* Hide the active/previewing theme from the list of available themes

props folletto for the design concepts.
props designsimply, celloexpressions for initial patches.
props Team Gandalf.
see #31289.

git-svn-id: https://develop.svn.wordpress.org/trunk@31975 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 22:50:10 +00:00
Dominik Schilling (ocean90)
365ed7a6cb Customizer Theme Switcher: Remove "Add New" references.
The current iteration takes you out of the customizer context, which isn't great UX and doesn't really fit into the flows targeted by this particular UI.

fixes #31837.

git-svn-id: https://develop.svn.wordpress.org/trunk@31968 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 19:49:41 +00:00
Dominik Schilling (ocean90)
8f1a04d2fb Customizer Theme Switcher: Fix invalid HTML markup when New Theme control is added.
see #31203.

git-svn-id: https://develop.svn.wordpress.org/trunk@31950 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 11:34:23 +00:00
Sergey Biryukov
0d55562fd7 Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings.
This allows for using proper plural forms in languages with more than two forms, and also resolves string conflicts when the same string is present in both singular and plural form.

fixes #28502.

git-svn-id: https://develop.svn.wordpress.org/trunk@31941 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-31 18:44:46 +00:00
Dominik Schilling (ocean90)
179a1b7a4c Customizer: Introduce WP_Customize_Media_Control.
`WP_Customize_Media_Control` is a new base class for all Customizer media controls. If used directly it supports the ID of an attachment instead of an URL like `WP_Customize_Upload_Control`.

props celloexpressions.
fixes #29215.

git-svn-id: https://develop.svn.wordpress.org/trunk@31698 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 18:01:42 +00:00
Dominik Schilling (ocean90)
557ecd19c6 Customizer: Add loading indicators for the Customizer preview.
props Fab1en, westonruter.
fixes #31196.

git-svn-id: https://develop.svn.wordpress.org/trunk@31697 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 15:55:28 +00:00
Drew Jaynes
4d549627b4 Add a missing file header to wp-includes/class-wp-customize-manager.php, separate out the class DocBlock for WP_Customize_Manager.
See #31446.


git-svn-id: https://develop.svn.wordpress.org/trunk@31540 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-25 08:06:26 +00:00
Mark Jaquith
b734341433 Make sure WP_Customize_Manager::theme() never returns null.
* Fixes issue in [31533] that caused unit test fatal error

fixes #31445

git-svn-id: https://develop.svn.wordpress.org/trunk@31536 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-25 03:53:04 +00:00
Mark Jaquith
f1bb5c2fd7 Add theme browsing and theme switching to the Customizer
* Brings into core the Customizer Theme Switcher feature plugin
* You can now browse, preview, and activate themes right from the Customizer

fixes #31303.
props celloexpressions, afercia, westonruter, folletto, designsimply

git-svn-id: https://develop.svn.wordpress.org/trunk@31533 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-24 20:30:22 +00:00
Dominik Schilling (ocean90)
4463917f68 Customizer: Restore showing a login form inside the previewer if an user is logged out.
Broken since [31370].

props westonruter.
see #31294.

git-svn-id: https://develop.svn.wordpress.org/trunk@31421 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-11 22:12:47 +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
Dominik Schilling (ocean90)
1b6e82cf98 Customizer: Add changelog entry for the 'default' parameter added in [31329].
props westonruter.
see #30988.

git-svn-id: https://develop.svn.wordpress.org/trunk@31360 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-06 21:13:50 +00:00
Dominik Schilling (ocean90)
8bc9ad756d Ensure that WP_Customize_Setting::value() returns default value for setting if not dirty.
There was regression introduced by #28580 where only changed (dirty) settings now are POST'ed to the Customizer preview.

* Allow WP_Customize_Manager::post_value() to accept a second $default argument.
* Introduce WP_Customize_Manager::unsanitized_post_values() for accessing previously-private member variable _post_values.
* Do require_once instead of require for Customizer classes.
* Add unit tests for WP_Customize_Manager and WP_Customize_Setting.

props westonruter.
fixes #30988.

git-svn-id: https://develop.svn.wordpress.org/trunk@31329 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-03 10:14:28 +00:00
Sergey Biryukov
2b4099c6bd Customizer: Replicate behavior from options-reading.php and hide front page options if there are no pages.
props Clorith.
fixes #27630.

git-svn-id: https://develop.svn.wordpress.org/trunk@31234 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-18 06:00:18 +00:00
Scott Taylor
835dbe7baf [31210] broke Supportflow on dotorg, which declares these methods as protected. Switch to protected for the noop methods. The subclasses can make them more visible using public.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31211 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 18:36:46 +00:00
Scott Taylor
5acc6bdb58 In PHP 5.0.0, is_a() became deprecated in favour of the instanceof operator. Calling is_a() would result in an E_STRICT warning.
In PHP 5.3.0, `is_a()` is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.

To avoid warnings in PHP < 5.3.0, convert all `is_a()` calls to `$var instanceof WP_Class` calls.

`instanceof` does not throw any error if the variable being tested is not an object, it simply returns `false`.

Props markoheijnen, wonderboymusic.
Fixes #25672.


git-svn-id: https://develop.svn.wordpress.org/trunk@31188 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 01:05:52 +00:00
Scott Taylor
14c2161a3b There is no need to use the final modifier inside a final class. Everything in it is final by default.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31085 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 06:09:59 +00:00
Scott Taylor
469164785f Pinking Shears.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31077 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 05:02:05 +00:00
Sergey Biryukov
bac33e9a17 Customizer: Correctly display "Select" option in Navigation section dropdowns.
props kucrut.
fixes #30929.

git-svn-id: https://develop.svn.wordpress.org/trunk@31069 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-07 19:49:17 +00:00
Drew Jaynes (DrewAPicture)
af680788bc Add a description for the $data parameter in the DocBlock for the customize_save_response hook introduced in [31062].
Props westonruter.
Fixes #29098.


git-svn-id: https://develop.svn.wordpress.org/trunk@31063 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-07 01:47:17 +00:00
Dominik Schilling (ocean90)
8bf3003c67 Customizer: Send JSON success for customize_save and allow response to be filtered.
props westonruter.
fixes #29098.

git-svn-id: https://develop.svn.wordpress.org/trunk@31062 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-06 21:46:54 +00:00
Dominik Schilling (ocean90)
c959c4d4b3 Customizer: Add _wp_attachment_is_custom_background meta to uploaded background images.
Adds `$type` property to `WP_Customize_Background_Image_Control` (PHP) and introduces `wp.customize.BackgroundControl` (JS).

see #30707.

git-svn-id: https://develop.svn.wordpress.org/trunk@30885 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-15 23:27:17 +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
Drew Jaynes (DrewAPicture)
91a0357fe0 4.1 Docs Audit: Improve inline documentation for various properties and methods in the WP_Customize_Manager class.
See #30469.


git-svn-id: https://develop.svn.wordpress.org/trunk@30606 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-28 10:51:41 +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
Dominik Schilling (ocean90)
4175d8a922 Customizer: Add support for the media library in Background Image controls.
`WP_Customize_Upload_Control` (PHP) and `api.UploadControl` (JS) can now open the media modal.

props celloexpressions, and ericlewis for docs.
see #21483.

git-svn-id: https://develop.svn.wordpress.org/trunk@30309 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-11 23:51:48 +00:00