X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fcommon.lib.php;h=e2950753ec4e208475822050253aa0f122cf763b;hb=69d107963f15b0fcfc46908063c0ae7c33af7d80;hp=27c43de3f4a2dd745afc755b06f461a965c70cc8;hpb=975b7f31dc237009f2eb186a13e33fc3bbae6e0c;p=timetracker.git diff --git a/WEB-INF/lib/common.lib.php b/WEB-INF/lib/common.lib.php index 27c43de3..e2950753 100644 --- a/WEB-INF/lib/common.lib.php +++ b/WEB-INF/lib/common.lib.php @@ -28,10 +28,10 @@ // import() function loads a class. function import($class_name) { - $libs = array( - dirname($_SERVER["SCRIPT_FILENAME"]), - LIBRARY_DIR - ); + $libs = array( + dirname($_SERVER["SCRIPT_FILENAME"]), + LIBRARY_DIR + ); $pos = strpos($class_name, "."); if (!($pos === false)) { @@ -122,7 +122,6 @@ function import($class_name) { die($mdb2->getMessage()); } - $mdb2->setOption('debug', true); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); $GLOBALS["_MDB2_CONNECTION"] = $mdb2; @@ -131,13 +130,6 @@ function import($class_name) { } - function closeConnection() { - if (isset($GLOBALS["_DB_CONNECTION"])) { - $GLOBALS["_DB_CONNECTION"]->close(); - unset($GLOBALS["_DB_CONNECTION"]); - } - } - // 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; @@ -173,7 +165,7 @@ function check_extension($ext) // isTrue is a helper function to return correct false for older config.php values defined as a string 'false'. function isTrue($val) { - return ($val == false || $val === 'false') ? false : true; + return (defined($val) && constant($val) === true); } // ttValidString is used to check user input to validate a string. @@ -190,6 +182,15 @@ function ttValidString($val, $emptyValid = false) return true; } +// ttValidTemplateText is used to check template-based user input. +// When templates are used, required input parts must be filled by user. +// We identify these parts by 3 "stop sign" emojis (aka "octagonal sign" U+1F6D1). +function ttValidTemplateText($val) +{ + $valid = strpos($val, '🛑🛑🛑') === false; // no 3 "stop sign" emojis in a row. + return $valid; +} + // ttValidEmail is used to check user input to validate an email string. function ttValidEmail($val, $emptyValid = false) { @@ -234,7 +235,7 @@ function ttValidFloat($val, $emptyValid = false) return ($emptyValid ? true : false); global $user; - $decimal = $user->decimal_mark; + $decimal = $user->getDecimalMark(); if (!preg_match('/^-?[0-9'.$decimal.']+$/', $val)) return false; @@ -316,22 +317,112 @@ 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, '