WordPress 4.3
[autoinstalls/wordpress.git] / wp-includes / admin-bar.php
index 746fdca7821fc0a7b47fd732ca67fbf9459c82ff..de33f54d542bf5ec41ac774a011095a6d075f4c6 100644 (file)
@@ -13,6 +13,9 @@
  *
  * @since 3.1.0
  * @access private
+ *
+ * @global WP_Admin_Bar $wp_admin_bar
+ *
  * @return bool Whether the admin bar was successfully initialized.
  */
 function _wp_admin_bar_init() {
@@ -55,12 +58,14 @@ function _wp_admin_bar_init() {
  * right before the admin bar is rendered. This also gives you access to the $post global, among others.
  *
  * @since 3.1.0
+ *
+ * @global WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_render() {
        global $wp_admin_bar;
 
        if ( ! is_admin_bar_showing() || ! is_object( $wp_admin_bar ) )
-               return false;
+               return;
 
        /**
         * Load all necessary admin bar items.
@@ -268,7 +273,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
        if ( is_network_admin() ) {
                $blogname = sprintf( __('Network Admin: %s'), esc_html( get_current_site()->site_name ) );
        } elseif ( is_user_admin() ) {
-               $blogname = sprintf( __('Global Dashboard: %s'), esc_html( get_current_site()->site_name ) );
+               $blogname = sprintf( __('User Dashboard: %s'), esc_html( get_current_site()->site_name ) );
        }
 
        $title = wp_html_excerpt( $blogname, 40, '…' );
@@ -313,6 +318,33 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
        }
 }
 
+/**
+ * Adds the "Customize" link to the Toolbar.
+ *
+ * @since 4.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance.
+ */
+function wp_admin_bar_customize_menu( $wp_admin_bar ) {
+       // Don't show for users who can't access the customizer or when in the admin.
+       if ( ! current_user_can( 'customize' ) || is_admin() ) {
+               return;
+       }
+
+       $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+       $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
+
+       $wp_admin_bar->add_menu( array(
+               'id'     => 'customize',
+               'title'  => __( 'Customize' ),
+               'href'   => $customize_url,
+               'meta'   => array(
+                       'class' => 'hide-if-no-customize',
+               ),
+       ) );
+       add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+}
+
 /**
  * Add the "My Sites/[Site Name]" menu and all submenus.
  *
@@ -480,6 +512,9 @@ function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
  *
  * @since 3.1.0
  *
+ * @global object   $tag
+ * @global WP_Query $wp_the_query
+ *
  * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_edit_menu( $wp_admin_bar ) {
@@ -496,7 +531,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) {
                        && ( $post_type_object->public )
                        && ( $post_type_object->show_in_admin_bar ) )
                {
-                       if( 'draft' == $post->post_status ) {
+                       if ( 'draft' == $post->post_status ) {
                                $preview_link = set_url_scheme( get_permalink( $post->ID ) );
                                /** This filter is documented in wp-admin/includes/meta-boxes.php */
                                $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
@@ -656,44 +691,13 @@ function wp_admin_bar_comments_menu( $wp_admin_bar ) {
 function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
 
-       $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-       $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
-
        if ( current_user_can( 'switch_themes' ) ) {
                $wp_admin_bar->add_menu( array(
                        'parent' => 'appearance',
                        'id'     => 'themes',
                        'title'  => __( 'Themes' ),
                        'href'   => admin_url( 'themes.php' ),
-                       'meta'   => array(
-                               'class' => 'hide-if-customize',
-                       ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-themes',
-                               'title'  => __( 'Themes' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[section]' ), 'themes', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
-       }
-
-       if ( current_user_can( 'customize' ) ) {
-               $wp_admin_bar->add_menu( array(
-                       'parent' => 'appearance',
-                       'id'     => 'customize',
-                       'title'  => __('Customize'),
-                       'href'   => $customize_url,
-                       'meta'   => array(
-                               'class' => 'hide-if-no-customize',
-                       ),
-               ) );
-               add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
        }
 
        if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -706,22 +710,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                        'id'     => 'widgets',
                        'title'  => __( 'Widgets' ),
                        'href'   => admin_url( 'widgets.php' ),
-                       'meta'   => array(
-                               'class' => 'hide-if-customize',
-                       ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-widgets',
-                               'title'  => __( 'Widgets' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[panel]' ), 'widgets', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
        if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
@@ -737,18 +726,6 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                                'class' => 'hide-if-customize',
                        ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-background',
-                               'title'  => __( 'Background' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'background_image', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
        if ( current_theme_supports( 'custom-header' ) ) {
@@ -761,18 +738,6 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                                'class' => 'hide-if-customize',
                        ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-header',
-                               'title'  => __( 'Header' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'header_image', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
 }
@@ -890,8 +855,9 @@ function _admin_bar_bump_cb() { ?>
  *
  * @since 3.1.0
  *
+ * @global WP_Admin_Bar $wp_admin_bar
+ *
  * @param bool $show Whether to allow the admin bar to show.
- * @return void
  */
 function show_admin_bar( $show ) {
        global $show_admin_bar;
@@ -903,6 +869,9 @@ function show_admin_bar( $show ) {
  *
  * @since 3.1.0
  *
+ * @global WP_Admin_Bar $wp_admin_bar
+ * @global string       $pagenow
+ *
  * @return bool Whether the admin bar should be showing.
  */
 function is_admin_bar_showing() {