diff options
Diffstat (limited to 'h-source/Library/Functions.php')
-rwxr-xr-x | h-source/Library/Functions.php | 114 |
1 files changed, 107 insertions, 7 deletions
diff --git a/h-source/Library/Functions.php b/h-source/Library/Functions.php index 62a1838..ef86812 100755 --- a/h-source/Library/Functions.php +++ b/h-source/Library/Functions.php @@ -2,7 +2,7 @@ // EasyGiant is a PHP framework for creating and managing dynamic content // -// Copyright (C) 2009 - 2011 Antonio Gallo +// Copyright (C) 2009 - 2014 Antonio Gallo (info@laboratoriolibero.com) // See COPYRIGHT.txt and LICENSE.txt. // // This file is part of EasyGiant @@ -108,12 +108,24 @@ SANITIZE DEEP function stripslashesDeep($value) { if(get_magic_quotes_gpc()) {#if stripslashes - return array_map('stripslashes', $value); + return array_map_recursive('stripslashes', $value); } return $value; } - +//from http://www.php.net/array_map#112857 +function array_map_recursive($callback, $array) { + foreach ($array as $key => $value) { + if (is_array($array[$key])) { + $array[$key] = array_map_recursive($callback, $array[$key]); + } + else { + $array[$key] = call_user_func($callback, $array[$key]); + } + } + return $array; +} + function sanitizeHtmlDeep($value) { return array_map('sanitizeHtml', $value); } @@ -230,6 +242,75 @@ function wrap($string,$tag_class) {#wrap the string with the tag and its class return $str_front.$string.$str_rear; } +//check that $date is a ISO date (YYYY-MM-DD) +function checkIsoDate($date) +{ + if (preg_match('/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$/',$date)) + { + $dateArray = explode('-',$date); + if ((int)$dateArray[1] <= 12 and (int)$dateArray[1] >= 1 ) + { + if ((int)$dateArray[2] >= 1 and (int)$dateArray[2] <= 31) + { + return checkdate((int)$dateArray[1],(int)$dateArray[2],(int)$dateArray[0]); + } + } + } + return false; +} + +//check if $string is an integer string +function checkInteger($string) +{ + if (preg_match('/^\-?[0-9]{1,}$/',$string)) + { + return true; + } + return false; +} + +//check if $string is decimal with the format indicated in $format +//$format: M,D M is the maximum number of digits, D is the number of digits to the right of the decimal point +function checkDecimal($string, $format) +{ + $t = explode(",",$format); + $M = (int)$t[0]; + $D = (int)$t[1]; + $I = $M - $D; + + if (preg_match("/^[0-9]{1,$I}(\.[0-9]{1,$D})?$/",$string)) + { + return true; + } + return false; +} + +//get label name from field name +function getFieldLabel($fieldName) +{ + if (class_exists("Lang_".Params::$language."_Formats_Fields")) + { + return call_user_func(array("Lang_".Params::$language."_Formats_Fields", "getLabel"), $fieldName); + } + + return call_user_func(array("Lang_En_Formats_Fields", "getLabel"), $fieldName); + +// if (strstr($fieldName,",")) +// { +// $temp = explode(",",$fieldName); +// for ($i=0; $i< count($temp); $i++) +// { +// $temp[$i] = getFieldLabel($temp[$i]); +// } +// return implode (" and ",$temp); +// } +// else +// { +// $fieldName = str_replace("_"," ", $fieldName); +// return ucfirst($fieldName); +// } +} + //generate a random password //$start: start number of mt_rand //$end: end number of mt_rand @@ -268,7 +349,7 @@ function getIp() $ip = sanitizeIp($_SERVER["HTTP_X_FORWARDED_FOR"]); } else if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip = sanitizeIp($_SERVER["HTTP_CLIENT_IP"]); - } else { + } else if (!empty($_SERVER["REMOTE_ADDR"])) { $ip = sanitizeIp($_SERVER["REMOTE_ADDR"]); } } else { @@ -276,7 +357,7 @@ function getIp() $ip = sanitizeIp(getenv( 'HTTP_X_FORWARDED_FOR' )); } else if ( getenv( 'HTTP_CLIENT_IP' ) !== false ) { $ip = sanitizeIp(getenv( 'HTTP_CLIENT_IP' )); - } else { + } else if ( getenv( 'REMOTE_ADDR' ) !== false ) { $ip = sanitizeIp(getenv( 'REMOTE_ADDR' )); } } @@ -322,7 +403,7 @@ function encode($url) } else { - $temp .= '-'; + $temp .= '_'; } } } @@ -376,4 +457,23 @@ function xml_encode($string) } return strtr($string, $trans); -}
\ No newline at end of file +} + +//Convert Hex Color to RGB +//http://bavotasan.com/2011/convert-hex-color-to-rgb-using-php/ +function hex2rgb($hex) { + $hex = str_replace("#", "", $hex); + + if(strlen($hex) == 3) { + $r = hexdec(substr($hex,0,1).substr($hex,0,1)); + $g = hexdec(substr($hex,1,1).substr($hex,1,1)); + $b = hexdec(substr($hex,2,1).substr($hex,2,1)); + } else { + $r = hexdec(substr($hex,0,2)); + $g = hexdec(substr($hex,2,2)); + $b = hexdec(substr($hex,4,2)); + } + $rgb = array($r, $g, $b); + //return implode(",", $rgb); // returns the rgb values separated by commas + return $rgb; // returns an array with the rgb values +} |