diff --git a/main/admin/statistics/index.php b/main/admin/statistics/index.php index c67a157489..5a1013e9bf 100755 --- a/main/admin/statistics/index.php +++ b/main/admin/statistics/index.php @@ -1262,24 +1262,23 @@ switch ($report) { while ($row = Database::fetch_array($query)) { $usersFound++; if (!empty($row['value'])) { - $date1 = new DateTime($row['value']); - $interval = $now->diff($date1); - $years = (int) $interval->y; - - if ($years >= 16 && $years <= 17) { - $all['16-17']++; - } - if ($years >= 18 && $years <= 25) { - $all['18-25']++; - } - if ($years >= 26 && $years <= 30) { - $all['26-30']++; + $validDate = DateTime::createFromFormat('Y-m-d', $row['value']); + $validDate = $validDate && $validDate->format('Y-m-d') === $row['value']; + if ($validDate) { + $date1 = new DateTime($row['value']); + $interval = $now->diff($date1); + $years = (int) $interval->y; + + if ($years >= 16 && $years <= 17) { + $all['16-17']++; + } + if ($years >= 18 && $years <= 25) { + $all['18-25']++; + } + if ($years >= 26 && $years <= 30) { + $all['26-30']++; + } } - /*if ($years >= 31) { - $all[get_lang('N/A')] += 1; - }*/ - } else { - //$all[get_lang('N/A')] += 1; } } @@ -1294,7 +1293,6 @@ switch ($report) { } $header = Display::page_subheader2(get_lang('TotalNumberOfStudents').': '.$studentCount); - $content = $header.$extraTables.$graph.$content; } diff --git a/main/inc/lib/extra_field_value.lib.php b/main/inc/lib/extra_field_value.lib.php index 59a07b41e1..1e93da5a66 100755 --- a/main/inc/lib/extra_field_value.lib.php +++ b/main/inc/lib/extra_field_value.lib.php @@ -367,6 +367,32 @@ class ExtraFieldValue extends Model ]; $this->save($newParams); + break; + case ExtraField::FIELD_TYPE_DATE: + $d = DateTime::createFromFormat('Y-m-d', $value); + $valid = $d && $d->format('Y-m-d') === $value; + if ($valid) { + $newParams = [ + 'item_id' => $params['item_id'], + 'field_id' => $extraFieldInfo['id'], + 'value' => $value, + 'comment' => $comment, + ]; + $this->save($newParams, $showQuery); + } + break; + case ExtraField::FIELD_TYPE_DATETIME: + $d = DateTime::createFromFormat('Y-m-d H:i', $value); + $valid = $d && $d->format('Y-m-d H:i') === $value; + if ($valid) { + $newParams = [ + 'item_id' => $params['item_id'], + 'field_id' => $extraFieldInfo['id'], + 'value' => $value, + 'comment' => $comment, + ]; + $this->save($newParams, $showQuery); + } break; default: $newParams = [