/**
  * Clone course files
  *
  * @access public
  * @static
  *
  * @param int source id
  * @param int target_id
  */
 public static function _cloneFiles($a_source_id, $a_target_id)
 {
     $source = new ilFSStorageCourse($a_source_id);
     foreach (ilCourseFile::_readFilesByCourse($a_source_id) as $file_obj) {
         $new_file = new ilCourseFile();
         $new_file->setCourseId($a_target_id);
         $new_file->setFileName($file_obj->getFileName());
         $new_file->setFileSize($file_obj->getFileSize());
         $new_file->setFileType($file_obj->getFileType());
         $new_file->create(false);
         $target = new ilFSStorageCourse($a_target_id);
         $target->initInfoDirectory();
         $source->copyFile($file_obj->getAbsolutePath(), $new_file->getAbsolutePath());
     }
 }
 /**
  * Clone course data directory
  *
  * @access public
  * @static
  *
  * @param string obj_id source
  * @param string obj_id target
  */
 public static function _clone($a_source_id, $a_target_id)
 {
     $source = new ilFSStorageCourse($a_source_id);
     $target = new ilFSStorageCourse($a_target_id);
     $target->create();
     ilFileSystemStorage::_copyDirectory($source->getAbsolutePath(), $target->getAbsolutePath());
     // Delete member export files
     $target->deleteDirectory($target->getMemberExportDirectory());
     unset($source);
     unset($target);
     return true;
 }
Example #3
0
<#1032>
<?php 
$wd = getcwd();
global $ilLog;
include_once 'Services/Migration/DBUpdate_904/classes/class.ilUpdateUtils.php';
include_once 'Services/Migration/DBUpdate_904/classes/class.ilFSStorageCourse.php';
$ilLog->write('DB Migration 1032: Starting migration of course info files');
if (@is_dir($dir = ilUpdateUtils::getDataDir() . '/course')) {
    $dp = @opendir($dir);
    while (($filedir = readdir($dp)) !== false) {
        if ($filedir == '.' or $filedir == '..') {
            continue;
        }
        if (preg_match('/^course_file([0-9]+)$/', $filedir, $matches)) {
            $ilLog->write('DB Migration 1032: Found file: ' . $filedir . ' with course_id: ' . $matches[1]);
            $fss_course = new ilFSStorageCourse($matches[1]);
            $fss_course->initInfoDirectory();
            if (@is_dir($info_dir = ilUpdateUtils::getDataDir() . '/course/' . $filedir)) {
                $dp2 = @opendir($info_dir);
                while (($file = readdir($dp2)) !== false) {
                    if ($file == '.' or $file == '..') {
                        continue;
                    }
                    $fss_course->rename($from = ilUpdateUtils::getDataDir() . '/course/' . $filedir . '/' . $file, $to = $fss_course->getInfoDirectory() . '/' . $file);
                    $ilLog->write('DB Migration 1032: Renamed: ' . $from . ' to: ' . $to);
                }
            }
        }
    }
}
?>