. /** * Contains the class for fetching the important dates in mod_scorm for a given module instance and a user. * * @package mod_scorm * @copyright 2021 Shamim Rezaie * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ declare(strict_types=1); namespace mod_scorm; use core\activity_dates; /** * Class for fetching the important dates in mod_scorm for a given module instance and a user. * * @copyright 2021 Shamim Rezaie * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class dates extends activity_dates { /** * Returns a list of important dates in mod_scorm * * @return array */ protected function get_dates(): array { $timeopen = $this->cm->customdata['timeopen'] ?? null; $timeclose = $this->cm->customdata['timeclose'] ?? null; $now = time(); $dates = []; if ($timeopen) { $openlabelid = $timeopen > $now ? 'activitydate:opens' : 'activitydate:opened'; $dates[] = [ 'dataid' => 'timeopen', 'label' => get_string($openlabelid, 'core_course'), 'timestamp' => (int) $timeopen, ]; } if ($timeclose) { $closelabelid = $timeclose > $now ? 'activitydate:closes' : 'activitydate:closed'; $dates[] = [ 'dataid' => 'timeclose', 'label' => get_string($closelabelid, 'core_course'), 'timestamp' => (int) $timeclose, ]; } return $dates; } }