コード例 #1
0
ファイル: Package.php プロジェクト: rukzuk/rukzuk
 /**
  * @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();
 }
コード例 #2
0
ファイル: Filesystem.php プロジェクト: rukzuk/rukzuk
 /**
  * @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();
 }
コード例 #3
0
ファイル: CreatorStorage.php プロジェクト: rukzuk/rukzuk
 /**
  * @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);
     }
 }
コード例 #4
0
ファイル: Import.php プロジェクト: rukzuk/rukzuk
 /**
  * @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;
 }
コード例 #5
0
ファイル: Export.php プロジェクト: rukzuk/rukzuk
 /**
  * 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);
 }
コード例 #6
0
 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);
     }
 }