don't use copy() for http based copies: MDL-16123: use download_file_content for external SCORM packages instead of copy()

This commit is contained in:
danmarsden
2008-12-01 05:27:59 +00:00
parent a1990f18ef
commit a546aa2eec
+16 -3
View File
@@ -958,7 +958,10 @@ function scorm_check_package($data) {
} else if ($externalpackage){
if ($scormdir = make_upload_directory("$courseid/$CFG->moddata/scorm")) {
if ($tempdir = scorm_tempdir($scormdir)) {
copy ("$reference", $tempdir.'/'.basename($reference));
$content = download_file_content($reference);
$file = fopen($tempdir.'/'.basename($reference), 'x');
fwrite($file, $content);
fclose($file);
$mdcheck = md5_file($tempdir.'/'.basename($reference));
scorm_delete_files($tempdir);
}
@@ -1010,7 +1013,14 @@ function scorm_check_package($data) {
$scormdir = '';
if ($scormdir = make_upload_directory("$courseid/$CFG->moddata/scorm")) {
if ($tempdir = scorm_tempdir($scormdir)) {
copy ("$reference", $tempdir.'/'.basename($reference));
if ($externalpackage){
$content = download_file_content($reference);
$file = fopen($tempdir.'/'.basename($reference), 'x');
fwrite($file, $content);
fclose($file);
} else {
copy ("$reference", $tempdir.'/'.basename($reference));
}
unzip_file($tempdir.'/'.basename($reference), $tempdir, false);
if (!$externalpackage) {
unlink ($tempdir.'/'.basename($reference));
@@ -1034,7 +1044,10 @@ function scorm_check_package($data) {
if ($externalpackage) {
if ($scormdir = make_upload_directory("$courseid/$CFG->moddata/scorm")) {
if ($tempdir = scorm_tempdir($scormdir)) {
copy ("$reference", $tempdir.'/'.basename($reference));
$content = download_file_content($reference);
$file = fopen($tempdir.'/'.basename($reference), 'x');
fwrite($file, $content);
fclose($file);
if (is_file($tempdir.'/'.basename($reference))) {
$validation = scorm_validate_manifest($tempdir.'/'.basename($reference));
} else {