Merge branch 'wip-mdl-30812' of git://github.com/rajeshtaneja/moodle
authorDamyon Wiese <damyon@moodle.com>
Mon, 28 Oct 2013 04:11:34 +0000 (12:11 +0800)
committerDamyon Wiese <damyon@moodle.com>
Mon, 28 Oct 2013 04:11:34 +0000 (12:11 +0800)
backup/moodle2/restore_section_task.class.php
backup/util/dbops/restore_dbops.class.php
lang/en/backup.php

index 7550261..b46ed6b 100644 (file)
@@ -161,6 +161,9 @@ class restore_section_task extends restore_task {
         $section_included = new restore_section_included_setting($settingname, base_setting::IS_BOOLEAN, true);
         if (is_number($this->info->title)) {
             $label = get_string('includesection', 'backup', $this->info->title);
+        } elseif (empty($this->info->title)) { // Don't throw error if title is empty, gracefully continue restore.
+            $this->log('Section title missing in backup for section id '.$this->info->sectionid, backup::LOG_WARNING, $this->name);
+            $label = get_string('unnamedsection', 'backup');
         } else {
             $label = $this->info->title;
         }
index a1aafb8..a6d5bce 100644 (file)
@@ -978,6 +978,15 @@ abstract class restore_dbops {
             );
 
             if (empty($file->repositoryid)) {
+                // If contenthash is empty then gracefully skip adding file.
+                if (empty($file->contenthash)) {
+                    $result = new stdClass();
+                    $result->code = 'file_missing_in_backup';
+                    $result->message = sprintf('missing file (%s) contenthash in backup for component %s', $file->filename, $component);
+                    $result->level = backup::LOG_WARNING;
+                    $results[] = $result;
+                    continue;
+                }
                 // this is a regular file, it must be present in the backup pool
                 $backuppath = $basepath . backup_file_manager::get_backup_content_file_location($file->contenthash);
 
index f156fa9..18a34ff 100644 (file)
@@ -262,6 +262,7 @@ $string['skipmodifprevhelp'] = 'Choose whether or not to skip courses that have
 $string['title'] = 'Title';
 $string['totalcategorysearchresults'] = 'Total categories: {$a}';
 $string['totalcoursesearchresults'] = 'Total courses: {$a}';
+$string['unnamedsection'] = 'Unnamed section';
 $string['userinfo'] = 'Userinfo';
 $string['module'] = 'Module';
 $string['morecoursesearchresults'] = 'More than {$a} courses found, showing first {$a} results';