diff options
author | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 00:34:34 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 00:34:34 +0200 |
commit | 776b36ecb82abfa13cfae70762b30c5f81499555 (patch) | |
tree | 1fd3db8a4dc0f2358904ce9c9b3a425d745512e7 | |
parent | 42905504e134d999710eacf73253844e85cf6fec (diff) | |
download | rpg-776b36ecb82abfa13cfae70762b30c5f81499555.tar.gz rpg-776b36ecb82abfa13cfae70762b30c5f81499555.tar.bz2 |
fix for double encoding when using mailguard
darcs-hash:20051021223434-7ad00-b6364357c2cc0af50bfdd1490debbb198d3ee5a6.gz
-rw-r--r-- | _test/cases/inc/common_obfuscate.test.php | 29 | ||||
-rw-r--r-- | inc/parser/xhtml.php | 10 |
2 files changed, 35 insertions, 4 deletions
diff --git a/_test/cases/inc/common_obfuscate.test.php b/_test/cases/inc/common_obfuscate.test.php new file mode 100644 index 000000000..60042ac19 --- /dev/null +++ b/_test/cases/inc/common_obfuscate.test.php @@ -0,0 +1,29 @@ +<?php + +require_once DOKU_INC.'inc/common.php'; + +class common_obfuscate_test extends UnitTestCase { + + function test_none(){ + global $conf; + $conf['mailguard'] = 'none'; + $this->assertEqual(obfuscate('jon-doe@example.com'), 'jon-doe@example.com'); + } + + function test_hex(){ + global $conf; + $conf['mailguard'] = 'hex'; +print obfuscate('andi@foobar.com'); + $this->assertEqual(obfuscate('jon-doe@example.com'), + 'jon-doe@example.com'); + } + + function test_visible(){ + global $conf; + $conf['mailguard'] = 'visible'; + $this->assertEqual(obfuscate('jon-doe@example.com'), 'jon [dash] doe [at] example [dot] com'); + } + + +} +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index d1e7a2354..d0f24d26f 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -671,9 +671,9 @@ class Doku_Renderer_xhtml extends Doku_Renderer { //we just test for image here - we need to encode the title our self $this->_getLinkTitle($name, $address, $isImage); if ( !$isImage ) { - $link['class']='mail'; + $link['class']='mail JSnocheck'; } else { - $link['class']='media'; + $link['class']='media JSnocheck'; } $address = $this->_xmlEntities($address); @@ -684,8 +684,10 @@ class Doku_Renderer_xhtml extends Doku_Renderer { }else{ $name = $this->_xmlEntities($name); } - - $link['url'] = 'mailto:'.rawurlencode($address); + + if($conf['mailguard'] == 'visible') $address = rawurlencode($address); + + $link['url'] = 'mailto:'.$address; $link['name'] = $name; $link['title'] = $title; |