/** * 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; }
/** * 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()); } } } } }