'Invalid date format', _DATE_MISSING => 'Missing date', _DATE_INVALID_MONTH => 'Invalid month', _DATE_INVALID_DAY => 'Invalid day', _DATE_INVALID_HOUR => 'Invalid hour', _DATE_INVALID_MINUTE => 'Invalid minute', _DATE_INVALID_SECOND => 'Invalid second', ); function validate_date(&$field) { $error = array(); if (!$field) { $error[] = _DATE_MISSING; } else { if (preg_match('#^(((\d{4})[-/])?(\d\d?)[-/](\d\d?) +)?(\d\d?):(\d\d?)(:(\d\d?))?$#i', $field, $matches)) { /* help the user a bit */ if (empty($matches[1])) { /* no date part, add today */ $field = date('Y-m-d ') . $field; $matches[4] = date('m'); $matches[5] = date('d'); } elseif (empty($matches[2])) { /* year missing, add it */ $field = date('Y-') . $field; } if (intval($matches[4]) > 12 || intval($matches[4]) < 1) { /* check month */ $error[] = _DATE_INVALID_MONTH; } if (intval($matches[5]) > 31 || intval($matches[5]) < 1) { /* check day */ $error[] = _DATE_INVALID_DAY; } if (intval($matches[6]) < 0 || intval($matches[6]) > 23) { /* check hour */ $error[] = _DATE_INVALID_HOUR; } if (intval($matches[7]) < 0 || intval($matches[7]) > 59) { /* check hour */ $error[] = _DATE_INVALID_MINUTE; } if (intval($matches[8]) < 0 || intval($matches[8]) > 59) { /* check hour */ $error[] = _DATE_INVALID_SECOND; } } else { $error[] = _DATE_INVALID; } } return ( (count($error) == 0) ? true : $error); } function validate_tags($field) { $error = array(); if (!$field) { $error[] = 0; } return ( (count($error) == 0) ? true : $error); } function check_error($validCode) { foreach ($validCode as $key => $value) { if ($value !== true) { return false; } } return true; } ?>