summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/confutils.php8
-rw-r--r--inc/media.php6
-rw-r--r--inc/parser/xhtml.php6
3 files changed, 12 insertions, 8 deletions
diff --git a/inc/confutils.php b/inc/confutils.php
index a7799b9d4..1ef0942f8 100644
--- a/inc/confutils.php
+++ b/inc/confutils.php
@@ -14,7 +14,7 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
function mimetype($file){
- $ret = array(false,false); // return array
+ $ret = array(false,false,false); // return array
$mtypes = getMimeTypes(); // known mimetypes
$exts = join('|',array_keys($mtypes)); // known extensions (regexp)
if(preg_match('#\.('.$exts.')$#i',$file,$matches)){
@@ -22,7 +22,11 @@ function mimetype($file){
}
if($ext && $mtypes[$ext]){
- $ret = array($ext, $mtypes[$ext]);
+ if($mtypes[$ext][0] == '!'){
+ $ret = array($ext, substr($mtypes[$ext],1), true);
+ }else{
+ $ret = array($ext, $mtypes[$ext], false);
+ }
}
return $ret;
diff --git a/inc/media.php b/inc/media.php
index 3e54db512..29b2ec986 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -233,8 +233,8 @@ function media_upload($ns,$auth){
}
// check extensions
- list($fext,$fmime) = mimetype($file['name']);
- list($iext,$imime) = mimetype($id);
+ list($fext,$fmime,$dl) = mimetype($file['name']);
+ list($iext,$imime,$dl) = mimetype($id);
if($fext && !$iext){
// no extension specified in id - read original one
$id .= '.'.$fext;
@@ -492,7 +492,7 @@ function media_printfile($item,$auth,$jump){
}
// Prepare fileicons
- list($ext,$mime) = mimetype($item['file']);
+ list($ext,$mime,$dl) = mimetype($item['file']);
$class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
$class = 'select mediafile mf_'.$class;
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index fda1ef36e..58ff5e7b1 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -675,7 +675,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$render = ($linking == 'linkonly') ? false : true;
$link = $this->_getMediaLinkConf($src, $title, $align, $width, $height, $cache, $render);
- list($ext,$mime) = mimetype($src);
+ list($ext,$mime,$dl) = mimetype($src);
if(substr($mime,0,5) == 'image' && $render){
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),($linking=='direct'));
}elseif($mime == 'application/x-shockwave-flash' && $render){
@@ -705,7 +705,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$link['url'] = ml($src,array('cache'=>$cache));
- list($ext,$mime) = mimetype($src);
+ list($ext,$mime,$dl) = mimetype($src);
if(substr($mime,0,5) == 'image' && $render){
// link only jpeg images
// if ($ext != 'jpg' && $ext != 'jpeg') $noLink = true;
@@ -909,7 +909,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$ret = '';
- list($ext,$mime) = mimetype($src);
+ list($ext,$mime,$dl) = mimetype($src);
if(substr($mime,0,5) == 'image'){
// first get the $title
if (!is_null($title)) {