summaryrefslogtreecommitdiff
path: root/inc/common.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/common.php')
-rw-r--r--inc/common.php68
1 files changed, 67 insertions, 1 deletions
diff --git a/inc/common.php b/inc/common.php
index b0d7c4c10..891601357 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -238,7 +238,11 @@ function idfilter($id,$ue=true){
*/
function wl($id='',$more='',$abs=false){
global $conf;
- $more = str_replace(',','&',$more);
+ if(is_array($more)){
+ $more = buildURLparams($more);
+ }else{
+ $more = str_replace(',','&',$more);
+ }
$id = idfilter($id);
if($abs){
@@ -262,6 +266,68 @@ function wl($id='',$more='',$abs=false){
}
/**
+ * Build a link to a media file
+ *
+ * Will return a link to the detail page if $direct is false
+ */
+function ml($id='',$more='',$direct=true){
+ global $conf;
+ if(is_array($more)){
+ $more = buildURLparams($more);
+ }else{
+ $more = str_replace(',','&',$more);
+ }
+
+ $xlink = DOKU_BASE;
+
+ // external URLs are always direct without rewriting
+ if(preg_match('#^(https?|ftp)://#i',$id)){
+ $xlink .= 'lib/exe/fetch.php';
+ if($more){
+ $xlink .= '?'.$more;
+ $xlink .= '&media='.$id;
+ }else{
+ $xlink .= '?media='.$id;
+ }
+ return $xlink;
+ }
+
+ $id = idfilter($id);
+
+ // decide on scriptname
+ if($direct){
+ if($conf['userewrite'] == 1){
+ $script = '_media';
+ }else{
+ $script = 'lib/exe/fetch.php';
+ }
+ }else{
+ if($conf['userewrite'] == 1){
+ $script = '_detail';
+ }else{
+ $script = 'lib/exe/detail.php';
+ }
+ }
+
+ // build URL based on rewrite mode
+ if($conf['userewrite']){
+ $xlink .= $script.'/'.$id;
+ if($more) $xlink .= '?'.$more;
+ }else{
+ if($more){
+ $xlink .= '?'.$more;
+ $xlink .= '&media='.$id;
+ }else{
+ $xlink .= '?media='.$id;
+ }
+ }
+
+ return $xlink;
+}
+
+
+
+/**
* Just builds a link to a script
*
* @todo maybe obsolete