mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-10-10 18:13:31 -04:00
146 lines
3.7 KiB
PHP
146 lines
3.7 KiB
PHP
<?php
|
|
|
|
use Modules\LaraBuilder\Facades\Settings;
|
|
|
|
/**
|
|
* Helper function to sanitize a string value from user input
|
|
*
|
|
* @param string $string String to sanitize.
|
|
* @param bool $keep_linebreak Not compulsory Whether to keep newlines or not. Default: false.
|
|
* @return string Sanitized string.
|
|
*/
|
|
if (! function_exists('sanitizeTextField')) {
|
|
function sanitizeTextField($string, $keep_linebreak = false)
|
|
{
|
|
if (is_object($string) || is_array($string)) {
|
|
return '';
|
|
}
|
|
|
|
return stripAllTags($string, $keep_linebreak);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param string $string String containing HTML tags
|
|
* @param bool $remove_breaks Optional. Whether to remove left over line breaks and white space chars
|
|
* @return string The processed string.
|
|
*/
|
|
if (! function_exists('stripAllTags')) {
|
|
|
|
function stripAllTags($string, $remove_breaks_tag = false)
|
|
{
|
|
|
|
$string = preg_replace('@<(script|style)[^>]*?>.*?</\\1>@si', '', $string);
|
|
$string = strip_tags($string, '<h1><h2><h3><h4><h5><6><div><b><strong><i><em><a><ul><ol><li><p><br><span><figure><sup><sub><table><tr><th><td><tbody><iframe><form><capture><label><fieldset><section>');
|
|
|
|
if ($remove_breaks_tag) {
|
|
$string = preg_replace('/[\r\n\t ]+/', ' ', $string);
|
|
}
|
|
|
|
return trim($string);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return array The processed array.
|
|
*/
|
|
if (! function_exists('sanitizeArray')) {
|
|
|
|
function sanitizeArray(&$arr)
|
|
{
|
|
|
|
foreach ($arr as $key => &$el) {
|
|
|
|
if (is_array($el)) {
|
|
sanitizeArray($el);
|
|
} else {
|
|
$el = sanitizeTextField($el, true);
|
|
}
|
|
}
|
|
|
|
return $arr;
|
|
}
|
|
}
|
|
|
|
if (! function_exists('setting')) {
|
|
function setting($key)
|
|
{
|
|
return Settings::get($key);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('getField')) {
|
|
function getField($field)
|
|
{
|
|
return Settings::getField($field);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('getSectionSetting')) {
|
|
function getSectionSetting($params = [], $fields = [])
|
|
{
|
|
|
|
return Settings::getSectionSetting($params, $fields);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Helper function to sanitize a string value from user input
|
|
*
|
|
* @param string $string String to sanitize.
|
|
* @param bool $keep_linebreak Not compulsory Whether to keep newlines or not. Default: false.
|
|
* @return string Sanitized string.
|
|
*/
|
|
if (! function_exists('sanitizeTextField')) {
|
|
function sanitizeTextField($string, $keep_linebreak = false)
|
|
{
|
|
if (is_object($string) || is_array($string)) {
|
|
return '';
|
|
}
|
|
|
|
return stripAllTags($string, $keep_linebreak);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param string $string String containing HTML tags
|
|
* @param bool $remove_breaks Optional. Whether to remove left over line breaks and white space chars
|
|
* @return string The processed string.
|
|
*/
|
|
if (! function_exists('stripAllTags')) {
|
|
|
|
function stripAllTags($string, $remove_breaks_tag = false)
|
|
{
|
|
|
|
$string = preg_replace('@<(script|style)[^>]*?>.*?</\\1>@si', '', $string);
|
|
$string = strip_tags($string, '<h1><h2><h3><h4><h5><6><div><b><strong><i><em><a><ul><ol><li><p><br><span><figure><sup><sub><table><tr><th><td><tbody><iframe><form><capture><label><fieldset><section>');
|
|
|
|
if ($remove_breaks_tag) {
|
|
$string = preg_replace('/[\r\n\t ]+/', ' ', $string);
|
|
}
|
|
|
|
return trim($string);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return array The processed array.
|
|
*/
|
|
if (! function_exists('sanitizeArray')) {
|
|
|
|
function sanitizeArray(&$arr)
|
|
{
|
|
|
|
foreach ($arr as $key => &$el) {
|
|
|
|
if (is_array($el)) {
|
|
sanitizeArray($el);
|
|
} else {
|
|
$el = sanitizeTextField($el, true);
|
|
}
|
|
}
|
|
|
|
return $arr;
|
|
}
|
|
}
|