From 55efc227eaeb2d480ff22837b78f89766b07fe5f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 24 Jul 2005 13:55:40 +0200 Subject: first step in Image metadata support This adds a detail page for images, for JPEG files additional metadata from EXIF and IPTC fields is shown darcs-hash:20050724115540-7ad00-926601cd12a990e041943edc616360d8179d6c9f.gz --- inc/parser/xhtml.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'inc/parser') diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 53802c633..b633260ac 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -707,7 +707,12 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $link['target'] = $conf['target']['media']; $link['title'] = $this->_xmlEntities($src); - $link['url'] = DOKU_BASE.'lib/exe/fetch.php?cache='.$cache.'&media='.urlencode($src); + list($ext,$mime) = mimetype($src); + if(substr($mime,0,5) == 'image'){ + $link['url']= DOKU_BASE.'lib/exe/detail.php?id='.$ID.'&cache='.$cache.'&media='.urlencode($src); + }else{ + $link['url']= DOKU_BASE.'lib/exe/fetch.php?cache='.$cache.'&media='.urlencode($src); + } $link['name'] = $this->_media ($src, $title, $align, $width, $height, $cache); @@ -894,6 +899,15 @@ class Doku_Renderer_xhtml extends Doku_Renderer { if (!is_null($title)) { $ret .= ' title="'.$this->_xmlEntities($title).'"'; $ret .= ' alt="'.$this->_xmlEntities($title).'"'; + }elseif($ext == 'jpg' || $ext == 'jpeg'){ + //try to use the caption from IPTC/EXIF + require_once(DOKU_INC.'inc/JpegMeta.php'); + $jpeg =& new JpegMeta(mediaFN($src)); + if($jpeg !== false) $cap = $jpeg->getTitle(); + if($cap){ + $ret .= ' title="'.$this->_xmlEntities($cap).'"'; + $ret .= ' alt="'.$this->_xmlEntities($cap).'"'; + } }else{ $ret .= ' alt=""'; } -- cgit v1.2.3