X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..80b7979fccf09a75af3f4c111fa27060ae6dbf85:/wp-includes/class.wp-dependencies.php diff --git a/wp-includes/class.wp-dependencies.php b/wp-includes/class.wp-dependencies.php index de3630ad..fb1f1ee0 100644 --- a/wp-includes/class.wp-dependencies.php +++ b/wp-includes/class.wp-dependencies.php @@ -25,17 +25,10 @@ class WP_Dependencies { var $groups = array(); var $group = 0; - function WP_Dependencies() { - $args = func_get_args(); - call_user_func_array( array(&$this, '__construct'), $args ); - } - - function __construct() {} - /** * Do the dependencies * - * Process the items passed to it or the queue. Processes all dependencies. + * Process the items passed to it or the queue. Processes all dependencies. * * @param mixed $handles (optional) items to be processed. (void) processes queue, (string) process that item, (array of strings) process those items * @return array Items that have been processed @@ -46,7 +39,7 @@ class WP_Dependencies { $this->all_deps( $handles ); foreach( $this->to_do as $key => $handle ) { - if ( !in_array($handle, $this->done) && isset($this->registered[$handle]) ) { + if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) { if ( ! $this->registered[$handle]->src ) { // Defines a group. $this->done[] = $handle; @@ -70,7 +63,7 @@ class WP_Dependencies { /** * Determines dependencies * - * Recursively builds array of items to process taking dependencies into account. Does NOT catch infinite loops. + * Recursively builds array of items to process taking dependencies into account. Does NOT catch infinite loops. * * * @param mixed $handles Accepts (string) dep name or (array of strings) dep names @@ -97,7 +90,7 @@ class WP_Dependencies { if ( !isset($this->registered[$handle]) ) $keep_going = false; // Script doesn't exist elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) ) - $keep_going = false; // Script requires deps which don't exist (not a necessary check. efficiency?) + $keep_going = false; // Script requires deps which don't exist (not a necessary check. efficiency?) elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) ) $keep_going = false; // Script requires deps which don't exist @@ -105,7 +98,7 @@ class WP_Dependencies { if ( $recursion ) return false; // Abort this branch. else - continue; // We're at the top level. Move on to the next one. + continue; // We're at the top level. Move on to the next one. } if ( $queued ) // Already grobbed it and its deps @@ -141,17 +134,39 @@ class WP_Dependencies { /** * Adds extra data * - * Adds data only if script has already been added + * Adds data only if script has already been added. * * @param string $handle Script name - * @param string $data_name Name of object in which to store extra data - * @param array $data Array of extra data + * @param string $key + * @param mixed $value * @return bool success */ - function add_data( $handle, $data_name, $data ) { - if ( !isset($this->registered[$handle]) ) + function add_data( $handle, $key, $value ) { + if ( !isset( $this->registered[$handle] ) ) + return false; + + return $this->registered[$handle]->add_data( $key, $value ); + } + + /** + * Get extra data + * + * Gets data associated with a certain handle. + * + * @since WP 3.3 + * + * @param string $handle Script name + * @param string $key + * @return mixed + */ + function get_data( $handle, $key ) { + if ( !isset( $this->registered[$handle] ) ) + return false; + + if ( !isset( $this->registered[$handle]->extra[$key] ) ) return false; - return $this->registered[$handle]->add_data( $data_name, $data ); + + return $this->registered[$handle]->extra[$key]; } function remove( $handles ) { @@ -228,7 +243,7 @@ class _WP_Dependency { var $extra = array(); - function _WP_Dependency() { + function __construct() { @list($this->handle, $this->src, $this->deps, $this->ver, $this->args) = func_get_args(); if ( !is_array($this->deps) ) $this->deps = array();