diff options
author | Guy Brand <gb@unistra.fr> | 2013-03-06 14:08:08 +0100 |
---|---|---|
committer | Guy Brand <gb@unistra.fr> | 2013-03-06 14:08:08 +0100 |
commit | 23678e344b4ddcad14254c106ecb93af174fdaa0 (patch) | |
tree | a5c787e4d87313a7fb6f18cb4c78bf210d92d60c /inc/pageutils.php | |
parent | 847cef0a6bfd2ff9dc54e1fc140f5ba0ece0017a (diff) | |
parent | 5721a1547938df76003c6d91ea003dc1c70abd94 (diff) | |
download | rpg-23678e344b4ddcad14254c106ecb93af174fdaa0.tar.gz rpg-23678e344b4ddcad14254c106ecb93af174fdaa0.tar.bz2 |
Merge branch 'master' into stable
Diffstat (limited to 'inc/pageutils.php')
-rw-r--r-- | inc/pageutils.php | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/inc/pageutils.php b/inc/pageutils.php index 55cc081a1..ca4936a82 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -115,11 +115,10 @@ function cleanID($raw_id,$ascii=false,$media=false){ $id = utf8_strtolower($id); //alternative namespace seperator - $id = strtr($id,';',':'); if($conf['useslash']){ - $id = strtr($id,'/',':'); + $id = strtr($id,';/','::'); }else{ - $id = strtr($id,'/',$sepchar); + $id = strtr($id,';/',':'.$sepchar); } if($conf['deaccent'] == 2 || $ascii) $id = utf8_romanize($id); @@ -536,15 +535,25 @@ function getCacheName($data,$ext=''){ * @author Andreas Gohr <gohr@cosmocode.de> */ function isHiddenPage($id){ + $data = array( + 'id' => $id, + 'hidden' => false + ); + trigger_event('PAGEUTILS_ID_HIDEPAGE', $data, '_isHiddenPage'); + return $data['hidden']; +} + +function _isHiddenPage(&$data) { global $conf; global $ACT; - if(empty($conf['hidepages'])) return false; - if($ACT == 'admin') return false; - if(preg_match('/'.$conf['hidepages'].'/ui',':'.$id)){ - return true; + if ($data['hidden']) return; + if(empty($conf['hidepages'])) return; + if($ACT == 'admin') return; + + if(preg_match('/'.$conf['hidepages'].'/ui',':'.$data['id'])){ + $data['hidden'] = true; } - return false; } /** @@ -635,6 +644,7 @@ function utf8_decodeFN($file){ * @return string|false the full page id of the found page, false if any */ function page_findnearest($page){ + if (!$page) return false; global $ID; $ns = $ID; |