[Back] <?php
class OsParamsHelper {
private static $params = [];
private static $files = [];
public static function load_params() {
$params = array();
$post_params = array();
$get_params = array();
if ( ! empty( $_POST['params'] ) ) {
if ( is_string( $_POST['params'] ) ) {
parse_str( $_POST['params'], $post_params );
}
if ( is_array( $_POST['params'] ) ) {
$post_params = array_merge( $_POST['params'], $post_params );
}
}
$get_params = $_GET;
$params = array_merge( $post_params, $get_params );
$params = stripslashes_deep( $params );
self::$params = $params;
}
public static function load_files() {
if ( ! empty( $_FILES ) ) {
self::$files = $_FILES;
} else {
self::$files = [];
}
}
public static function get_params() {
self::ensure_params_loaded();
OsDebugHelper::log_params( self::$params );
return self::$params;
}
public static function get_param( $param_name ) {
self::ensure_params_loaded();
return self::$params[ $param_name ] ?? null;
}
public static function ensure_params_loaded() {
if ( empty( self::$params ) ) {
self::load_params();
}
}
public static function get_files() {
self::ensure_files_loaded();
OsDebugHelper::log_files( self::$files );
return self::$files;
}
public static function get_file( $file_name ) {
self::ensure_files_loaded();
return self::$files[ $file_name ] ?? null;
}
public static function ensure_files_loaded() {
if ( empty( self::$files ) ) {
self::load_files();
}
}
public static function sanitize_param( $value, $rule ) {
switch ( $rule ) {
case 'money':
$value = OsMoneyHelper::convert_amount_from_money_input_to_db_format( $value );
break;
case 'percent':
$value = OsMoneyHelper::convert_value_from_percent_input_to_db_format( $value );
break;
case 'date':
break;
}
return $value;
}
public static function permit_params( array $params, array $allowed_keys ): array {
$allowed_keys_arr = array_flip( $allowed_keys );
return array_intersect_key( $params, $allowed_keys_arr );
}
}