/**
  * Options:
  *  return - valid settings are url and path; if set to a valid value then the url or path for the file is returned rather than display HTML
  *
  */
 public function getDisplayValue($pa_options = null)
 {
     if (isset($pa_options['forDuplication']) && $pa_options['forDuplication']) {
         $pa_options['return'] = 'path';
     }
     if (!isset($pa_options['return'])) {
         $pa_options['return'] = null;
     } else {
         $pa_options['return'] = strtolower($pa_options['return']);
     }
     switch ($pa_options['return']) {
         case 'url':
             return $this->opo_file_info_coder->getFileUrl($this->opa_file_data);
             break;
         case 'path':
             return $this->opo_file_info_coder->getFilePath($this->opa_file_data);
             break;
     }
     $vs_val = '';
     if ($vs_url = $this->opo_file_info_coder->getFileUrl($this->opa_file_data)) {
         $va_info = $this->opo_file_info_coder->getFileInfo($this->opa_file_data);
         $va_dimensions = array();
         if ($va_info['ORIGINAL_FILENAME']) {
             $vs_filename = $va_info['ORIGINAL_FILENAME'];
         } else {
             $vs_filename = _t('Uploaded file');
         }
         if ($va_info['MIMETYPE']) {
             $va_dimensions[] = FileMimeTypes::nameForMimeType($va_info['MIMETYPE']);
         }
         if (!isset($va_info['PROPERTIES']['filesize']) || !($vn_filesize = $va_info['PROPERTIES']['filesize'])) {
             $vn_filesize = @filesize($this->opo_file_info_coder->getFilePath($this->opa_file_data));
         }
         if ($vn_filesize) {
             $va_dimensions[] = sprintf("%4.2f", $vn_filesize / (1024 * 1024)) . 'mb';
         }
         $vs_dimensions = join('; ', $va_dimensions);
         $vs_val = "<div class='attributeFileInfoContainer'>";
         $vs_val .= "<div class='attributeFileFileName'>{$vs_filename}</div><div class='attributeFileFileInfo'>{$vs_dimensions}";
         if (is_object($pa_options['request'])) {
             $vs_val .= caNavLink($pa_options['request'], caNavIcon($pa_options['request'], __CA_NAV_BUTTON_DOWNLOAD__, array('align' => 'middle')), '', $pa_options['request']->getModulePath(), $pa_options['request']->getController(), 'DownloadAttributeFile', array('download' => 1, 'value_id' => $this->opn_value_id), array('class' => 'attributeDownloadButton'));
         }
         $vs_val .= "</div></div>";
     }
     return $vs_val;
 }
Exemplo n.º 2
0
 /**
  * Converts file extension into human-readable name for display. Generic 'application/octet-stream' mimetype is returned if
  * extension is unknown.
  */
 static function nameForFileExtension($ps_extension)
 {
     return FileMimeTypes::nameForMimeType(FileMimeTypes::mimeTypeForFileExtension($ps_extension));
 }