/** * @param string $fromWebsiteId * @param string $toWebsiteId */ public function copyToNewWebsite($fromWebsiteId, $toWebsiteId) { $moduleConfig = Registry::getConfig()->item->data; $dataDirectory = $moduleConfig->directory; $sourceDirectory = FS::joinPath($dataDirectory, $fromWebsiteId, self::SUBDIR_LOCAL); $destinationDirectory = FS::joinPath($dataDirectory, $toWebsiteId, self::SUBDIR_LOCAL); FS::createDirIfNotExists($destinationDirectory, true); if (is_dir($sourceDirectory)) { FS::copyDir($sourceDirectory, $destinationDirectory); } $this->getDao()->resetCache(); }
/** * @param ModuleSource $moduleSourceFrom * @param ModuleSource $moduleSourceTo */ public function copyToNewWebsite(ModuleSource $moduleSourceFrom, ModuleSource $moduleSourceTo) { $sourceDir = $this->getWebsiteModulesDataDirectory($moduleSourceFrom->getWebsiteId()); $destinationDir = $this->getWebsiteModulesDataDirectory($moduleSourceTo->getWebsiteId()); FS::createDirIfNotExists($destinationDir, true); if (is_dir($sourceDir)) { FS::copyDir($sourceDir, $destinationDir); } $this->resetCache(); }
/** * @param string $srcDirectory * @param string $destDirectory * @param string $fileName */ private function copyModuleFile($srcDirectory, $destDirectory, $fileName) { $srcPathName = FS::joinPath($srcDirectory, $fileName); $destPathName = FS::joinPath($destDirectory, $fileName); $lowerCaseFileName = strtolower($fileName); if ($lowerCaseFileName == 'notlive') { return; } if (is_dir($srcPathName)) { FS::copyDir($srcPathName, $destPathName); } else { FS::copyFile($srcPathName, $destPathName); } }
/** * @param string $websiteId * @param bool $checkConflict * @param array $overwriteIds * * @return array */ protected function importPackages($websiteId, $checkConflict = false, array $overwriteIds = array()) { $importedPackages = array(); $conflictingPackageIds = array(); $packageService = $this->getPackageService(); if ($checkConflict && isset($this->currentConflictItems['packages'])) { $conflictingPackageIds = array_keys($this->currentConflictItems['packages']); } foreach ($this->currentImportPackageInfo as $packageId => $packageInfo) { // check if import of the package is allowed if (!$this->itemImportAllowed($packageId, $conflictingPackageIds, $overwriteIds)) { continue; } $localDirectory = $packageService->getDirectoryFormImportingLocalPackages($websiteId); $localPackageDirectory = FS::joinPath($localDirectory, $packageId); if (file_exists($localPackageDirectory)) { FS::rmdir($localPackageDirectory); } FS::createDirIfNotExists($localPackageDirectory, true); FS::copyDir($packageInfo['directory'], $localPackageDirectory); $importedPackages[] = array('id' => $packageId, 'name' => $packageInfo['name']); } // ensure that the imported packages will be (re)loaded $packageService->resetCache(); return $importedPackages; }
/** * Copies the whole module to the export module directory * @param DataModule $module */ private function copyModule($module) { $moduleDirectory = $module->getSource()->getDirectory(); $exportModuleDirectory = $this->getExportModuleDirectory($module->getId()); if (!is_dir($moduleDirectory)) { Registry::getLogger()->log(__CLASS__, __METHOD__, sprintf("Error exporting module '%s/%s'. Module source directory '%s' not exists.", $module->getWebsiteid(), $module->getId(), $moduleDirectory), SbLog::ERR); return; } FS::createDirIfNotExists($exportModuleDirectory, true); FS::copyDir($moduleDirectory, $exportModuleDirectory); }
protected function copyLegacyClasses() { // copy legacy render files $serverDirectory = $this->getServerDirectory(); FS::createDirIfNotExists($serverDirectory, true); $srcRenderDirectory = realpath(FS::joinPath(APPLICATION_PATH, '..', 'library', 'Dual')); $destRenderDirector = FS::joinPath($serverDirectory, 'library', 'Dual'); try { FS::createDirIfNotExists($destRenderDirector, true); FS::copyDir($srcRenderDirectory, $destRenderDirector); } catch (\Exception $e) { $this->addError('Error at copy legacy render classes', $e); } }