Added clearer error message when no space left or not scorm package

skala
Yannick Warnier 15 years ago
parent 61cd194653
commit 75d1505375
  1. 8
      main/newscorm/lp_upload.php
  2. 7
      main/newscorm/scorm.class.php
  3. 21
      main/upload/upload.scorm.php

@ -54,6 +54,9 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST'
require_once('scorm.class.php');
$oScorm = new scorm();
$manifest = $oScorm->import_package($_FILES['user_file'],$current_dir);
if ($manifest == false ) { //if api_set_failure
return api_failure::set_failure(api_failure::get_last_failure());
}
if(!empty($manifest)){
$oScorm->parse_manifest($manifest);
$oScorm->import_manifest(api_get_course_id());
@ -128,6 +131,9 @@ elseif($_SERVER['REQUEST_METHOD'] == 'POST')
require_once('scorm.class.php');
$oScorm = new scorm();
$manifest = $oScorm->import_local_package($s,$current_dir);
if ($manifest === false ) { //if api_set_failure
return api_failure::set_failure(api_failure::get_last_failure());
}
if(!empty($manifest)){
$oScorm->parse_manifest($manifest);
$oScorm->import_manifest(api_get_course_id());
@ -162,4 +168,4 @@ elseif($_SERVER['REQUEST_METHOD'] == 'POST')
return api_failure::set_failure('not_a_learning_path');
}
}
?>
?>

@ -645,11 +645,13 @@ class scorm extends learnpath {
if($package_type== '')
// && defined('CHECK_FOR_SCORM') && CHECK_FOR_SCORM)
{
if($this->debug>1){error_log('New LP - Package type is empty',0);}
return api_failure::set_failure('not_scorm_content');
}
if (! enough_size($realFileSize, $course_sys_dir, $maxFilledSpace) )
{
{
if($this->debug>1){error_log('New LP - Not enough space to store package',0);}
return api_failure::set_failure('not_enough_space');
}
@ -742,6 +744,7 @@ class scorm extends learnpath {
chdir($saved_dir);
api_chmod_R($course_sys_dir.$new_dir, api_get_permissions_for_new_directories());
if($this->debug>1){error_log('New LP - changed back to init dir',0);}
}
} else {
return '';
@ -1034,4 +1037,4 @@ class scorm extends learnpath {
return false;
}
}
?>
?>

@ -14,16 +14,21 @@ require('../newscorm/lp_upload.php');
//reinit current working directory as many functions in upload change it
chdir($cwdir);
$error = api_failure::get_last_failure();
if($error=='not_a_learning_path')
{
if ($error=='not_a_learning_path') {
$msg = urlencode(get_lang('ScormUnknownPackageFormat'));
$dialogtype = 'error';
}else{
$dialogtype = 'error';
} elseif ($error == 'not_enough_space') {
$msg = urlencode(get_lang('ScormNotEnoughSpaceInCourseToInstallPackage'));
$dialogtype = 'error';
} elseif ($error == 'not_scorm_content') {
$msg = urlencode(get_lang('ScormPackageFormatNotScorm'));
$dialogtype = 'error';
} else {
if (api_get_setting('search_enabled')=='true') {
require_once(api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php');
$specific_fields = get_specific_field_list();
require_once(api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php');
$specific_fields = get_specific_field_list();
foreach ($specific_fields as $specific_field) {
foreach ($specific_fields as $specific_field) {
$values = explode(',', trim($_POST[$specific_field['code']]));
if ( !empty($values) ) {
foreach ($values as $value) {
@ -39,4 +44,4 @@ if($error=='not_a_learning_path')
$dialogtype = 'confirmation';
}
header('location: ../newscorm/lp_controller.php?action=list&dialog_box='.$msg.'&dialogtype='.$dialogtype);
?>
?>

Loading…
Cancel
Save