Ejemplo n.º 1
0
 /**
  * @param ImageTool                $imageTool
  * @param MediaCache               $cmsMediaCache
  * @param DynamicCreatorMediaCache $mediaCache
  * @param MediaInfoStorageItem     $mediaItem
  * @param string                   $cdnType
  * @param array                    $operations
  */
 protected function createMediaCacheFile(ImageTool $imageTool, MediaCache $cmsMediaCache, DynamicCreatorMediaCache $mediaCache, MediaInfoStorageItem $mediaItem, $cdnType, array $operations)
 {
     if (count($operations) <= 0) {
         return;
     }
     $isIcon = false;
     switch ($cdnType) {
         case MediaRequest::TYPE_IMAGE:
             $filePath = $mediaItem->getFilePath();
             break;
         case MediaRequest::TYPE_ICON:
             $isIcon = true;
             $filePath = $mediaItem->getIconFilePath();
             break;
         case MediaRequest::TYPE_PREVIEW:
             $filePath = $mediaItem->getFilePath();
             if (!$imageTool->isImageFile($filePath)) {
                 $isIcon = true;
                 $filePath = $mediaItem->getIconFilePath();
             }
             break;
         default:
             return;
     }
     $cmsCacheFilePath = $this->createCmsCacheFile($imageTool, $cmsMediaCache, $mediaItem, $operations, $isIcon, $filePath);
     $liveCacheFilePath = $mediaCache->getCacheFilePath($mediaItem, $operations, $isIcon);
     FS::copyFile($cmsCacheFilePath, $liveCacheFilePath);
 }
Ejemplo n.º 2
0
 /**
  * @param $importFilename
  *
  * @return string
  */
 protected function createImportFile($importFilename)
 {
     $config = Registry::getConfig();
     $importFilePath = FS::joinPath($config->test->files->directory, 'test_exports', $importFilename);
     $fakedImportFile = FS::joinPath($config->import->directory, $importFilename);
     $unzipDirectory = str_replace('.zip', '', $fakedImportFile);
     $assertionMessage = sprintf("Test import file '%s' not exists", $importFilePath);
     $this->assertFileExists($importFilePath, $assertionMessage);
     // Add fake upload file and unzip directory to delete lists
     $this->filesToDeleteAtTearDown[] = $fakedImportFile;
     $this->directoriesToDeleteAtTearDown[] = $unzipDirectory;
     FS::copyFile($importFilePath, $fakedImportFile);
     FS::createDirIfNotExists($unzipDirectory, true);
     return $importFilePath;
 }
Ejemplo n.º 3
0
 /**
  * @param \Cms\Service\Modul $moduleService
  * @param DataModule         $module
  * @param string             $importModuleDataDirectoryPath
  */
 protected function replaceTranslationFile($moduleService, DataModule $module, $importModuleDataDirectoryPath)
 {
     $importTranslationFile = FS::joinPath($importModuleDataDirectoryPath, 'moduleTranslation.php');
     if (is_readable($importTranslationFile)) {
         $dataPath = $moduleService->getDataPath($module->getWebsiteid(), $module->getId());
         $moduleTranslationFile = FS::joinPath($dataPath, 'moduleTranslation.php');
         FS::copyFile($importTranslationFile, $moduleTranslationFile);
     }
 }
Ejemplo n.º 4
0
 /**
  * @param  string   $mode
  * @param  string   $websiteId
  * @param  string   $id
  */
 protected function insertScreenshot($mode, $websiteId, $id = null)
 {
     $screenshotBusiness = $this->getScreenshotBusiness();
     $screenshotFile = $screenshotBusiness->getScreenshotFilePath($websiteId, null, $screenshotBusiness::SCREEN_TYPE_WEBSITE);
     if (empty($screenshotFile) || !file_exists($screenshotFile)) {
         return;
     }
     $filePathInExport = FS::joinPath($this->currentExportDirectory, 'screenshot.jpg');
     $image = $this->getImageAdapter();
     $image->setFile($screenshotFile);
     $imageInfo = $image->getImageInfo();
     if ($imageInfo['type'] != $image::TYPE_JPG) {
         $image->load();
         $image->quality(array('quality' => 100));
         $image->save($filePathInExport, $image::TYPE_JPG);
     } else {
         FS::copyFile($screenshotFile, $filePathInExport);
     }
 }
