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