From fd8d40e7411aaad6191d3cc2caae8a1c9bc87585 Mon Sep 17 00:00:00 2001 From: x2003bruneau Date: Sun, 28 Jan 2007 16:50:43 +0000 Subject: [PATCH] Better email-hidder Fix transcoding from CP1252 to Latin9 git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1420 839d8a87-29fc-0310-9880-83ba4fa771e5 --- classes/env.php | 7 ++++++- classes/platalpage.php | 10 +++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/classes/env.php b/classes/env.php index a40538c..22a5b7d 100644 --- a/classes/env.php +++ b/classes/env.php @@ -176,7 +176,12 @@ if (ini_get('magic_quotes_gpc') && empty($DONT_FIX_GPC)) { array_walk($_COOKIE, 'fix_gpc_magic'); array_walk($_REQUEST, 'fix_gpc_magic'); } -array_walk($_POST, 'fix_encoding'); +if (empty($DONT_FIX_ENCODING)) { + array_walk($_GET, 'fix_encoding'); + array_walk($_POST, 'fix_encoding'); + array_walk($_COOKIE, 'fix_encoding'); + array_walk($_REQUEST, 'fix_encoding'); +} // vim:set et sw=4 sts=4 sws=4 foldmethod=marker: ?> diff --git a/classes/platalpage.php b/classes/platalpage.php index 26f1ee6..fad9a66 100644 --- a/classes/platalpage.php +++ b/classes/platalpage.php @@ -315,15 +315,15 @@ function hide_emails($source, &$smarty) } //catch all emails in - preg_match_all("!]+href=[\"'][^\"']*[-a-z0-9_.]+@[-a-z0-9_.]+[^\"']*[\"'][^>]*>.*?!is", $source, $ahref); - $source = preg_replace("!]+href=[\"'][^\"']*[-a-z0-9_.]+@[-a-z0-9_.]+[^\"']*[\"'][^>]*>.*?!is", '&&&ahref&&&', $source); + preg_match_all("!]+href=[\"'][^\"']*[-a-z0-9+_.]+@[-a-z0-9_.]+[^\"']*[\"'][^>]*>.*?!is", $source, $ahref); + $source = preg_replace("!]+href=[\"'][^\"']*[-a-z0-9+_.]+@[-a-z0-9_.]+[^\"']*[\"'][^>]*>.*?!is", '&&&ahref&&&', $source); //prevant replacement in tag attributes - preg_match_all("!<[^>]+[-a-z0-9_.]+@[-a-z0-9_.]+[^>]+>!is", $source, $misc); - $source = preg_replace("!<[^>]+[-a-z0-9_.]+@[-a-z0-9_.]+[^>]+>!is", '&&&misc&&&', $source); + preg_match_all("!<[^>]+[-a-z0-9_+.]+@[-a-z0-9_.]+[^>]+>!is", $source, $misc); + $source = preg_replace("!<[^>]+[-a-z0-9_+.]+@[-a-z0-9_.]+[^>]+>!is", '&&&misc&&&', $source); //catch ! - $source = preg_replace('!([-a-z0-9_.]+@[-a-z0-9_.]+)!ie', '_hide_email("\1")', $source); + $source = preg_replace('!([-a-z0-9_+.]+@[-a-z0-9_.]+)!ie', '_hide_email("\1")', $source); $source = preg_replace('!&&&ahref&&&!e', '_hide_email(array_shift($ahref[0]))', $source); // restore data -- 2.1.4