WordPress.org

Make WordPress Core

Ticket #22300: 22300.diff

File 22300.diff, 2.5 KB (added by wpmuguru, 6 years ago)
  • wp-includes/formatting.php

     
    14311431 *
    14321432 * @since 2.2.0
    14331433 *
    1434  * @param array|string $value The array or string to be encoded.
    1435  * @return array|string $value The encoded array (or string from the callback).
     1434 * @param object|array|string $value The array or string to be encoded.
     1435 * @return object|array|string $value The encoded array (or string from the callback).
    14361436 */
    1437 function urlencode_deep($value) {
    1438         $value = is_array($value) ? array_map('urlencode_deep', $value) : urlencode($value);
    1439         return $value;
     1437function urlencode_deep( $value ) {
     1438        if ( is_object( $value ) ) {
     1439                foreach( $value as $property => $property_value )
     1440                        $value->{$property} = urlencode_deep( $property_value );
     1441               
     1442                return $value;
     1443        } else if ( is_array( $value ) ) {
     1444                return array_map( 'urlencode_deep', $value );
     1445        } else {
     1446                return urlencode( $value );
     1447        }
    14401448}
    14411449
    14421450/**
     
    14441452 *
    14451453 * @since 3.4.0
    14461454 *
    1447  * @param array|string $value The array or string to be encoded.
    1448  * @return array|string $value The encoded array (or string from the callback).
     1455 * @param object|array|string $value The array or string to be encoded.
     1456 * @return object|array|string $value The encoded array (or string from the callback).
    14491457 */
    14501458function rawurlencode_deep( $value ) {
    1451         return is_array( $value ) ? array_map( 'rawurlencode_deep', $value ) : rawurlencode( $value );
     1459        if ( is_object( $value ) ) {
     1460                foreach( $value as $property => $property_value )
     1461                        $value->{$property} = rawurlencode_deep( $property_value );
     1462               
     1463                return $value;
     1464        } else if ( is_array( $value ) ) {
     1465                return array_map( 'rawurlencode_deep', $value );
     1466        } else {
     1467                return rawurlencode( $value );
     1468        }
    14521469}
    14531470
    14541471/**
     1472 * Navigates through a urlencoded variable and decodes the values.
     1473 *
     1474 *
     1475 * @since
     1476 *
     1477 * @param string $value The array or string to be encoded.
     1478 * @return object|array|string $value The encoded array (or string from the callback).
     1479 */
     1480function urldecode_deep( $value ) {
     1481        if ( is_object( $value ) ) {
     1482                foreach( $value as $property => $property_value )
     1483                        $value->{$property} = urldecode_deep( $property_value );
     1484               
     1485                return $value;
     1486        } else if ( is_array( $value ) ) {
     1487                return array_map( 'urldecode_deep', $value );
     1488        } else {
     1489                return urldecode( $value );
     1490        }
     1491}
     1492
     1493/**
    14551494 * Converts email addresses characters to HTML entities to block spam bots.
    14561495 *
    14571496 * @since 0.71