From 60a396c8ac50f17c2e3f43a9533af86cf6976976 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Tue, 4 Feb 2014 00:34:12 +0100 Subject: wrap userlink building with event. Implements an event which can modify the link below usernames, and the displayed user name. When no name supplied, the name of currently logged-in user is used. --- inc/template.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 0a6a9e4aa..ba7279636 100644 --- a/inc/template.php +++ b/inc/template.php @@ -885,9 +885,8 @@ function tpl_youarehere($sep = ' » ') { */ function tpl_userinfo() { global $lang; - global $INFO; if(isset($_SERVER['REMOTE_USER'])) { - print $lang['loggedinas'].': '.hsc($INFO['userinfo']['name']).' ('.hsc($_SERVER['REMOTE_USER']).')'; + print $lang['loggedinas'].': '.userinfo(); return true; } return false; -- cgit v1.2.3 From becfa414b5b024ded4e094b1c113a72f39d8b763 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Tue, 25 Feb 2014 15:45:00 +0100 Subject: refactor detail.php to template.php - refactor detail en mediamanager link creation - refactor metadata listing --- inc/template.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 92 insertions(+), 6 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 0a6a9e4aa..aa3c658a8 100644 --- a/inc/template.php +++ b/inc/template.php @@ -548,6 +548,7 @@ function tpl_actionlink($type, $pre = '', $suf = '', $inner = '', $return = fals * @var string $method * @var bool $nofollow * @var array $params + * @var string $replacement */ extract($data); if(strpos($id, '#') === 0) { @@ -556,6 +557,9 @@ function tpl_actionlink($type, $pre = '', $suf = '', $inner = '', $return = fals $linktarget = wl($id, $params); } $caption = $lang['btn_'.$type]; + if(strpos($caption, '%s')){ + $caption = sprintf($caption, $replacement); + } $akey = $addTitle = ''; if($accesskey) { $akey = 'accesskey="'.$accesskey.'" '; @@ -609,11 +613,12 @@ function tpl_get_action($type) { if ($type == 'subscription') $type = 'subscribe'; if(!actionOK($type)) return false; - $accesskey = null; - $id = $ID; - $method = 'get'; - $params = array('do' => $type); - $nofollow = true; + $accesskey = null; + $id = $ID; + $method = 'get'; + $params = array('do' => $type); + $nofollow = true; + $replacement = ''; switch($type) { case 'edit': // most complicated type - we need to decide on current action @@ -670,6 +675,11 @@ function tpl_get_action($type) { $params = array(); $accesskey = 'b'; break; + case 'img_backto': + $params = array(); + $accesskey = 'b'; + $replacement = $ID; + break; case 'login': $params['sectok'] = getSecurityToken(); if(isset($_SERVER['REMOTE_USER'])) { @@ -717,11 +727,26 @@ function tpl_get_action($type) { case 'media': $params['ns'] = getNS($ID); break; + case 'mediaManager': + // View image in media manager + global $IMG; + $imgNS = getNS($IMG); + $authNS = auth_quickaclcheck("$imgNS:*"); + if ($authNS < AUTH_UPLOAD) { + return false; + } + $params = array( + 'ns' => $imgNS, + 'image' => $IMG, + 'do' => 'media' + ); + //$type = 'media'; + break; default: return '[unknown %s type]'; break; } - return compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow'); + return compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow', 'replacement'); } /** @@ -1016,6 +1041,67 @@ function tpl_img_getTag($tags, $alt = '', $src = null) { return $info; } +/** + * Returns a description list of the metatags of the current image + * + * @return string html of description list + */ +function tpl_img_meta() { + global $lang; + + $tags = tpl_get_img_meta(); + + echo '
'; + foreach($tags as $tag) { + $label = $lang[$tag['langkey']]; + if(!$label) $label = $tag['langkey']; + + echo '
'.$label.':
'; + if ($tag['type'] == 'date') { + echo dformat($tag['value']); + } else { + echo hsc($tag['value']); + } + echo '
'; + } + echo '
'; +} + +/** + * Returns metadata as configured in mediameta config file, ready for creating html + * + * @return array with arrays containing the entries: + * - string langkey key to lookup in the $lang var, if not found printed as is + * - string type type of value + * - string value tag value (unescaped) + */ +function tpl_get_img_meta() { + + $config_files = getConfigFiles('mediameta'); + foreach ($config_files as $config_file) { + if(@file_exists($config_file)) { + include($config_file); + } + } + /** @var array $fields the included array with metadata */ + + $tags = array(); + foreach($fields as $tag){ + $t = array(); + if (!empty($tag[0])) { + $t = array($tag[0]); + } + if(is_array($tag[3])) { + $t = array_merge($t,$tag[3]); + } + $value = tpl_img_getTag($t); + if ($value) { + $tags[] = array('langkey' => $tag[1], 'type' => $tag[2], 'value' => $value); + } + } + return $tags; +} + /** * Prints the image with a link to the full sized version * -- cgit v1.2.3 From 2f2c518c20d6e55e20e9fc2fb0ec2053854b0d1b Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Tue, 25 Feb 2014 19:59:29 +0100 Subject: Show 'not logged in' only when logged out FS#2124 --- inc/template.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 0a6a9e4aa..c9d583d98 100644 --- a/inc/template.php +++ b/inc/template.php @@ -154,7 +154,7 @@ function tpl_content_core() { html_resendpwd(); break; case 'denied': - print p_locale_xhtml('denied'); + html_denied(); break; case 'profile' : html_updateprofile(); -- cgit v1.2.3 From f87b5dbbbad408da775ac4c60ceb9f9666280527 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 5 Mar 2014 22:04:14 +0000 Subject: use isset() + ?: or error suppression where value may not be set --- inc/template.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 0a6a9e4aa..d9aa8863f 100644 --- a/inc/template.php +++ b/inc/template.php @@ -210,7 +210,7 @@ function tpl_toc($return = false) { } else { $tocok = true; } - $toc = $meta['description']['tableofcontents']; + $toc = isset($meta['description']['tableofcontents']) ? $meta['description']['tableofcontents'] : null; if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']) { $toc = array(); } -- cgit v1.2.3 From d30d491370b894b5c76e28362a0a3313f74a439e Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 5 Mar 2014 22:06:18 +0000 Subject: set empty 'do' key to avoid errors in other tpl functions --- inc/template.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index d9aa8863f..c0dfbb845 100644 --- a/inc/template.php +++ b/inc/template.php @@ -637,7 +637,7 @@ function tpl_get_action($type) { $accesskey = 'v'; } } else { - $params = array(); + $params = array('do' => ''); $type = 'show'; $accesskey = 'v'; } @@ -658,7 +658,7 @@ function tpl_get_action($type) { break; case 'top': $accesskey = 't'; - $params = array(); + $params = array('do' => ''); $id = '#dokuwiki__top'; break; case 'back': @@ -667,7 +667,7 @@ function tpl_get_action($type) { return false; } $id = $parent; - $params = array(); + $params = array('do' => ''); $accesskey = 'b'; break; case 'login': -- cgit v1.2.3 From 585bf44e2b756eac2e1cfce7035ef237bc02a788 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Thu, 6 Mar 2014 19:55:56 +0000 Subject: amend $_SERVER to $INPUT->server --- inc/template.php | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index c0dfbb845..88964fada 100644 --- a/inc/template.php +++ b/inc/template.php @@ -291,6 +291,8 @@ function tpl_metaheaders($alt = true) { global $lang; global $conf; global $updateVersion; + /** @var Input $INPUT */ + global $INPUT; // prepare the head array $head = array(); @@ -401,7 +403,7 @@ function tpl_metaheaders($alt = true) { // make $INFO and other vars available to JavaScripts $json = new JSON(); $script = "var NS='".$INFO['namespace']."';"; - if($conf['useacl'] && !empty($_SERVER['REMOTE_USER'])) { + if($conf['useacl'] && $INPUT->server->str('REMOTE_USER')) { $script .= "var SIG='".toolbar_signature()."';"; } $script .= 'var JSINFO = '.$json->encode($JSINFO).';'; @@ -603,6 +605,8 @@ function tpl_get_action($type) { global $REV; global $ACT; global $conf; + /** @var Input $INPUT */ + global $INPUT; // check disabled actions and fix the badly named ones if($type == 'history') $type = 'revisions'; @@ -672,7 +676,7 @@ function tpl_get_action($type) { break; case 'login': $params['sectok'] = getSecurityToken(); - if(isset($_SERVER['REMOTE_USER'])) { + if($INPUT->server->has('REMOTE_USER')) { if(!actionOK('logout')) { return false; } @@ -681,12 +685,12 @@ function tpl_get_action($type) { } break; case 'register': - if(!empty($_SERVER['REMOTE_USER'])) { + if($INPUT->server->str('REMOTE_USER')) { return false; } break; case 'resendpwd': - if(!empty($_SERVER['REMOTE_USER'])) { + if($INPUT->server->str('REMOTE_USER')) { return false; } break; @@ -703,14 +707,14 @@ function tpl_get_action($type) { $params['sectok'] = getSecurityToken(); break; case 'subscribe': - if(!$_SERVER['REMOTE_USER']) { + if(!$INPUT->server->str('REMOTE_USER')) { return false; } break; case 'backlink': break; case 'profile': - if(!isset($_SERVER['REMOTE_USER'])) { + if(!$INPUT->server->has('REMOTE_USER')) { return false; } break; @@ -886,8 +890,11 @@ function tpl_youarehere($sep = ' » ') { function tpl_userinfo() { global $lang; global $INFO; - if(isset($_SERVER['REMOTE_USER'])) { - print $lang['loggedinas'].': '.hsc($INFO['userinfo']['name']).' ('.hsc($_SERVER['REMOTE_USER']).')'; + /** @var Input $INPUT */ + global $INPUT; + + if($INPUT->server->str('REMOTE_USER')) { + print $lang['loggedinas'].': '.hsc($INFO['userinfo']['name']).' ('.hsc($INPUT->server->str('REMOTE_USER')).')'; return true; } return false; @@ -1030,6 +1037,7 @@ function tpl_img_getTag($tags, $alt = '', $src = null) { */ function tpl_img($maxwidth = 0, $maxheight = 0, $link = true, $params = null) { global $IMG; + /** @var Input $INPUT */ global $INPUT; $w = tpl_img_getTag('File.Width'); $h = tpl_img_getTag('File.Height'); @@ -1242,6 +1250,7 @@ function tpl_mediaContent($fromajax = false, $sort='natural') { global $INUSE; global $NS; global $JUMPTO; + /** @var Input $INPUT */ global $INPUT; $do = $INPUT->extract('do')->str('do'); @@ -1291,6 +1300,7 @@ function tpl_mediaFileList() { global $NS; global $JUMPTO; global $lang; + /** @var Input $INPUT */ global $INPUT; $opened_tab = $INPUT->str('tab_files'); @@ -1331,7 +1341,9 @@ function tpl_mediaFileList() { * @author Kate Arzamastseva */ function tpl_mediaFileDetails($image, $rev) { - global $AUTH, $NS, $conf, $DEL, $lang, $INPUT; + global $AUTH, $NS, $conf, $DEL, $lang; + /** @var Input $INPUT */ + global $INPUT; $removed = (!file_exists(mediaFN($image)) && file_exists(mediaMetaFN($image, '.changes')) && $conf['mediarevisions']); if(!$image || (!file_exists(mediaFN($image)) && !$removed) || $DEL) return; @@ -1409,12 +1421,14 @@ function tpl_actiondropdown($empty = '', $button = '>') { global $ID; global $REV; global $lang; + /** @var Input $INPUT */ + global $INPUT; echo '
'; echo '
'; echo ''; if($REV) echo ''; - if (!empty($_SERVER['REMOTE_USER'])) { + if ($INPUT->server->str('REMOTE_USER')) { echo ''; } @@ -1780,11 +1794,14 @@ function tpl_media() { */ function tpl_classes() { global $ACT, $conf, $ID, $INFO; + /** @var Input $INPUT */ + global $INPUT; + $classes = array( 'dokuwiki', 'mode_'.$ACT, 'tpl_'.$conf['template'], - !empty($_SERVER['REMOTE_USER']) ? 'loggedIn' : '', + $INPUT->server->bool('REMOTE_USER') ? 'loggedIn' : '', $INFO['exists'] ? '' : 'notFound', ($ID == $conf['start']) ? 'home' : '', ); -- cgit v1.2.3 From cd4635ee7f07ae17e1b2a58d8d9e6620ddb077ef Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Sun, 16 Mar 2014 21:10:43 +0100 Subject: Rename userinfo() to userlink() --- inc/template.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 5a3bdea6a..ea65b9d43 100644 --- a/inc/template.php +++ b/inc/template.php @@ -893,7 +893,7 @@ function tpl_userinfo() { global $INPUT; if($INPUT->server->str('REMOTE_USER')) { - print $lang['loggedinas'].': '.userinfo(); + print $lang['loggedinas'].': '.userlink(); return true; } return false; -- cgit v1.2.3