Ejemplo n.º 5
0
 /**
  * @param string $liveDirectory
  * @param string $srcDirectory
  * @param array  $writeableDirectories
  * @param array  $cacheDirectories
  * @param string $subDirectory
  *
  * @throws CmsException
  */
 protected function updateLive($liveDirectory, $srcDirectory, $writeableDirectories, $cacheDirectories, $subDirectory = '')
 {
     if (!is_dir($srcDirectory)) {
         throw new CmsException(902, __METHOD__, __LINE__, array('msg' => sprintf('source directory %s not exists', $srcDirectory)));
     }
     // create live directory
     if (!is_dir($liveDirectory)) {
         FS::createDirIfNotExists($liveDirectory, true, 0755);
     }
     // set directory rights
     if (!empty($subDirectory) && $this->isInsideDirectory($subDirectory, $writeableDirectories)) {
         // writeable
         FS::chmod($liveDirectory, 0777);
     } else {
         FS::chmod($liveDirectory, 0755);
     }
     // get info of the directories
     $liveDirInfo = $this->getDirectoryAsArray($liveDirectory);
     $srcDirInfo = $this->getDirectoryAsArray($srcDirectory);
     // delete live directories
     foreach ($liveDirInfo['directories'] as $liveSubDirectoryName => $liveSubDirectory) {
         if ($this->isInsideDirectory($subDirectory . $liveSubDirectoryName, $writeableDirectories)) {
             FS::chmod($liveSubDirectory, 0777);
             continue;
         }
         if (!isset($srcDirInfo['directories'][$liveSubDirectoryName])) {
             FS::rmdir($liveDirectory);
         }
     }
     // delete live files
     foreach ($liveDirInfo['files'] as $liveFileName => $liveFilePathName) {
         if ($this->isInsideDirectory($subDirectory . $liveFileName, $writeableDirectories)) {
             FS::chmod($liveFilePathName, 0777);
             continue;
         }
         if (!isset($srcDirInfo['files'][$liveFileName])) {
             FS::rmFile($liveFilePathName);
         }
     }
     // copy source directories
     foreach ($srcDirInfo['directories'] as $srcSubDirectoryName => $srcSubDirectory) {
         $subDirPathName = $subDirectory . $srcSubDirectoryName . DIRECTORY_SEPARATOR;
         $newLiveDirectory = FS::joinPath($liveDirectory, $srcSubDirectoryName);
         $this->updateLive($newLiveDirectory, $srcSubDirectory, $writeableDirectories, $cacheDirectories, $subDirPathName);
     }
     // copy source files
     foreach ($srcDirInfo['files'] as $srcFileName => $srcFilePathName) {
         $newLiveFilePathName = FS::joinPath($liveDirectory, $srcFileName);
         FS::copyFile($srcFilePathName, $newLiveFilePathName);
         if ($this->isInsideDirectory($subDirectory . $srcFileName, $writeableDirectories)) {
             FS::chmod($newLiveFilePathName, 0777);
         } else {
             FS::chmod($newLiveFilePathName, 0755);
         }
     }
 }
Ejemplo n.º 6
0
 /**
  * @param  string $websiteId
  * @param  string $publishingId
  * @param  string $buildFilePath
  * @return string path to publishing file
  */
 private function copyBuildToPublishingDirectory($websiteId, $publishingId, $buildFilePath)
 {
     $config = Registry::getConfig();
     $publishingDirectory = FS::joinPath($config->publisher->data->directory, $websiteId);
     FS::createDirIfNotExists($publishingDirectory, true);
     $publishingFilePath = FS::joinPath($publishingDirectory, $publishingId . '.zip');
     FS::copyFile($buildFilePath, $publishingFilePath);
     return $publishingFilePath;
 }
Ejemplo n.º 7
0
 /**
  * @param $destDirectory
  * @param $destFileName
  * @param $srcFileName
  */
 protected function copyCreatorFile($destDirectory, $destFileName, $srcFileName)
 {
     $srcDirectory = $this->getCreatorFilesDirectory();
     $srcFilePath = FS::joinPath($srcDirectory, $srcFileName);
     $destFilePath = FS::joinPath($destDirectory, $destFileName);
     FS::copyFile($srcFilePath, $destFilePath);
 }