From 2adaf2b8a608f4a1ac3fe0dba94ff28d7a0d48e5 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Nov 2011 12:18:09 +0100 Subject: allow non-txt extensions when accessing locales --- inc/pageutils.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index 31b5f9ff9..c355d4894 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -347,27 +347,29 @@ function mediaFN($id, $rev=''){ if(empty($rev)){ $fn = $conf['mediadir'].'/'.utf8_encodeFN($id); }else{ - $ext = mimetype($id); - $name = substr($id,0, -1*strlen($ext[0])-1); + $ext = mimetype($id); + $name = substr($id,0, -1*strlen($ext[0])-1); $fn = $conf['mediaolddir'].'/'.utf8_encodeFN($name .'.'.( (int) $rev ).'.'.$ext[0]); } return $fn; } /** - * Returns the full filepath to a localized textfile if local + * Returns the full filepath to a localized file if local * version isn't found the english one is returned * + * @param string $id The id of the local file + * @param string $ext The file extension (usually txt) * @author Andreas Gohr */ -function localeFN($id){ +function localeFN($id,$ext='txt'){ global $conf; - $file = DOKU_CONF.'/lang/'.$conf['lang'].'/'.$id.'.txt'; + $file = DOKU_CONF.'/lang/'.$conf['lang'].'/'.$id.'.'.$ext; if(!@file_exists($file)){ - $file = DOKU_INC.'inc/lang/'.$conf['lang'].'/'.$id.'.txt'; + $file = DOKU_INC.'inc/lang/'.$conf['lang'].'/'.$id.'.'.$ext; if(!@file_exists($file)){ //fall back to english - $file = DOKU_INC.'inc/lang/en/'.$id.'.txt'; + $file = DOKU_INC.'inc/lang/en/'.$id.'.'.$ext; } } return $file; -- cgit v1.2.3 From 63703ba5bd81f50c43bc45f8bf79c514afa3ee49 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 16 Mar 2012 12:09:30 +0100 Subject: coding style updates --- inc/pageutils.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index 151fa5987..db00258e2 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -213,9 +213,9 @@ function sectionID($title,&$check) { if(is_array($check)){ // make sure tiles are unique if (!array_key_exists ($title,$check)) { - $check[$title] = 0; + $check[$title] = 0; } else { - $title .= ++ $check[$title]; + $title .= ++ $check[$title]; } } @@ -347,8 +347,8 @@ function mediaFN($id, $rev=''){ if(empty($rev)){ $fn = $conf['mediadir'].'/'.utf8_encodeFN($id); }else{ - $ext = mimetype($id); - $name = substr($id,0, -1*strlen($ext[0])-1); + $ext = mimetype($id); + $name = substr($id,0, -1*strlen($ext[0])-1); $fn = $conf['mediaolddir'].'/'.utf8_encodeFN($name .'.'.( (int) $rev ).'.'.$ext[0]); } return $fn; -- cgit v1.2.3 From 7d01a0eac854c623a74ff7936d5eba9413aefe79 Mon Sep 17 00:00:00 2001 From: Tom N Harris Date: Wed, 27 Jun 2012 02:48:49 -0400 Subject: more INPUT wrapper uses: cache purge, sectok, getID --- inc/pageutils.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index c94d14624..95f791364 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -19,9 +19,10 @@ * @author Andreas Gohr */ function getID($param='id',$clean=true){ + global $INPUT; global $conf; - $id = isset($_REQUEST[$param]) ? $_REQUEST[$param] : null; + $id = $INPUT->str($param); //construct page id from request URI if(empty($id) && $conf['userewrite'] == 2){ -- cgit v1.2.3 From e66d3e6dfa7ba6f0cf55b58f0b00b66b52c98321 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 1 Jul 2012 11:41:22 +0200 Subject: Improved sidebar inclusion Template authors now can use tpl_sidebar() to include the sidebar. Sidebars can be defined in subnamespaces as well --- inc/pageutils.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index c94d14624..f525c44d0 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -622,3 +622,27 @@ function utf8_decodeFN($file){ return urldecode($file); } +/** + * Find a page in the current namespace (determined from $ID) or any + * higher namespace + * + * Used for sidebars, but can be used other stuff as well + * + * @todo add event hook + * @param string $page the pagename you're looking for + * @return string|false the full page id of the found page, false if any + */ +function page_findnearest($page){ + global $ID; + + $ns = $ID; + do { + $ns = getNS($ns); + $pageid = ltrim("$ns:$page",':'); + if(page_exists($pageid)){ + return $pageid; + } + } while($ns); + + return false; +} -- cgit v1.2.3 From 3009a773c06e6e5d731c42b12ad82272f9706f03 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 28 Jul 2012 10:40:48 +0200 Subject: replaced use of basename() with utf8_basename() FS#2015 --- inc/pageutils.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index 5e741c491..d6abff894 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -35,7 +35,7 @@ function getID($param='id',$clean=true){ if($param != 'id') { $relpath = 'lib/exe/'; } - $script = $conf['basedir'].$relpath.basename($_SERVER['SCRIPT_FILENAME']); + $script = $conf['basedir'].$relpath.utf8_basename($_SERVER['SCRIPT_FILENAME']); }elseif($_SERVER['PATH_INFO']){ $request = $_SERVER['PATH_INFO']; -- cgit v1.2.3 From c857afe0fad63243c0edb6067c1bb9678d552df0 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Fri, 24 Aug 2012 14:31:13 +0200 Subject: Allow the $check parameter of sectionID to be false --- inc/pageutils.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc/pageutils.php') diff --git a/inc/pageutils.php b/inc/pageutils.php index d6abff894..55cc081a1 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -199,7 +199,8 @@ function noNSorNS($id) { * Creates a XHTML valid linkid from a given headline title * * @param string $title The headline title - * @param array $check Existing IDs (title => number) + * @param array|bool $check Existing IDs (title => number) + * @return string the title * @author Andreas Gohr */ function sectionID($title,&$check) { -- cgit v1.2.3