Update everything
This commit is contained in:
1 parent
5da6eca0f6
commit
404c516a94
712 files changed
+44202
-26753
No files matched your search
@@ -1,41 +1,154 @@
|
||||
<?php
|
||||
/**
|
||||
* BackPress Scripts enqueue.
|
||||
* Dependencies API: WP_Scripts class
|
||||
*
|
||||
* These classes were refactored from the WordPress WP_Scripts and WordPress
|
||||
* script enqueue API.
|
||||
* @since 2.6.0
|
||||
*
|
||||
* @package BackPress
|
||||
* @since r16
|
||||
* @package WordPress
|
||||
* @subpackage Dependencies
|
||||
*/
|
||||
|
||||
/**
|
||||
* BackPress Scripts enqueue class.
|
||||
* Core class used to register scripts.
|
||||
*
|
||||
* @package BackPress
|
||||
* @package WordPress
|
||||
* @uses WP_Dependencies
|
||||
* @since r16
|
||||
* @since 2.1.0
|
||||
*/
|
||||
class WP_Scripts extends WP_Dependencies {
|
||||
public $base_url; // Full URL with trailing slash
|
||||
/**
|
||||
* Base URL for scripts.
|
||||
*
|
||||
* Full URL with trailing slash.
|
||||
*
|
||||
* @since 2.6.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $base_url;
|
||||
|
||||
/**
|
||||
* URL of the content directory.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $content_url;
|
||||
|
||||
/**
|
||||
* Default version string for stylesheets.
|
||||
*
|
||||
* @since 2.6.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $default_version;
|
||||
|
||||
/**
|
||||
* Holds handles of scripts which are enqueued in footer.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
public $in_footer = array();
|
||||
|
||||
/**
|
||||
* Holds a list of script handles which will be concatenated.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $concat = '';
|
||||
|
||||
/**
|
||||
* Holds a string which contains script handles and their version.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @deprecated 3.4.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $concat_version = '';
|
||||
|
||||
/**
|
||||
* Whether to perform concatenation.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var bool
|
||||
*/
|
||||
public $do_concat = false;
|
||||
|
||||
/**
|
||||
* Holds HTML markup of scripts and additional data if concatenation
|
||||
* is enabled.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $print_html = '';
|
||||
|
||||
/**
|
||||
* Holds inline code if concatenation is enabled.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $print_code = '';
|
||||
|
||||
/**
|
||||
* Holds a list of script handles which are not in the default directory
|
||||
* if concatenation is enabled.
|
||||
*
|
||||
* Unused in core.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $ext_handles = '';
|
||||
|
||||
/**
|
||||
* Holds a string which contains handles and versions of scripts which
|
||||
* are not in the default directory if concatenation is enabled.
|
||||
*
|
||||
* Unused in core.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
public $ext_version = '';
|
||||
|
||||
/**
|
||||
* List of default directories.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
* @var array
|
||||
*/
|
||||
public $default_dirs;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @since 2.6.0
|
||||
* @access public
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->init();
|
||||
add_action( 'init', array( $this, 'init' ), 0 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the class.
|
||||
*
|
||||
* @since 3.4.0
|
||||
* @access public
|
||||
*/
|
||||
public function init() {
|
||||
@@ -54,6 +167,10 @@ class WP_Scripts extends WP_Dependencies {
|
||||
*
|
||||
* Prints the scripts passed to it or the print queue. Also prints all necessary dependencies.
|
||||
*
|
||||
* @since 2.1.0
|
||||
* @since 2.8.0 Added the `$group` parameter.
|
||||
* @access public
|
||||
*
|
||||
* @param mixed $handles Optional. Scripts to be printed. (void) prints queue, (string) prints
|
||||
* that script, (array of strings) prints those scripts. Default false.
|
||||
* @param int $group Optional. If scripts were queued in groups prints this group number.
|
||||
@@ -65,12 +182,19 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 3.3
|
||||
* Prints extra scripts of a registered script.
|
||||
*
|
||||
* @since 2.1.0
|
||||
* @since 2.8.0 Added the `$echo` parameter.
|
||||
* @deprecated 3.3.0
|
||||
* @access public
|
||||
*
|
||||
* @see print_extra_script()
|
||||
*
|
||||
* @param string $handle
|
||||
* @param bool $echo
|
||||
* @return bool|string|void
|
||||
* @param string $handle The script's registered handle.
|
||||
* @param bool $echo Optional. Whether to echo the extra script instead of just returning it.
|
||||
* Default true.
|
||||
* @return bool|string|void Void if no data exists, extra scripts if `$echo` is true, true otherwise.
|
||||
*/
|
||||
public function print_scripts_l10n( $handle, $echo = true ) {
|
||||
_deprecated_function( __FUNCTION__, '3.3', 'print_extra_script()' );
|
||||
@@ -78,9 +202,15 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $handle
|
||||
* @param bool $echo
|
||||
* @return bool|string|void
|
||||
* Prints extra scripts of a registered script.
|
||||
*
|
||||
* @since 3.3.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $handle The script's registered handle.
|
||||
* @param bool $echo Optional. Whether to echo the extra script instead of just returning it.
|
||||
* Default true.
|
||||
* @return bool|string|void Void if no data exists, extra scripts if `$echo` is true, true otherwise.
|
||||
*/
|
||||
public function print_extra_script( $handle, $echo = true ) {
|
||||
if ( !$output = $this->get_data( $handle, 'data' ) )
|
||||
@@ -99,9 +229,17 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $handle Name of the item. Should be unique.
|
||||
* @param int|bool $group
|
||||
* @return bool True on success, false if not set.
|
||||
* Processes a script dependency.
|
||||
*
|
||||
* @since 2.6.0
|
||||
* @since 2.8.0 Added the `$group` parameter.
|
||||
* @access public
|
||||
*
|
||||
* @see WP_Dependencies::do_item()
|
||||
*
|
||||
* @param string $handle The script's registered handle.
|
||||
* @param int|false $group Optional. Group level: (int) level, (false) no groups. Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function do_item( $handle, $group = false ) {
|
||||
if ( !parent::do_item($handle) )
|
||||
@@ -135,6 +273,17 @@ class WP_Scripts extends WP_Dependencies {
|
||||
$cond_after = "<![endif]-->\n";
|
||||
}
|
||||
|
||||
$before_handle = $this->print_inline_script( $handle, 'before', false );
|
||||
$after_handle = $this->print_inline_script( $handle, 'after', false );
|
||||
|
||||
if ( $before_handle ) {
|
||||
$before_handle = sprintf( "<script type='text/javascript'>\n%s\n</script>\n", $before_handle );
|
||||
}
|
||||
|
||||
if ( $after_handle ) {
|
||||
$after_handle = sprintf( "<script type='text/javascript'>\n%s\n</script>\n", $after_handle );
|
||||
}
|
||||
|
||||
if ( $this->do_concat ) {
|
||||
/**
|
||||
* Filter the script loader source.
|
||||
@@ -145,7 +294,14 @@ class WP_Scripts extends WP_Dependencies {
|
||||
* @param string $handle Script handle.
|
||||
*/
|
||||
$srce = apply_filters( 'script_loader_src', $src, $handle );
|
||||
if ( $this->in_default_dir( $srce ) && ! $conditional ) {
|
||||
|
||||
if ( $this->in_default_dir( $srce ) && ( $before_handle || $after_handle ) ) {
|
||||
$this->do_concat = false;
|
||||
|
||||
// Have to print the so-far concatenated scripts right away to maintain the right order.
|
||||
_print_scripts();
|
||||
$this->reset();
|
||||
} elseif ( $this->in_default_dir( $srce ) && ! $conditional ) {
|
||||
$this->print_code .= $this->print_extra_script( $handle, false );
|
||||
$this->concat .= "$handle,";
|
||||
$this->concat_version .= "$handle$ver";
|
||||
@@ -168,6 +324,11 @@ class WP_Scripts extends WP_Dependencies {
|
||||
echo $cond_after;
|
||||
}
|
||||
|
||||
// A single item may alias a set of items, by having dependencies, but no source.
|
||||
if ( ! $obj->src ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
|
||||
$src = $this->base_url . $src;
|
||||
}
|
||||
@@ -181,7 +342,7 @@ class WP_Scripts extends WP_Dependencies {
|
||||
if ( ! $src )
|
||||
return true;
|
||||
|
||||
$tag = "{$cond_before}<script type='text/javascript' src='$src'></script>\n{$cond_after}";
|
||||
$tag = "{$cond_before}{$before_handle}<script type='text/javascript' src='$src'></script>\n{$after_handle}{$cond_after}";
|
||||
|
||||
/**
|
||||
* Filter the HTML script tag of an enqueued script.
|
||||
@@ -204,7 +365,66 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* Localizes a script, only if the script has already been added
|
||||
* Adds extra code to a registered script.
|
||||
*
|
||||
* @since 4.5.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $handle Name of the script to add the inline script to. Must be lowercase.
|
||||
* @param string $data String containing the javascript to be added.
|
||||
* @param string $position Optional. Whether to add the inline script before the handle
|
||||
* or after. Default 'after'.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function add_inline_script( $handle, $data, $position = 'after' ) {
|
||||
if ( ! $data ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( 'after' !== $position ) {
|
||||
$position = 'before';
|
||||
}
|
||||
|
||||
$script = (array) $this->get_data( $handle, $position );
|
||||
$script[] = $data;
|
||||
|
||||
return $this->add_data( $handle, $position, $script );
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints inline scripts registered for a specific handle.
|
||||
*
|
||||
* @since 4.5.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $handle Name of the script to add the inline script to. Must be lowercase.
|
||||
* @param string $position Optional. Whether to add the inline script before the handle
|
||||
* or after. Default 'after'.
|
||||
* @param bool $echo Optional. Whether to echo the script instead of just returning it.
|
||||
* Default true.
|
||||
* @return string|false Script on success, false otherwise.
|
||||
*/
|
||||
public function print_inline_script( $handle, $position = 'after', $echo = true ) {
|
||||
$output = $this->get_data( $handle, $position );
|
||||
|
||||
if ( empty( $output ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$output = trim( implode( "\n", $output ), "\n" );
|
||||
|
||||
if ( $echo ) {
|
||||
printf( "<script type='text/javascript'>\n%s\n</script>\n", $output );
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Localizes a script, only if the script has already been added.
|
||||
*
|
||||
* @since 2.1.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $handle
|
||||
* @param string $object_name
|
||||
@@ -241,9 +461,16 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $handle Name of the item. Should be unique.
|
||||
* @param bool $recursion Internal flag that calling function was called recursively.
|
||||
* @param mixed $group Group level.
|
||||
* Sets handle group.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
*
|
||||
* @see WP_Dependencies::set_group()
|
||||
*
|
||||
* @param string $handle Name of the item. Should be unique.
|
||||
* @param bool $recursion Internal flag that calling function was called recursively.
|
||||
* @param int|false $group Optional. Group level: (int) level, (false) no groups. Default false.
|
||||
* @return bool Not already in the group or a lower group
|
||||
*/
|
||||
public function set_group( $handle, $recursion, $group = false ) {
|
||||
@@ -259,13 +486,20 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $handles Item handle and argument (string) or item handles and arguments (array of strings).
|
||||
* @param bool $recursion Internal flag that function is calling itself.
|
||||
* @param mixed $group Group level: (int) level, (false) no groups.
|
||||
* Determines script dependencies.
|
||||
*
|
||||
* @since 2.1.0
|
||||
* @access public
|
||||
*
|
||||
* @see WP_Dependencies::all_deps()
|
||||
*
|
||||
* @param mixed $handles Item handle and argument (string) or item handles and arguments (array of strings).
|
||||
* @param bool $recursion Internal flag that function is calling itself.
|
||||
* @param int|false $group Optional. Group level: (int) level, (false) no groups. Default false.
|
||||
* @return bool True on success, false on failure.
|
||||
*/
|
||||
public function all_deps( $handles, $recursion = false, $group = false ) {
|
||||
$r = parent::all_deps( $handles, $recursion );
|
||||
$r = parent::all_deps( $handles, $recursion, $group );
|
||||
if ( ! $recursion ) {
|
||||
/**
|
||||
* Filter the list of script dependencies left to print.
|
||||
@@ -280,7 +514,14 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* Processes items and dependencies for the head group.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
*
|
||||
* @see WP_Dependencies::do_items()
|
||||
*
|
||||
* @return array Handles of items that have been processed.
|
||||
*/
|
||||
public function do_head_items() {
|
||||
$this->do_items(false, 0);
|
||||
@@ -288,7 +529,14 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* Processes items and dependencies for the footer group.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
*
|
||||
* @see WP_Dependencies::do_items()
|
||||
*
|
||||
* @return array Handles of items that have been processed.
|
||||
*/
|
||||
public function do_footer_items() {
|
||||
$this->do_items(false, 1);
|
||||
@@ -296,8 +544,13 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $src
|
||||
* @return bool
|
||||
* Whether a handle's source is in a default directory.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
*
|
||||
* @param string $src The source of the enqueued script.
|
||||
* @return bool True if found, false if not.
|
||||
*/
|
||||
public function in_default_dir( $src ) {
|
||||
if ( ! $this->default_dirs ) {
|
||||
@@ -317,6 +570,9 @@ class WP_Scripts extends WP_Dependencies {
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets class properties.
|
||||
*
|
||||
* @since 2.8.0
|
||||
* @access public
|
||||
*/
|
||||
public function reset() {
|
||||
|
||||
Reference in new issue
Block a user