= false ) { return parent::supports_collation( $dbh_or_table ); } /** * Default implementation, calls wp_db appropriate method. */ public function default_has_cap( $db_cap, $dbh_or_table = false ) { return parent::has_cap( $db_cap, $dbh_or_table ); } /** * Default implementation, calls wp_db appropriate method. */ public function default_db_version( $dbh_or_table = false ) { return parent::db_version( $dbh_or_table ); } /** * Default implementation, calls wp_db appropriate method. */ public function switch_active_processor( $offset ) { $new_processor_number = $this->active_processor_number + $offset; if ( $new_processor_number <= 0 ) { $new_processor_number = 0; } else if ( $new_processor_number >= count( $this->processors ) ) { $new_processor_number = count( $this->processors ) - 1; } $offset_made = $new_processor_number - $this->active_processor_number; $this->active_processor_number = $new_processor_number; $this->active_processor = $this->processors[$new_processor_number]; return $offset_made; } } /** * class CallUnderlying */ class _CallUnderlying { /** * WPDB mixin. * * @var object */ private $wpdb_mixin; /** * Constructor. * * @param object $manager Manager. */ function __construct( $manager ) { $this->wpdb_mixin = $manager; } /** * Calls underlying processor's appropriate method of wp_db. */ function initialize() { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->initialize(); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function flush() { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->flush(); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function query( $query ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->query( $query ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function _escape( $data ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->_escape( $data ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function prepare( $query, $args ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->prepare( $query, ...$args ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function insert( $table, $data, $format = null ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->insert( $table, $data, $format ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function replace( $table, $data, $format = null ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->replace( $table, $data, $format ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } /** * Calls underlying processor's appropriate method of wp_db. */ function update( $table, $data, $where, $format = null, $where_format = null ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->update( $table, $data, $where, $format, $where_format ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } function delete( $table, $where, $where_format = null ) { $switched = $this->wpdb_mixin->switch_active_processor( 1 ); try { $r = $this->wpdb_mixin->delete( $table, $where, $where_format ); $this->wpdb_mixin->switch_active_processor( -$switched ); return $r; } catch ( \Exception $e ) { $this->wpdb_mixin->switch_active_processor( -$switched ); throw $e; } } }