Commit Graph

29 Commits

Author SHA1 Message Date
Ryan Boren
0b39b920c1 phpdoc for Customizer classes and methods. Props bananastalktome. see #21303
git-svn-id: https://develop.svn.wordpress.org/trunk@21354 602fd350-edb4-49c9-b593-d223f7449a82
2012-07-26 21:45:33 +00:00
Andrew Nacin
26f8f3e504 Refresh nonces in the customizer. props koopersmith. see #20876.
git-svn-id: https://develop.svn.wordpress.org/trunk@21135 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 18:48:18 +00:00
Andrew Nacin
f3e45be558 Allow switch_theme() to take a single $stylesheet argument.
It now effectively has two function definitions:
function switch_theme( $stylesheet )
function switch_theme( $template, $stylesheet )

fixes #21075.



git-svn-id: https://develop.svn.wordpress.org/trunk@21131 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-26 05:21:04 +00:00
Ryan Boren
48a3ec24c5 Pinking shears
git-svn-id: https://develop.svn.wordpress.org/trunk@21070 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-12 19:27:41 +00:00
Andrew Nacin
7b32cc9e6b Theme Customizer: Validate themes with more than just an existence check.
* The current theme goes through validate_current_theme().
 * If doing a preview of a different theme, we check theme->errors().

Also:
 * Don't attach previewing hooks when previewing the current theme.
Aside from being unnecessary, this prevents issues with a theme with
the error of theme_parent_invalid.
 * Call send_origin_headers() earlier, to allow wp_die( '0' ) to properly
be returned in a domain mapping situation.
 * Fix the 'Save & Activate' message on themes.php.

fixes #20921.



git-svn-id: https://develop.svn.wordpress.org/trunk@21069 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-12 18:39:16 +00:00
Andrew Nacin
8c9bce5737 Do not specify background-image: none when a user removes a custom background
on a theme that has a default background image.

The onus is on the theme to omit the default background-image from style.css,
to allow the user to remove the default background image. Or, the theme can
specify a background-image for the body selector, as long as they then zero
it out for body.custom-background, like so:

{{{
body {
	background-image: url( ... );
}
body.custom-background {
	background-image: none;
}
}}}

This allows the theme to be compatible with the custom background feature
but also gracefully degrade if the background feature is disabled.

This is the same behavior as 3.3; setting a default image has simply been
made more prominent in 3.4. Reverts [21013], also parts of [21001].
see #20448 for change and discussion history.

see #20132, which will now be marked as invalid.

Also, per previous changes in #20448, the custom-background class should not
be shown when only a default color is in use.

fixes #20448.



git-svn-id: https://develop.svn.wordpress.org/trunk@21054 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-11 21:25:05 +00:00
Andrew Nacin
04fc3508d3 Theme Customizer: Remove background_image_thumb when saving settings. fixes #20871.
This prevents the background_image and background_image_thumb settings from getting out of sync.
In 3.5 we can consider using background-size on Appearance > Background, eliminating _thumb.



git-svn-id: https://develop.svn.wordpress.org/trunk@21053 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-11 20:49:45 +00:00
Ryan Boren
a24c284403 * Introduce remove_header_image(), reset_header_image(), set_header_image(), and get_header_image_data() for Custom_Image_Header.
* Handle all set/get of header theme mod through these methods.
* Use these methods in the customizer.

Props kovshenin, nacin, SergeyBiryukov, koopersmith.
fixes #20871


git-svn-id: https://develop.svn.wordpress.org/trunk@21037 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-10 00:32:19 +00:00
Ryan Boren
ab8deebae3 Customizer: Gravefully handle cookie expipration. Prompt for log in in the preview. Props ocean90, koopersmith, nacin. fixes #20876
git-svn-id: https://develop.svn.wordpress.org/trunk@21031 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-08 19:22:11 +00:00
Andrew Nacin
be6b3ffe21 Remove the set_theme_mods() method from customize manager. We ended up not using it. see #20871.
git-svn-id: https://develop.svn.wordpress.org/trunk@21027 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-07 23:33:00 +00:00
Andrew Nacin
39d7e1ccc9 Call auth_redirect() for customize.php. props ocean90. fixes #20872.
git-svn-id: https://develop.svn.wordpress.org/trunk@21019 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-07 15:25:45 +00:00
Ryan Boren
bfcfd40f49 Don't resurrect a removed default image when changing colors in the Customizer. Props koopersmith, nacin. fixes #20448
git-svn-id: https://develop.svn.wordpress.org/trunk@21013 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-06 21:24:22 +00:00
Andrew Nacin
7996c82427 Theme Customizer: Block non-existent or non-allowed themes, unless the non-allowed theme is the active theme. Support a user having edit_theme_options xor switch_themes. fixes #20852.
git-svn-id: https://develop.svn.wordpress.org/trunk@21010 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-06 20:34:24 +00:00
Daryl Koopersmith
ac95404db8 Theme Customizer: Add an inline html5 shiv to the preview to ensure html5 elements render properly. props SergeyBiryukov, fixes #20755.
git-svn-id: https://develop.svn.wordpress.org/trunk@20995 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-05 12:26:57 +00:00
Ryan Boren
06c0450892 Theme Customizer: Fix race condition in previewer and use message channels. Props koopersmith. fixes #20811
git-svn-id: https://develop.svn.wordpress.org/trunk@20988 602fd350-edb4-49c9-b593-d223f7449a82
2012-06-04 15:51:46 +00:00
Daryl Koopersmith
771ca21787 Theme Customizer: Ensure that JS color controls always use real color values, even if the server-side value is a hex value without a hash. fixes #20448, see #19910.
Adds WP_Customize_Setting->sanitize_js_callback and 'customize_sanitize_js_$settingID' filter, to filter values before they're passed to JS using WP_Customize_Setting->js_value().

