Files
SIGE-WEB-snapshot/wp-content/plugins/wp-security-audit-log/classes/Helpers/class-php-helper.php

98 lines
2.1 KiB
PHP

<?php
/**
* Class: Helper responsible for PHP functionalities improvement.
*
* Helper class used for validating data.
*
* @package wsal
*/
declare(strict_types=1);
namespace WSAL\Helpers;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( '\WSAL\Helpers\PHP_Helper' ) ) {
/**
* Ease some of the PHP functionalities.
*/
class PHP_Helper {
/**
* Use this method if you need to split string by comma, remove spaces (leading and trailing), remove empty elements from the array and.
*
* @param string $string - The string to split.
*
* @return array
*
* @since 4.4.2.1
*/
public static function string_to_array( string $string ): array {
if ( empty( $string ) ) {
return array();
}
$split_string = explode( ',', $string );
// Remove the whitespaces.
$split_string = array_map( 'trim', $split_string );
// Removes empty elements.
$split_string = array_filter( $split_string );
if ( ! is_array( $split_string ) ) {
return array();
}
return $split_string;
}
/**
* Filters request data.
*
* @return array Filtered request data.
*
* @since 4.5.0
*/
public static function get_filtered_request_data(): array {
$result = array();
$get_data = filter_input_array( INPUT_GET );
if ( is_array( $get_data ) ) {
$result = array_merge( $result, $get_data );
}
$post_data = filter_input_array( INPUT_POST );
if ( is_array( $post_data ) ) {
$result = array_merge( $result, $post_data );
}
return $result;
}
/**
* A wrapper for JSON encoding that fixes potential issues.
*
* @param mixed $data The data to encode.
* @return string JSON string.
*/
public static function json_encode( $data ) {
return @json_encode( $data ); // phpcs:ignore
}
/**
* A wrapper for JSON encoding that fixes potential issues.
*
* @param string $data - The JSON string to decode.
* @return mixed Decoded data.
*/
public static function json_decode( $data ) {
return @json_decode( $data ); // phpcs:ignore
}
}
}