File "index.php"

Full Path: /home/arielcor/public_html/wp-content/plugins/visual-portfolio/gutenberg/utils/encode-decode/index.php
File size: 1.89 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/**
 * Encode/Decode helper functions.
 *
 * @package visual-portfolio
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * Encode string.
 *
 * @param string|array $str - string to encode.
 *
 * @return string|array
 */
function visual_portfolio_encode( $str ) {
    // Array.
    if ( is_array( $str ) ) {
        $result = array();

        foreach ( $str as $k => $val ) {
            $result[ visual_portfolio_encode( $k ) ] = visual_portfolio_encode( $val );
        }

        return $result;
    }

    // String.
    if ( is_string( $str ) ) {
        // Because of these replacements, some attributes can't be exported to XML without being broken. So, we need to replace it manually with something safe.
        // https://github.com/WordPress/gutenberg/blob/88645e4b268acf5746e914159e3ce790dcb1665a/packages/blocks/src/api/serializer.js#L246-L271 .
        $str = str_replace( '--', '_u002d__u002d_', $str );

        // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.urlencode_urlencode
        $str = urlencode( $str );
    }

    return $str;
}

/**
 * Decode string.
 *
 * @param string|array $str - string to decode.
 *
 * @return string|array
 */
function visual_portfolio_decode( $str ) {
    // Array.
    if ( is_array( $str ) ) {
        $result = array();

        foreach ( $str as $k => $val ) {
            $result[ visual_portfolio_decode( $k ) ] = visual_portfolio_decode( $val );
        }

        return $result;
    }

    // String.
    if ( is_string( $str ) ) {
        $str = urldecode( $str );

        // Because of these replacements, some attributes can't be exported to XML without being broken. So, we need to replace it manually with something safe.
        // https://github.com/WordPress/gutenberg/blob/88645e4b268acf5746e914159e3ce790dcb1665a/packages/blocks/src/api/serializer.js#L246-L271 .
        $str = str_replace( '_u002d__u002d_', '--', $str );
    }

    return $str;
}