/** * ファイルをリストア */ protected function restoreFiles() { $this->excludeUnnecessaryDuplications(); // サイトファイル SharingCart_FileSystem::copy($this->getTempDir() . '/site_files', $GLOBALS['CFG']->dataroot . '/' . SITEID, SharingCart_FileSystem::RECURSIVE); // コースファイル SharingCart_FileSystem::copy($this->getTempDir() . '/course_files', $GLOBALS['CFG']->dataroot . '/' . $this->course->id, SharingCart_FileSystem::RECURSIVE); }
protected function encodeLinksAndBackupTargets_clbk($m) { $prefix = $m[1]; $course_id = $m[2]; $file_path = $m[3]; $suffix = $m[4]; if ($course_id == '') { // $@FILEPHP@$ $course_id = $this->course->id; } $source_path = $GLOBALS['CFG']->dataroot . '/' . $course_id . '/' . $file_path; if ($course_id == SITEID) { // サイトファイル SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/site_files/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_SITE_ESC . '/' . $file_path; } elseif ($course_id == $this->course->id) { // コースファイル (自身) SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/course_files/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_FILE_ESC . '/' . $file_path; } else { // コースファイル (他) SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/' . parent::LINK_MISC_DIR . '/' . $course_id . '/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_MISC_ESC . '/' . $course_id . '/' . $file_path; } return $prefix . $link . $suffix; }
protected function encodeLinksAndBackupTargets_clbk($m) { list(, $prefix, $course_id, $file_path, $suffix) = $m; if ($course_id == '') { // $@FILEPHP@$ $course_id = $this->course->id; } // Moodle によってエスケープされたスラッシュやURLエンコードを復元 $file_path = urldecode($file_path); $file_path = preg_replace('@' . self::preg_quote_atmark(self::SLASH_ESC) . '@', '/', $file_path); $source_path = $GLOBALS['CFG']->dataroot . '/' . $course_id . '/' . $file_path; if ($course_id == SITEID) { // サイトファイル SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/site_files/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_SITE_ESC . '/' . $file_path; } elseif ($course_id == $this->course->id) { // コースファイル (自身) SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/course_files/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_FILE_ESC . '/' . $file_path; } else { // コースファイル (他) SharingCart_FileSystem::copy($source_path, $this->getTempDir() . '/' . parent::LINK_MISC_DIR . '/' . $course_id . '/' . $file_path, SharingCart_FileSystem::OVERWRITE); $link = parent::LINK_MISC_ESC . '/' . $course_id . '/' . $file_path; } return $prefix . $link . $suffix; }