/**
  * Save the new image file.
  * @param $request Request.
  */
 function execute($request)
 {
     $temporaryFile = $this->fetchTemporaryFile($request);
     import('classes.file.PublicFileManager');
     $publicFileManager = new PublicFileManager();
     if (is_a($temporaryFile, 'TemporaryFile')) {
         $type = $temporaryFile->getFileType();
         $extension = $publicFileManager->getImageExtension($type);
         if (!$extension) {
             return false;
         }
         $locale = AppLocale::getLocale();
         $uploadName = $this->getFileSettingName() . '_' . $locale . $extension;
         if ($publicFileManager->copyFile($temporaryFile->getFilePath(), $publicFileManager->getSiteFilesPath() . '/' . $uploadName)) {
             // Get image dimensions
             $filePath = $publicFileManager->getSiteFilesPath();
             list($width, $height) = getimagesize($filePath . '/' . $uploadName);
             $site = $request->getSite();
             $siteDao = DAORegistry::getDAO('SiteDAO');
             $value = $site->getSetting($this->getFileSettingName());
             $imageAltText = $this->getData('imageAltText');
             $value[$locale] = array('originalFilename' => $temporaryFile->getOriginalFileName(), 'uploadName' => $uploadName, 'width' => $width, 'height' => $height, 'dateUploaded' => Core::getCurrentDate(), 'altText' => $imageAltText[$locale]);
             $site->updateSetting($this->getFileSettingName(), $value, 'object', true);
             // Clean up the temporary file
             $this->removeTemporaryFile($request);
             return true;
         }
     }
     return false;
 }
Example #2
0
 /**
  * Save the new image file.
  * @param $request Request.
  */
 function execute($request)
 {
     $temporaryFile = $this->fetchTemporaryFile($request);
     import('classes.file.PublicFileManager');
     $publicFileManager = new PublicFileManager();
     if (is_a($temporaryFile, 'TemporaryFile')) {
         $type = $temporaryFile->getFileType();
         if ($type != 'text/plain' && $type != 'text/css') {
             return false;
         }
         $settingName = $this->getFileSettingName();
         $site = $request->getSite();
         $uploadName = $site->getSiteStyleFilename();
         if ($publicFileManager->copyFile($temporaryFile->getFilePath(), $publicFileManager->getSiteFilesPath() . '/' . $uploadName)) {
             $siteDao = DAORegistry::getDAO('SiteDAO');
             $site->setOriginalStyleFilename($temporaryFile->getOriginalFileName());
             $siteDao->updateObject($site);
             // Clean up the temporary file
             $this->removeTemporaryFile($request);
             return true;
         }
     }
     return false;
 }
 function restorePublicFolder()
 {
     $publicFileManager = new PublicFileManager();
     $oldPublicFolder = $this->publicFolderPath;
     $newPublicFolder = $publicFileManager->getJournalFilesPath($this->journal->getId());
     $dir = new DirectoryIterator($oldPublicFolder);
     foreach ($dir as $fileinfo) {
         if (!$fileinfo->isDot()) {
             if ($fileinfo->isDir()) {
                 $publicFileManager->copyDir($fileinfo->getPathname(), $newPublicFolder . "/" . $fileinfo->getFileName());
             } else {
                 if ($fileinfo->isFile()) {
                     $publicFileManager->copyFile($fileinfo->getPathname(), $newPublicFolder . "/" . $fileinfo->getFileName());
                 }
             }
         }
     }
 }