From ff48d8f53a47db78c352e98dc07ea715697c2216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 9 Feb 2012 12:47:38 +0100 Subject: [PATCH] Moved media id conversion to utility function and called it at appropriate locations --- syntax.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/syntax.php b/syntax.php index 74edfd3..844646f 100644 --- a/syntax.php +++ b/syntax.php @@ -204,7 +204,7 @@ class syntax_plugin_filelist extends DokuWiki_Syntax_Plugin { $link['more'] = ''; $link['class'] = 'media'; if (!$params['direct']) { - $link['url'] = ml(':'.str_replace('/', ':', substr($filepath, strlen($this->mediadir)))); + $link['url'] = ml(':'.$this->_convert_mediapath($filepath)); } else { $link['url'] = $webdir.substr($filepath, strlen($basedir)); } @@ -612,8 +612,8 @@ class syntax_plugin_filelist extends DokuWiki_Syntax_Plugin { if (!$params['direct']) { // exclude prohibited media files via ACLs - $mid = str_replace('/', ':', substr($filepath, strlen($this->mediadir))); - $perm = auth_quickaclcheck(ltrim($mid,":")); + $mid = $this->_convert_mediapath($filepath); + $perm = auth_quickaclcheck($mid); if ($perm < AUTH_READ) continue; } else { if (!is_readable($filepath)) continue; @@ -623,7 +623,7 @@ class syntax_plugin_filelist extends DokuWiki_Syntax_Plugin { if (is_dir($filepath)) { $titlefile = $filepath . '/' . $params['titlefile']; if (!$params['direct']) { - $mid = str_replace('/', ':', substr($titlefile, strlen($this->mediadir))); + $mid = $this->_convert_mediapath($titlefile); $perm = auth_quickaclcheck($mid); if (is_readable($titlefile) && $perm >= AUTH_READ) { $filename = io_readFile($titlefile, false); @@ -793,5 +793,10 @@ class syntax_plugin_filelist extends DokuWiki_Syntax_Plugin { return ($path[0] == '/'); } } + + function _convert_mediapath($path) { + $mid = str_replace('/', ':', substr($path, strlen($this->mediadir))); // strip media base dir + return ltrim($mid, ':'); // strip leading : + } }