Quote:
Originally Posted by JimpsEd
I'd like a modification that turns e-mails into images displaying the image, and makes the image a mailto: link - possible?
In the meantime, this hack is great!
|
I only spotted this and decided to take a look at it .....
1: Upload : emailimage.php (to FORUM ROOT) [ attached at bottom of ]
2: Upload : banner.png (to FORUMROOT/IMAGES) [attached at bottom of post ]
3 : Instead of the original code in functions_bbcodeparse.php use :
Code:
// HACK : START : MASK EMAIL
// return "<a href=\"mailto:$rightlink\">$text</a>";
//
// The following is based on code found at:
// http://hurring.com/code/php/email_protect/
//
//
// These are symbols that mean "@"
//
$ats = array('!@!', '!\&\#64\;!', '!\(at\)!', '! at !');
//
// These are symbols that mean "."
//
$dots = array('!\.!', '!\&\#46\;!', '!\(o\)!', '!\(dot\)!', '! dot !');
//
// The HTML link, utilizing javascript to obfuscate "@" and "."
//
$link = $rightlink;
$link_at = "'+a+'";
$link_dot = "'+d+'";
$link = preg_replace($ats, $link_at, $link);
$link = preg_replace($dots, $link_dot, $link);
//
// The link text, which should be plain-text
//
$disp = $text;
$disp_at = '_at_'; // What should "@" be printed to?
$disp_dot = '_dot_'; // What should "." be printed as?
$disp = preg_replace($ats, $disp_at, $disp);
$disp = preg_replace($dots, $disp_dot, $disp);
//
// Return javascript code to print an email link
//
if ($link) {
return "<script type='text/javascript'>a = unescape('%40');d = unescape('%2e');m = 'mailto:';document.write('<a href=\"'+m+'$link\" border=0><img src=emailimage.php?text=$disp border=0></a>');</script>";
}
// HACK : END : MASK EMAIL
p.s. the only change is changing $disp near the bottom of the code to <img src=emailimage.php?text=$disp border=0> and change what @ and . should change to.
theres still an error with the editing function with this system - and users will have to enter the mail address again if they edit , but it seems to work ok.