/** * Returns path of media file * * @param string $ps_field field name * @param string $ps_version version of the media file, as defined in media_processing.conf * @param int $pn_page page number, defaults to 1 * @return string path of the media file */ public function getMediaPath($ps_field, $ps_version, $pn_page = 1) { $va_media_info = $this->getMediaInfo($ps_field); if (!is_array($va_media_info)) { return null; } # # Use icon # if (isset($va_media_info[$ps_version]['USE_ICON']) && ($vs_icon_code = $va_media_info[$ps_version]['USE_ICON'])) { return caGetDefaultMediaIconPath($vs_icon_code, $va_media_info[$ps_version]['WIDTH'], $va_media_info[$ps_version]['HEIGHT']); } # # Is this version externally hosted? # if (isset($va_media_info[$ps_version]["EXTERNAL_URL"]) && $va_media_info[$ps_version]["EXTERNAL_URL"]) { return ''; // no local path for externally hosted media } # # Is this version queued for processing? # if (isset($va_media_info[$ps_version]["QUEUED"]) && $va_media_info[$ps_version]["QUEUED"]) { return null; } $va_volume_info = $this->_MEDIA_VOLUMES->getVolumeInformation($va_media_info[$ps_version]["VOLUME"]); if (!is_array($va_volume_info)) { return ""; } if ($va_media_info[$ps_version]["FILENAME"]) { return join("/", array($va_volume_info["absolutePath"], $va_media_info[$ps_version]["HASH"], $va_media_info[$ps_version]["MAGIC"] . "_" . $va_media_info[$ps_version]["FILENAME"])); } else { return ""; } }
public function getMediaPath($ps_data, $ps_version, $pa_options = null) { if (!($va_media_info = $this->getMediaArray($ps_data))) { return false; } $vn_page = 1; if (is_array($pa_options) && isset($pa_options["page"]) && $pa_options["page"] > 1) { $vn_page = $pa_options["page"]; } # # Use icon # if (isset($va_media_info[$ps_version]['USE_ICON']) && ($vs_icon_code = $va_media_info[$ps_version]['USE_ICON'])) { return caGetDefaultMediaIconPath($vs_icon_code, $va_media_info[$ps_version]['WIDTH'], $va_media_info[$ps_version]['HEIGHT']); } # # Is this version externally hosted? # if (isset($va_media_info[$ps_version]["EXTERNAL_URL"]) && $va_media_info[$ps_version]["EXTERNAL_URL"]) { return ''; // no local path for externally hosted media } # # Is this version queued for processing? # if (isset($va_media_info[$ps_version]["QUEUED"]) && $va_media_info[$ps_version]["QUEUED"]) { return null; } $va_volume_info = $this->opo_volume_info->getVolumeInformation($va_media_info[$ps_version]["VOLUME"]); if (!is_array($va_volume_info)) { return false; } if ($va_media_info[$ps_version]["FILENAME"]) { if (isset($va_media_info[$ps_version]["PAGES"]) && $va_media_info[$ps_version]["PAGES"] > 1) { if ($vn_page < 1) { $vn_page = 1; } if ($vn_page > $va_media_info[$ps_version]["PAGES"]) { $vn_page = 1; } return join("/", array($va_volume_info["absolutePath"], $va_media_info[$ps_version]["HASH"], $va_media_info[$ps_version]["MAGIC"] . "_" . $va_media_info[$ps_version]["FILESTEM"] . "_" . $vn_page . "." . $va_media_info[$ps_version]["EXTENSION"])); } else { return join("/", array($va_volume_info["absolutePath"], $va_media_info[$ps_version]["HASH"], $va_media_info[$ps_version]["MAGIC"] . "_" . $va_media_info[$ps_version]["FILENAME"])); } } else { return false; } }