From 776b36ecb82abfa13cfae70762b30c5f81499555 Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Sat, 22 Oct 2005 00:34:34 +0200 Subject: [PATCH] fix for double encoding when using mailguard darcs-hash:20051021223434-7ad00-b6364357c2cc0af50bfdd1490debbb198d3ee5a6.gz --- _test/cases/inc/common_obfuscate.test.php | 29 +++++++++++++++++++++++ inc/parser/xhtml.php | 10 ++++---- 2 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 _test/cases/inc/common_obfuscate.test.php 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; -- GitLab