Example #1
0
 /**
  * Replace the area files in the specified area with those in the source item id.
  *
  * @param \file_storage $fs The file storage class
  * @param int $contextid The ID of the context for the setaskment.
  * @param int $sourceitemid The itemid to copy from - typically the source grade id.
  * @param int $itemid The itemid to copy to - typically the target grade id.
  * @param string $area The file storage area.
  * @param bool $includesubdirs Whether to copy the content of sub-directories too.
  */
 public static function replace_files_from_to($fs, $contextid, $sourceitemid, $itemid, $area, $includesubdirs = false)
 {
     $component = 'setaskfeedback_editpdf';
     // Remove the existing files within this area.
     $fs->delete_area_files($contextid, $component, $area, $itemid);
     // Copy the files from the source area.
     if ($files = $fs->get_area_files($contextid, $component, $area, $sourceitemid, "filename", $includesubdirs)) {
         foreach ($files as $file) {
             $newrecord = new \stdClass();
             $newrecord->contextid = $contextid;
             $newrecord->itemid = $itemid;
             $fs->create_file_from_storedfile($newrecord, $file);
         }
     }
 }