/** * Migrate a single file * * @param string $base Absolute base path (parent of assets folder) * @param File $file * @param type $legacyFilename * @return bool True if this file is imported successfully */ protected function migrateFile($base, File $file, $legacyFilename) { // Make sure this legacy file actually exists $path = $base . '/' . $legacyFilename; if (!file_exists($path)) { return false; } // Copy local file into this filesystem $filename = $file->getFilename(); $result = $file->setFromLocalFile($path, $filename, null, null, array('conflict' => AssetStore::CONFLICT_OVERWRITE)); // Move file if the APL changes filename value if ($result['Filename'] !== $filename) { $this->setFilename($result['Filename']); } // Save and publish $file->write(); $file->doPublish(); return true; }