aboutsummaryrefslogtreecommitdiff
path: root/h-source/Library/Functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'h-source/Library/Functions.php')
-rwxr-xr-xh-source/Library/Functions.php114
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
+}