function toSCO() { $deck_id = $_GET['deck_id']; if (isset($_GET['format'])) { $format = $_GET['format']; } else { $format = 'scorm2004_3rd'; } $scorm = new Scorm(); $scorm->create($deck_id, $format); $deck_name = $scorm->root_deck_name; $archive = new PclZip($deck_name . '.zip'); //adding sco universal metadata $v_list = $archive->create(ROOT . DS . 'libraries' . DS . 'backend' . DS . $format, PCLZIP_OPT_REMOVE_PATH, ROOT . DS . 'libraries' . DS . 'backend' . DS . $format, PCLZIP_OPT_ADD_TEMP_FILE_ON); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } //adding sco from tmp $v_list = $archive->add(ROOT . DS . 'tmp' . DS . $deck_name, PCLZIP_OPT_REMOVE_PATH, ROOT . DS . 'tmp' . DS . $deck_name, PCLZIP_OPT_ADD_TEMP_FILE_ON); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } $archive->force_download(); chmod(ROOT . DS . $deck_name . '.zip', 0777); unlink(ROOT . DS . $deck_name . '.zip'); $this->RemoveDir(ROOT . DS . 'tmp' . DS . $deck_name); }