HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/hanode/public_html/wp-content/plugins/carousel-slider/includes/ViewHelper.php
<?php

namespace CarouselSlider;

use CarouselSlider\Supports\Validate;

defined( 'ABSPATH' ) || exit;

/**
 * ViewHelper class
 */
class ViewHelper {


	/**
	 * Array to style
	 *
	 * @param  array  $styles  The styles array.
	 *
	 * @return string
	 */
	public static function array_to_style( array $styles ): string {
		$_styles = [];
		foreach ( $styles as $key => $value ) {
			if ( ! is_string( $key ) || empty( $value ) ) {
				continue;
			}
			$_styles[] = sprintf( '%s:%s', $key, esc_attr( $value ) );
		}

		return implode( ';', $_styles );
	}

	/**
	 * Convert array to html data attribute
	 *
	 * @param  array  $attributes  The attributes list.
	 *
	 * @return array
	 */
	public static function array_to_attribute( array $attributes ): array {
		return array_map(
			function ( $key, $value ) {
				// If boolean value.
				if ( is_bool( $value ) ) {
					return sprintf( '%s="%s"', $key, ( $value ? 'true' : 'false' ) );
				}
				// If array value.
				if ( is_array( $value ) ) {
					return sprintf( '%s="%s"', $key, implode( ' ', $value ) );
				}

				if ( is_string( $value ) && Validate::json( $value ) ) {
					return sprintf( "%s='%s'", $key, $value );
				}

				// If string value.
				return sprintf( '%s="%s"', $key, esc_attr( $value ) );
			},
			array_keys( $attributes ),
			array_values( $attributes )
		);
	}
}