Adds support for regular hex colors to the color picker.

Changes color methods:
* sanitize_hex_color() accepts 3 and 6 digit hex colors (with hashes) and the empty string.
* sanitize_hex_color_no_hash() accepts 3 and 6 digit hex colors (without hashes) and the empty string.
* maybe_hash_hex_color() ensures that a hex color has a hash, and otherwise leaves the value untouched.


git-svn-id: https://develop.svn.wordpress.org/trunk@20936 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 18:44:31 +00:00
Andrew Nacin
cd3af4b6d1 Theme Customizer: 'Header Text Color', not 'Text Color', when referring to the header text in the Colors section. props ocean90. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20933 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 15:24:42 +00:00
Andrew Nacin
7552f3d242 Theme Customizer: Introduce a remove_preview_signature() method that we can employ to ensure we do not think a wp_die() is a customizer-generated preview. see #20507.
git-svn-id: https://develop.svn.wordpress.org/trunk@20926 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 04:34:45 +00:00
Daryl Koopersmith
0847bf3b89 Theme Customizer: Add a signature to preview requests to be super-double-ultra-sure that the customizer generated the preview. Redirects can be sneaky. fixes #20507, see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20925 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 04:08:44 +00:00
Andrew Nacin
a621d3e326 Do not spawn cron or trigger update checks when running the customizer.
Both can slow down the experience.

The alternate cron will issue a redirect which creates more work for the
customizer, but not exit immediately, which means shutdown will be delayed
(see future changeset from koopersmith in #20507 where we check for a token
printed on shutdown to ensure the response came from the customizer).

The update checks could also cause bad data to be sent. In particular, the
currently active theme would be incorrect.

see #20507.



git-svn-id: https://develop.svn.wordpress.org/trunk@20924 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-26 03:52:14 +00:00
Daryl Koopersmith
f27e2cc8cf Theme Customizer: Allow sanitize_hexcolor to accept the empty string. Fixes default assignment on save and bug where header textcolor would remain hidden if loaded hidden. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20915 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 20:58:49 +00:00
Daryl Koopersmith
b1e5b31c58 Theme Customizer: Improve background image control, add correct meta key to custom headers and backgrounds uploaded using the customizer. see #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20913 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 20:26:25 +00:00
Daryl Koopersmith
2cd502fdfb Theme Customizer: Section reorganization. see #19910.
Now that sections are organized in accordions, group items by size and usage.
Move header/background controls into colors, header image, background image, and title/tagline sections.


git-svn-id: https://develop.svn.wordpress.org/trunk@20912 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 19:52:54 +00:00
Daryl Koopersmith
4f72da87c9 Theme Customizer: Improve hex color sanitization functions. fixes #20600, see #19910.
Instead of fetching default header_textcolor manually, return null to do so automatically.
Improve hex regex.


git-svn-id: https://develop.svn.wordpress.org/trunk@20910 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 18:54:57 +00:00
Daryl Koopersmith
c88445c82d Theme Customizer: Improve default background property handling. see #20600, #19910.
If the custom background default wp-head-callback (_custom_background_cb) is used, we use postMessage for all custom background properties. Otherwise, we use full refreshes.

When using postMessage, the preview recalculates the custom background CSS block, allowing it to omit CSS values when they are not present and fall back on the original CSS.


git-svn-id: https://develop.svn.wordpress.org/trunk@20908 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-25 18:41:22 +00:00
Daryl Koopersmith
1ec203203c Theme Customizer: Add a base element to the preview's head element to allow relative links (root, hash, and query strings). see #20507, #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20863 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 02:07:16 +00:00
Daryl Koopersmith
dde6d026cf Theme Customizer: Properly handle redirects in the preview by setting wp_redirect_status to 200. props nacin, see #20507, #19910.
git-svn-id: https://develop.svn.wordpress.org/trunk@20861 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-24 01:48:32 +00:00
Andrew Nacin
11594ad693 Remove temporary magic call method in favor of theme(), settings(), controls(), and sections() methods for WP_Customize_Manager. fixes #20736.
git-svn-id: https://develop.svn.wordpress.org/trunk@20860 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-23 21:21:29 +00:00
Andrew Nacin
aba958e81c Customize API shuffling.
* Rename WP_Customize to WP_Customize_Manager.
 * Move customize-controls.php to wp-admin/customize.php.
 * Make customize.php the formal entry point, rather than admin.php?customize=on.
 * Rename is_current_theme_active() to is_theme_active().
 * Add getters for the theme, settings, controls, and sections properties.
 * Allow customize.php (no ?theme=) to load the active theme. Not used yet.
see #20736.



git-svn-id: https://develop.svn.wordpress.org/trunk@20852 602fd350-edb4-49c9-b593-d223f7449a82
2012-05-23 17:56:42 +00:00