You appear to be a bot. Output may be restricted
Description
Determine a library fileFind the $lib that satisfies this request for a library / version combination
Usage
$mixed = OIK_libs::determine_lib( $library, $version );
Parameters
- $library
- ( string ) required – library name
- $version
- ( string ) required – version required
Returns
mixed lib object or WP_ErrorTO DO
This function currently has a side effect of loading dependent librariesSource
File name: oik-lib/includes/class-oik-libs.phpLines:
1 to 53 of 53
function determine_lib( $library, $version ) { bw_trace2( null, null, true, BW_TRACE_VERBOSE ); $selected = $this->is_loaded( $library, $version ); if ( !$selected ) { bw_trace2( $this->libraries, "this libraries", false, BW_TRACE_VERBOSE ); if ( $this->libraries && count( $this->libraries ) ) { foreach ( $this->libraries as $key => $lib ) { if ( $lib->library == $library ) { $compatible = $this->compatible_version( $lib->version, $version ); $selected = $this->is_already_loaded( $lib ); if ( !$selected ) { if ( $compatible ) { $selected = $this->load_dependencies( $lib ); $selected = $lib; } else { /* Not already loaded but this version's not compatible so move on */ } } else { if ( $compatible ) { /* Good */ } else { $selected = $this->error( "incompatible", "Incompatible library already loaded", $lib ); } } if ( $selected ) { break; } } } } } else { $compatible = $this->compatible_version( $selected->version, $version ); if ( !$compatible ) { $selected = $this->error( "incompatible", "Incompatible library already loaded", $selected ); } } bw_trace2( $selected, "selected", true, BW_TRACE_VERBOSE ); if ( !$selected ) { if ( $spos = strpos( $library, "/" ) ) { $library = substr( $library, $spos+1 ); } $library_file = oik_require_lib_fallback( $library ); if ( $library_file ) { $loaded_version = $this->loaded_version( $library ); $selected = $this->register_lib( $library, $library_file, null, $loaded_version ); $this->loaded( $selected ); } } return( $selected ); }View on GitHub