"MDL-22548, set main file automatically if more than two files attached"
authorDongsheng Cai <unoter@gmail.com>
Thu, 10 Jun 2010 06:30:46 +0000 (06:30 +0000)
committerDongsheng Cai <unoter@gmail.com>
Thu, 10 Jun 2010 06:30:46 +0000 (06:30 +0000)
mod/resource/mod_form.php

index 78669fa..2f9e60f 100644 (file)
@@ -194,7 +194,7 @@ class mod_resource_mod_form extends moodleform_mod {
 
         $usercontext = get_context_instance(CONTEXT_USER, $USER->id);
         $fs = get_file_storage();
-        if (!$files = $fs->get_area_files($usercontext->id, 'user_draft', $data['files'], 'sortorder', false)) {
+        if (!$files = $fs->get_area_files($usercontext->id, 'user_draft', $data['files'], 'sortorder, id', false)) {
             $errors['files'] = get_string('required');
             return $errors;
         }
@@ -202,7 +202,6 @@ class mod_resource_mod_form extends moodleform_mod {
             // no need to select main file if only one picked
             return $errors;
         } else if(count($files) > 1) {
-            // looking for main file
             $mainfile = false;
             foreach($files as $file) {
                 if ($file->get_sortorder() == 1) {
@@ -210,8 +209,11 @@ class mod_resource_mod_form extends moodleform_mod {
                     break;
                 }
             }
+            // set a default main file
             if (!$mainfile) {
-                $errors['files'] = get_string('selectmainfile', 'resource');
+                $file = reset($files);
+                file_set_sortorder($file->get_contextid(), $file->get_filearea(), $file->get_itemid(),
+                                   $file->get_filepath(), $file->get_filename(), 1);
             }
         }
         return $errors;