diff options
author | Dominik Eckelmann <eckelmann@cosmocode.de> | 2012-10-31 16:51:54 +0100 |
---|---|---|
committer | Dominik Eckelmann <eckelmann@cosmocode.de> | 2012-10-31 16:51:54 +0100 |
commit | 8449cc9d82848df24eb88a73dd81d7e048933287 (patch) | |
tree | d2bb1d89985e9ef03930966502db213a8863bdc1 | |
parent | d12bd962d0cacbaad479be04cc953c607212756f (diff) | |
download | rpg-8449cc9d82848df24eb88a73dd81d7e048933287.tar.gz rpg-8449cc9d82848df24eb88a73dd81d7e048933287.tar.bz2 |
added event PAGEUTILS_ID_HIDEPAGE
-rw-r--r-- | _test/tests/inc/PageUtilsIsHiddenPage.test.php (renamed from _test/tests/inc/pageutils_isHiddenPage.test.php) | 14 | ||||
-rw-r--r-- | inc/pageutils.php | 8 |
2 files changed, 21 insertions, 1 deletions
diff --git a/_test/tests/inc/pageutils_isHiddenPage.test.php b/_test/tests/inc/PageUtilsIsHiddenPage.test.php index 8f2fcebea..153d0e8f6 100644 --- a/_test/tests/inc/pageutils_isHiddenPage.test.php +++ b/_test/tests/inc/PageUtilsIsHiddenPage.test.php @@ -1,6 +1,6 @@ <?php -class inc_pageutils_isHiddenPage extends DokuWikiTest { +class PageUtilsIsHiddenPageTest extends DokuWikiTest { function prepare($hidePages = '^:test$', $act = 'show') { global $conf; @@ -33,5 +33,17 @@ class inc_pageutils_isHiddenPage extends DokuWikiTest { $this->assertFalse(isHiddenPage('another')); } + function testEventHandler() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'alwaysHide'); + + $this->assertFalse(isHiddenPage('test')); + } + + function alwaysHide(Doku_Event &$event, $params) { + $event->data['hide'] = true; + } + } //Setup VIM: ex: et ts=4 : diff --git a/inc/pageutils.php b/inc/pageutils.php index 55cc081a1..853d3fb4d 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -538,6 +538,14 @@ function getCacheName($data,$ext=''){ function isHiddenPage($id){ global $conf; global $ACT; + + $data = array( + 'id' => $id, + 'hidden' => false + ); + trigger_event('PAGEUTILS_ID_HIDEPAGE', $id); + + if ($data['hidden']) return true; if(empty($conf['hidepages'])) return false; if($ACT == 'admin') return false; |