X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/3cd816de20457c5224d72db358833b234571be70..refs/heads/master:/WEB-INF/lib/common.lib.php diff --git a/WEB-INF/lib/common.lib.php b/WEB-INF/lib/common.lib.php index e09a943f..b19feacd 100644 --- a/WEB-INF/lib/common.lib.php +++ b/WEB-INF/lib/common.lib.php @@ -143,11 +143,6 @@ function time_to_decimal($val) { return $decimalTime; } -function sec_to_time_fmt_hm($sec) -{ - return sprintf("%d:%02d", $sec / 3600, $sec % 3600 / 60); -} - function magic_quotes_off() { $_POST = array_map('stripslashes_deep', $_POST); @@ -182,6 +177,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) { @@ -345,6 +349,23 @@ function ttValidIP($val, $emptyValid = false) return true; } +// ttValidHolidays is used to check user input to validate holidays spec. +// To keep things simple, the format is a comma-separated list of dates: +// ****-01-01,****-12-31,2019-04-20 +// The above means Jan 1 and Dec 31 are holidays in all years, while Apr 20 is only in 2019. +function ttValidHolidays($val) +{ + $val = trim($val); + if (strlen($val) == 0) return true; + + $dates = explode(',', $val); + foreach ($dates as $date) { + if (!preg_match('/^[\d*]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/', $date)) + return false; + } + return true; +} + // ttAccessAllowed checks whether user is allowed access to a particular page. // It is used as an initial check on all publicly available pages // (except login.php, register.php, and others where we don't have to check).