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