/** * 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(); $uploadName = $settingName . '.css'; $context = $request->getContext(); if ($publicFileManager->copyContextFile($context->getAssocType(), $context->getId(), $temporaryFile->getFilePath(), $uploadName)) { $value = array('name' => $temporaryFile->getOriginalFileName(), 'uploadName' => $uploadName, 'dateUploaded' => Core::getCurrentDate()); $settingsDao = $context->getSettingsDAO(); $settingsDao->updateSetting($context->getId(), $settingName, $value, 'object'); // 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(); $extension = $publicFileManager->getImageExtension($type); if (!$extension) { return false; } $locale = AppLocale::getLocale(); $context = $request->getContext(); $uploadName = $this->getFileSettingName() . '_' . $locale . $extension; if ($publicFileManager->copyContextFile($context->getAssocType(), $context->getId(), $temporaryFile->getFilePath(), $uploadName)) { // Get image dimensions $filePath = $publicFileManager->getContextFilesPath($context->getAssocType(), $context->getId()); list($width, $height) = getimagesize($filePath . '/' . $uploadName); $value = $context->getSetting($this->getFileSettingName()); $imageAltText = $this->getData('imageAltText'); $value[$locale] = array('name' => $temporaryFile->getOriginalFileName(), 'uploadName' => $uploadName, 'width' => $width, 'height' => $height, 'dateUploaded' => Core::getCurrentDate(), 'altText' => $imageAltText[$locale]); $settingsDao = $context->getSettingsDAO(); $settingsDao->updateSetting($context->getId(), $this->getFileSettingName(), $value, 'object', true); // Clean up the temporary file. $this->removeTemporaryFile($request); return true; } } return false; }