WordPress.org

Make WordPress Core

Ticket #15023: wp-db-filters.patch

File wp-db-filters.patch, 1.9 KB (added by sc0ttkclark, 8 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 ) {