Changeset 11359
- Timestamp:
- 12/29/2016 08:39:07 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-activity/classes/class-bp-activity-activity.php
r11312 r11359 427 427 // Override some arguments if needed. 428 428 if ( ! empty( $scope_query['override'] ) ) { 429 $r = self::array_replace_recursive( $r, $scope_query['override'] );429 $r = array_replace_recursive( $r, $scope_query['override'] ); 430 430 } 431 431 … … 1871 1871 return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) ); 1872 1872 } 1873 1874 /**1875 * PHP-agnostic version of {@link array_replace_recursive()}.1876 *1877 * The array_replace_recursive() function is a PHP 5.3 function. BuddyPress (and1878 * WordPress) currently supports down to PHP 5.2, so this method is a workaround1879 * for PHP 5.2.1880 *1881 * Note: array_replace_recursive() supports infinite arguments, but for our use-1882 * case, we only need to support two arguments.1883 *1884 * Subject to removal once WordPress makes PHP 5.3.0 the minimum requirement.1885 *1886 * @since 2.2.01887 *1888 * @see http://php.net/manual/en/function.array-replace-recursive.php#1093901889 *1890 * @param array $base Array with keys needing to be replaced.1891 * @param array $replacements Array with the replaced keys.1892 * @return array1893 */1894 protected static function array_replace_recursive( $base = array(), $replacements = array() ) {1895 if ( function_exists( 'array_replace_recursive' ) ) {1896 return array_replace_recursive( $base, $replacements );1897 }1898 1899 // PHP 5.2-compatible version1900 // http://php.net/manual/en/function.array-replace-recursive.php#109390.1901 foreach ( array_slice( func_get_args(), 1 ) as $replacements ) {1902 $bref_stack = array( &$base );1903 $head_stack = array( $replacements );1904 1905 do {1906 end( $bref_stack );1907 1908 $bref = &$bref_stack[ key( $bref_stack ) ];1909 $head = array_pop( $head_stack );1910 1911 unset( $bref_stack[ key($bref_stack) ] );1912 1913 foreach ( array_keys( $head ) as $key ) {1914 if ( isset( $key, $bref ) && is_array( $bref[$key] ) && is_array( $head[$key] ) ) {1915 $bref_stack[] = &$bref[ $key ];1916 $head_stack[] = $head[ $key ];1917 } else {1918 $bref[ $key ] = $head[ $key ];1919 }1920 }1921 } while( count( $head_stack ) );1922 }1923 1924 return $base;1925 }1926 1873 }
Note: See TracChangeset
for help on using the changeset viewer.