X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fcommon.lib.php;h=d29ba1a121b2f96edb650e246380a738716a2e9c;hb=b027028b5322fcbfb6de53e7a74529cbac7931de;hp=d98e8889298ca10d37dbe70a86051a4ca3d045d4;hpb=e20813a282b957d4b9112b825f87502c3525a780;p=timetracker.git diff --git a/WEB-INF/lib/common.lib.php b/WEB-INF/lib/common.lib.php index d98e8889..d29ba1a1 100644 --- a/WEB-INF/lib/common.lib.php +++ b/WEB-INF/lib/common.lib.php @@ -26,17 +26,12 @@ // | https://www.anuko.com/time_tracker/credits.htm // +----------------------------------------------------------------------+ - /** - * @return unknown - * @param file unknown - * @param version = "" unknown - * @desc Loads a class - */ - function import( $class_name ) { - $libs = array( - dirname($_SERVER["SCRIPT_FILENAME"]), - LIBRARY_DIR - ); +// import() function loads a class. +function import($class_name) { + $libs = array( + dirname($_SERVER["SCRIPT_FILENAME"]), + LIBRARY_DIR + ); $pos = strpos($class_name, "."); if (!($pos === false)) { @@ -61,7 +56,7 @@ print '
load_class: error loading file "'.$filename.'"'; die(); - } +} // The mu_sort function is used to sort a multi-dimensional array. // It looks like the code example is taken from the PHP manual http://ca2.php.net/manual/en/function.sort.php @@ -127,7 +122,6 @@ die($mdb2->getMessage()); } - $mdb2->setOption('debug', true); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); $GLOBALS["_MDB2_CONNECTION"] = $mdb2; @@ -136,23 +130,17 @@ } - function closeConnection() { - if (isset($GLOBALS["_DB_CONNECTION"])) { - $GLOBALS["_DB_CONNECTION"]->close(); - unset($GLOBALS["_DB_CONNECTION"]); - } - } - -function time_to_decimal($a) { +// time_to_decimal converts a time string such as 1:15 to its decimal representation such as 1.25 or 1,25. +function time_to_decimal($val) { global $user; - $tmp = explode(":", $a); - if($tmp[1]{0}=="0") $tmp[1] = $tmp[1]{1}; + $parts = explode(':', $val); // parts[0] is hours, parts[1] is minutes. - $m = round($tmp[1]*100/60); + $minutePercent = round($parts[1]*100/60); // Integer value (0-98) of percent of minutes portion in the hour. + if($minutePercent < 10) $minutePercent = '0'.$minutePercent; // Pad small values with a 0 to always have 2 digits. - if($m<10) $m = "0".$m; - $time = $tmp[0].$user->decimal_mark.$m; - return $time; + $decimalTime = $parts[0].$user->decimal_mark.$minutePercent; // Construct decimal representation of time value. + + return $decimalTime; } function sec_to_time_fmt_hm($sec) @@ -162,11 +150,9 @@ function sec_to_time_fmt_hm($sec) function magic_quotes_off() { - // if (get_magic_quotes_gpc()) { // This check is now done before calling this function. - $_POST = array_map('stripslashes_deep', $_POST); - $_GET = array_map('stripslashes_deep', $_GET); - $_COOKIE = array_map('stripslashes_deep', $_COOKIE); - // } + $_POST = array_map('stripslashes_deep', $_POST); + $_GET = array_map('stripslashes_deep', $_GET); + $_COOKIE = array_map('stripslashes_deep', $_COOKIE); } // check_extension checks whether a required PHP extension is loaded and dies if not so. @@ -322,22 +308,93 @@ function ttValidCronSpec($val) return true; } -// ttAccessCheck is used to check whether user is allowed to proceed. This function is used -// as an initial check on all publicly available pages. -function ttAccessCheck($required_rights) +// ttValidCondition is used to check user input to validate a notification condition. +function ttValidCondition($val, $emptyValid = true) +{ + $val = trim($val); + if (strlen($val) == 0) + return ($emptyValid ? true : false); + + // String must not be XSS evil (to insert JavaScript). + if (stristr($val, '