diff --git a/include/webdav_image_runtime.inc.php b/include/webdav_image_runtime.inc.php new file mode 100644 index 0000000..5d1bbb3 --- /dev/null +++ b/include/webdav_image_runtime.inc.php @@ -0,0 +1,94 @@ +$image_id, + 'connection_id'=>$connection_id, + 'webdav_path'=>(string)($entry['webdav_path'] ?? ''), + 'content_type'=>(string)($entry['content_type'] ?? ''), + 'size'=>(int)($entry['size'] ?? 0), + 'etag'=>(string)($entry['etag'] ?? ''), + ); +} + +function bratonien_tools_webdav_image_url($image_id) +{ + $info = bratonien_tools_webdav_image_source_info($image_id); + if (!$info) return null; + $url = get_root_url().'plugins/'.BRATONIEN_TOOLS_ID.'/webdav-image.php?id='.(int)$image_id; + if ($info['etag'] !== '') $url .= '&v='.rawurlencode(substr(sha1($info['etag']), 0, 12)); + return $url; +} + +function bratonien_tools_filter_webdav_src_url($url, $src_image) +{ + if (!is_object($src_image) || empty($src_image->id)) return $url; + $webdav_url = bratonien_tools_webdav_image_url((int)$src_image->id); + return $webdav_url ?: $url; +} + +function bratonien_tools_filter_webdav_derivative_url($url, $params, $src_image, $rel_url) +{ + if (!is_object($src_image) || empty($src_image->id)) return $url; + $webdav_url = bratonien_tools_webdav_image_url((int)$src_image->id); + return $webdav_url ?: $url; +}