Skip to content
This repository has been archived by the owner on Aug 24, 2018. It is now read-only.

Commit

Permalink
Merge pull request #59 from xwp/post-core-merge
Browse files Browse the repository at this point in the history
Prepare plugin for life after core merge
  • Loading branch information
westonruter authored May 11, 2017
2 parents 0e666fe + a5a570d commit 1089ca3
Showing 1 changed file with 53 additions and 18 deletions.
71 changes: 53 additions & 18 deletions core-media-widgets.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@
* @package WordPress
*/

define( 'WP_CORE_MEDIA_WIDGETS_MERGED', file_exists( ABSPATH . 'wp-includes/widgets/class-wp-widget-media.php' ) );
define( 'WP_CORE_VISUAL_TEXT_WIDGET_MERGED', file_exists( ABSPATH . 'wp-admin/js/widgets/text-widgets.js' ) );

// Register WP-CLI command for generating QUnit test suite.
if ( defined( 'WP_CLI' ) ) {
require_once dirname( __FILE__ ) . '/php/class-media-widgets-wp-cli-command.php';
WP_CLI::add_command( 'media-widgets', new Media_Widgets_WP_CLI_Command() );
}

define( 'WP_CORE_VISUAL_TEXT_WIDGET_MERGED', file_exists( ABSPATH . 'wp-admin/js/widgets/text-widgets.js' ) );

/**
* Register widget scripts.
*
Expand All @@ -44,14 +45,34 @@ function wp32417_default_scripts( WP_Scripts $scripts ) {
$scripts->add_inline_script( 'text-widgets', 'wp.textWidgets.init();', 'after' );
}

$scripts->add( 'media-widgets', plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-widgets.js', array( 'jquery', 'media-models', 'media-views' ) );
$scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' );
$handle = 'media-widgets';
$src = plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-widgets.js';
if ( ! $scripts->query( $handle, 'registered' ) ) {
$scripts->add( $handle, $src, array( 'jquery', 'media-models', 'media-views' ) );
$scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' );
}

$handle = 'media-image-widget';
$src = plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-image-widget.js';
if ( ! $scripts->query( $handle, 'registered' ) ) {
$scripts->add( $handle, $src, array( 'media-widgets' ) );
}

$handle = 'media-video-widget';
$src = plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-video-widget.js';
if ( ! $scripts->query( $handle, 'registered' ) ) {
$scripts->add( $handle, $src, array( 'media-widgets', 'media-audiovideo' ) );
}

$scripts->add( 'media-audio-widget', plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-audio-widget.js', array( 'media-widgets', 'media-audiovideo' ) );
$scripts->add( 'media-image-widget', plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-image-widget.js', array( 'media-widgets' ) );
$scripts->add( 'media-video-widget', plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-video-widget.js', array( 'media-widgets', 'media-audiovideo' ) );
$handle = 'media-audio-widget';
$src = plugin_dir_url( __FILE__ ) . 'wp-admin/js/widgets/media-audio-widget.js';
if ( ! $scripts->query( $handle, 'registered' ) ) {
$scripts->add( $handle, $src, array( 'media-widgets', 'media-audiovideo' ) );
}

$scripts->add_inline_script( 'customize-selective-refresh', file_get_contents( dirname( __FILE__ ) . '/wp-includes/js/customize-selective-refresh-extras.js' ) );
if ( ! WP_CORE_MEDIA_WIDGETS_MERGED ) {
$scripts->add_inline_script( 'customize-selective-refresh', file_get_contents( dirname( __FILE__ ) . '/wp-includes/js/customize-selective-refresh-extras.js' ) );
}
}
add_action( 'wp_default_scripts', 'wp32417_default_scripts' );

Expand All @@ -75,7 +96,11 @@ function wp32417_add_default_filters() {
* @param WP_Styles $styles Styles.
*/
function wp32417_default_styles( WP_Styles $styles ) {
$styles->add( 'media-widgets', plugin_dir_url( __FILE__ ) . 'wp-admin/css/widgets/media-widgets.css', array( 'media-views' ) );
$handle = 'media-widgets';
$src = plugin_dir_url( __FILE__ ) . 'wp-admin/css/widgets/media-widgets.css';
if ( ! WP_CORE_MEDIA_WIDGETS_MERGED ) {
$styles->add( $handle, $src, array( 'media-views' ) );
}
}
add_action( 'wp_default_styles', 'wp32417_default_styles' );

Expand All @@ -89,7 +114,9 @@ function wp32417_custom_theme_styles() {
add_action( 'wp_head', 'wp32417_twentyten_styles' );
}
}
add_action( 'wp_enqueue_scripts', 'wp32417_custom_theme_styles', 11 );
if ( ! WP_CORE_MEDIA_WIDGETS_MERGED ) {
add_action( 'wp_enqueue_scripts', 'wp32417_custom_theme_styles', 11 );
}

/**
* Style fixes for Twenty Ten.
Expand All @@ -106,22 +133,30 @@ function wp32417_twentyten_styles() {
* @codeCoverageIgnore
*/
function wp32417_widgets_init() {
require_once( dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media.php' );
require_once( dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-audio.php' );
require_once( dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-image.php' );
require_once( dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-video.php' );

register_widget( 'WP_Widget_Media_Image' );
register_widget( 'WP_Widget_Media_Video' );
register_widget( 'WP_Widget_Media_Audio' );
$class_files = array(
'WP_Widget_Media' => dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media.php',
'WP_Widget_Media_Image' => dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-image.php',
'WP_Widget_Media_Video' => dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-video.php',
'WP_Widget_Media_Audio' => dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-media-audio.php',
);
foreach ( $class_files as $class => $file ) {
if ( ! class_exists( $class ) ) {
require_once( $file );

if ( 'WP_Widget_Media' !== $class ) {
register_widget( $class );
}
}
}

if ( function_exists( 'wp_enqueue_editor' ) && ! WP_CORE_VISUAL_TEXT_WIDGET_MERGED ) {
require_once( dirname( __FILE__ ) . '/wp-includes/widgets/class-wp-widget-visual-text.php' );
unregister_widget( 'WP_Widget_Text' );
register_widget( 'WP_Widget_Visual_Text' );
}
}
add_action( 'widgets_init', 'wp32417_widgets_init' );
add_action( 'widgets_init', 'wp32417_widgets_init', 0 );

/**
* Add align class name to the alignment container in .attachment-display-settings.
Expand Down

0 comments on commit 1089ca3

Please sign in to comment.