course)) { error("This course doesn't exist"); } require_login($course->id); if (!isteacher($course->id)) { error("You can't modify this course!"); } $strediting = get_string("validateascorm", "scorm"); $strname = get_string("name"); print_header("$course->shortname: $strediting", "$course->shortname: $strediting", "wwwroot/course/view.php?id=$course->id\">$course->shortname -> $strediting"); if (!$form->name or !$form->reference or !$form->summary) { error(get_string("filloutallfields"), $_SERVER["HTTP_REFERER"]); } // // Create a temporary directory to unzip package and validate imsmanifest // $basedir = $CFG->dataroot."/".$course->id; $scormdir = "/moddata/scorm"; if (scorm_mkdirs($basedir.$scormdir)) { if ($tempdir = scorm_datadir($basedir.$scormdir, $form->datadir)) { copy ($basedir."/".$form->reference, $tempdir."/".basename($form->reference)); if (empty($CFG->unzip)) { // Use built-in php-based unzip function include_once($CFG->dirroot.'/lib/pclzip/pclzip.lib.php'); $archive = new PclZip($tempdir."/".basename($form->reference)); if (!$list = $archive->extract($tempdir)) { error($archive->errorInfo(true)); } } else { $command = "cd $tempdir; $CFG->unzip -o ".basename($form->reference)." 2>&1"; exec($command); } $result = scorm_validate($tempdir."/imsmanifest.xml"); } else { $result = "packagedir"; } } else { $result = "datadir"; } if ($result != "regular") { // // Delete files and temporary directory // if (is_dir($tempdir)) scorm_delete_files($tempdir); } else { // // Delete package file // unlink ($tempdir."/".basename($form->reference)); if ($form->mode == "update") { $fp = fopen($basedir."/".$form->reference,"r"); $fstat = fstat($fp); fclose($fp); if (get_field("scorm","timemodified","id",$form->instance) < $fstat["mtime"]) $form->launch = 0; } } // // Print validation result // print_simple_box_start("center", "", "$THEME->cellheading"); echo "\n"; echo " \n"; echo " \n"; if (($form->mode == "update") && ($form->launch == 0) && (get_records("scorm_sco_user","scormid",$form->instance))) echo " \n"; echo "

$strname:

$form->name

".get_string("validation","scorm").":

".get_string($result,"scorm")."

".get_string("trackingloose","scorm")."

\n"; if ($result == "regular") { echo "
destination\">\n"; ?>
"> ">
" onClick="document.location='wwwroot ?>/course/view.php?id=id ?>';">