WordPress.org

Make WordPress Core

Ticket #15023: wp-db-filters.patch

File wp-db-filters.patch, 1.9 KB (added by sc0ttkclark, 4 years ago)

Initial Patch including the new / updated filters

  • wp-db.php

     
    10631063                        return false; 
    10641064 
    10651065                // some queries are made before the plugins have been loaded, and thus cannot be filtered with this method 
    1066                 if ( function_exists( 'apply_filters' ) ) 
    1067                         $query = apply_filters( 'query', $query ); 
     1066                if ( function_exists( 'apply_filters_ref_array' ) ) { 
     1067                        $query = apply_filters_ref_array( 'query', array( $query, &$this ) ); 
     1068                        $check = apply_filters_ref_array( 'query_exec', null, array( $query, &$this ) ); 
     1069                        if ( null !== $check ) 
     1070                                return $check; 
     1071        } 
    10681072 
    10691073                $return_val = 0; 
    10701074                $this->flush(); 
     
    11871191        function _insert_replace_helper( $table, $data, $format = null, $type = 'INSERT' ) { 
    11881192                if ( ! in_array( strtoupper( $type ), array( 'REPLACE', 'INSERT' ) ) ) 
    11891193                        return false; 
     1194 
     1195                // some queries are made before the plugins have been loaded, and thus cannot be filtered with this method 
     1196                if ( function_exists( 'apply_filters_ref_array' ) ) { 
     1197                        $check = apply_filters_ref_array( 'insert_replace_exec', array( null, &$this, $table, $data, $format, $type) ); 
     1198                        if ( null !== $check ) 
     1199                                return $check; 
     1200        } 
     1201 
    11901202                $formats = $format = (array) $format; 
    11911203                $fields = array_keys( $data ); 
    11921204                $formatted_fields = array(); 
     
    12281240                if ( ! is_array( $data ) || ! is_array( $where ) ) 
    12291241                        return false; 
    12301242 
     1243                // some queries are made before the plugins have been loaded, and thus cannot be filtered with this method 
     1244                if ( function_exists( 'apply_filters_ref_array' ) ) { 
     1245                        $check = apply_filters_ref_array( 'update_exec', array( null, &$this, $table, $data, $where, $format, $where_format ) ); 
     1246                        if ( null !== $check ) 
     1247                                return $check; 
     1248        } 
     1249 
    12311250                $formats = $format = (array) $format; 
    12321251                $bits = $wheres = array(); 
    12331252                foreach ( (array) array_keys( $data ) as $field ) {