$str) { $string[$index] = self::strip_slashes($str); } } elseif (is_string($string)) { $string = stripslashes($string); } return $string; } /** * Array validator for empty values * @since 1.0.0 * @param array $array - array for checking * @param array $keys - array of keys that should be checked: [id, settings => [email => [name, subject, to]]] * @param string $prefix - internal parameter for building path of array keys * @throws Validate */ public static function validate_for_empty(array $array, array $keys, $prefix = '') { foreach ($keys as $key => $value) { if (is_array($value)) { $path = $prefix . "[$key]"; if (empty($array[$key])) { throw new Validate("Empty $path"); } self::validate_for_empty($array[$key], $value, $path); } else { if (is_string($key) && is_string($value)) { $path = $prefix . "[$key][$value]"; if (empty($array[$key][$value])) { throw new Validate("Empty $path"); } } else { $key = (string)$value; $path = $prefix . "[$key]"; if (empty($array[$key])) { throw new Validate("Empty $path"); } } } } } /** * Show exceptions only in debug mode * @since 1.0.0 * @param \Exception $e */ public static function handle_exception(\Exception $e) { if (defined('WP_DEBUG') && WP_DEBUG) { var_dump($e); } } }