/** * 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; }
<#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); } } } } } ?>