mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-05 02:10:45 +01:00
103fba7679
git-svn-id: http://core.svn.wordpress.org/trunk@20829 1a063a9b-81f0-0310-95a4-ce76da25c4cd
141 lines
4.6 KiB
PHP
141 lines
4.6 KiB
PHP
<?php
|
|
/**
|
|
* Customize Controls
|
|
*
|
|
* @package WordPress
|
|
* @subpackage Customize
|
|
* @since 3.4.0
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) )
|
|
die;
|
|
|
|
global $wp_scripts;
|
|
|
|
$registered = $wp_scripts->registered;
|
|
$wp_scripts = new WP_Scripts;
|
|
$wp_scripts->registered = $registered;
|
|
|
|
add_action( 'customize_controls_print_scripts', 'print_head_scripts', 20 );
|
|
add_action( 'customize_controls_print_footer_scripts', '_wp_footer_scripts' );
|
|
add_action( 'customize_controls_print_styles', 'print_admin_styles', 20 );
|
|
|
|
do_action( 'customize_controls_init' );
|
|
|
|
wp_enqueue_script( 'customize-controls' );
|
|
wp_enqueue_style( 'customize-controls' );
|
|
|
|
do_action( 'customize_controls_enqueue_scripts' );
|
|
|
|
// Let's roll.
|
|
@header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
|
|
|
|
wp_user_settings();
|
|
_wp_admin_html_begin();
|
|
|
|
$admin_title = sprintf( __( '%1$s — WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $this->theme->display('Name') ) ) );
|
|
?><title><?php echo $admin_title; ?></title><?php
|
|
|
|
do_action( 'customize_controls_print_styles' );
|
|
do_action( 'customize_controls_print_scripts' );
|
|
?>
|
|
</head>
|
|
<body class="wp-full-overlay">
|
|
<form id="customize-controls" class="wrap wp-full-overlay-sidebar">
|
|
<?php wp_nonce_field( 'customize_controls' ); ?>
|
|
<div id="customize-header-actions" class="wp-full-overlay-header">
|
|
<a class="back" href="<?php echo esc_url( admin_url( 'themes.php' ) ); ?>">
|
|
<?php printf( __( '← Return to %s' ), __('Manage Themes') ); ?>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="wp-full-overlay-sidebar-content">
|
|
<div id="customize-info" class="customize-section">
|
|
<div class="customize-section-title">
|
|
<span class="preview-notice"><?php _e('You are previewing'); ?></span>
|
|
<strong class="theme-name"><?php echo $this->theme->display('Name'); ?></strong>
|
|
</div>
|
|
<div class="customize-section-content">
|
|
<?php if ( $screenshot = $this->theme->get_screenshot() ) : ?>
|
|
<img class="theme-screenshot" src="<?php echo esc_url( $screenshot ); ?>" />
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $this->theme->get('Description') ): ?>
|
|
<div class="theme-description"><?php echo $this->theme->display('Description'); ?></div>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="customize-theme-controls"><ul>
|
|
<?php
|
|
foreach ( $this->sections as $section )
|
|
$section->maybe_render();
|
|
?>
|
|
</ul></div>
|
|
</div>
|
|
|
|
<div id="customize-footer-actions" class="wp-full-overlay-footer">
|
|
<?php
|
|
$save_text = $this->is_current_theme_active() ? __('Save') : __('Save and Activate');
|
|
submit_button( $save_text, 'primary', 'save', false );
|
|
?>
|
|
<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" />
|
|
|
|
<a href="#" class="collapse-sidebar button-secondary" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
|
|
<span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
|
|
<span class="collapse-sidebar-arrow"></span>
|
|
</a>
|
|
</div>
|
|
</form>
|
|
<div id="customize-preview" class="wp-full-overlay-main"></div>
|
|
<?php
|
|
|
|
do_action( 'customize_controls_print_footer_scripts' );
|
|
|
|
// If the frontend and the admin are served from the same domain, load the
|
|
// preview over ssl if the customizer is being loaded over ssl. This avoids
|
|
// insecure content warnings. This is not attempted if the admin and frontend
|
|
// are on different domains to avoid the case where the frontend doesn't have
|
|
// ssl certs. Domain mapping plugins can force ssl in these conditions using
|
|
// the customize_preview_link filter.
|
|
$admin_origin = parse_url( admin_url() );
|
|
$home_origin = parse_url( home_url() );
|
|
$scheme = null;
|
|
if ( is_ssl() && ( $admin_origin[ 'host' ] == $home_origin[ 'host' ] ) )
|
|
$scheme = 'https';
|
|
|
|
$preview_url = apply_filters( 'customize_preview_link', home_url( '/', $scheme ) );
|
|
|
|
$settings = array(
|
|
'theme' => array(
|
|
'stylesheet' => $this->get_stylesheet(),
|
|
'active' => $this->is_current_theme_active(),
|
|
),
|
|
'url' => array(
|
|
'preview' => esc_url( $preview_url ),
|
|
'parent' => esc_url( admin_url() ),
|
|
'ajax' => esc_url( admin_url( 'admin-ajax.php', 'relative' ) ),
|
|
),
|
|
'settings' => array(),
|
|
'controls' => array(),
|
|
);
|
|
|
|
foreach ( $this->settings as $id => $setting ) {
|
|
$settings['settings'][ $id ] = array(
|
|
'value' => $setting->js_value(),
|
|
'transport' => $setting->transport,
|
|
);
|
|
}
|
|
|
|
foreach ( $this->controls as $id => $control ) {
|
|
$control->to_json();
|
|
$settings['controls'][ $id ] = $control->json;
|
|
}
|
|
|
|
?>
|
|
<script type="text/javascript">
|
|
var _wpCustomizeSettings = <?php echo json_encode( $settings ); ?>;
|
|
</script>
|
|
</body>
|
|
</html>
|