Forums / Developer / Clickable emails

Clickable emails

Author Message

David Eriksson

Tuesday 26 July 2005 6:20:06 am

We needed all email addresses to display as clickable mailto-links, and thus instead of hunting around in each and every template we modified the wash function. It doesn't really "wash" anymore, but it was the easiest solution we could find. Since we thus lost the spam filter, we developed a new one as well.

If anyone's interested, here's the patch:

*** lib/eztemplate/classes/eztemplatestringoperator.php Fri Jun 17 10:36:46 2005
--- lib/eztemplate/classes/eztemplatestringoperator.new Tue Jul 26 15:01:49 2005
***************
*** 354,359 ****
--- 354,374 ----
                                                array( $dotText,
                                                       $atText ),
                                                $operatorValue );
+
+               // Remove the spam filter
+               $addr = str_replace('SPAMFILTER', '', strip_tags($operatorValue));
+
+               // Encode to ASCII to prevent spam (since we removed the old spam filter)
+               $mailto = "mailto:";
+
+               $encodedEmail = '';
+               for ($i = 0; $i < strlen($addr); $i++)
+                       $encodedEmail .= '&#' . ord(substr($addr, $i)) . ';';
+
+               $operatorValue = "<a href='" . $mailto . $encodedEmail . "'>" . $encodedEmail . "</a>";
+
+               // done!
+
              } break;

              case 'pdf':

/David

eZ debug

Timing: Jan 15 2025 03:51:52
Script start
Timing: Jan 15 2025 03:51:52
Module start 'content'
Timing: Jan 15 2025 03:51:52
Module end 'content'
Timing: Jan 15 2025 03:51:52
Script end

Main resources:

Total runtime0.1520 sec
Peak memory usage6,144.0000 KB
Database Queries134

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0052 687.6953214.8047
Module start 'content' 0.00530.0042 902.5000185.1797
Module end 'content' 0.00940.1425 1,087.67971,471.3984
Script end 0.1520  2,559.0781 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00553.6511200.0003
Check MTime0.00130.8409200.0001
Mysql Total
Database connection0.00060.409210.0006
Mysqli_queries0.108371.23551340.0008
Looping result0.00120.80481310.0000
Template Total0.142293.510.1422
Template load0.00211.407710.0021
Template processing0.140092.114610.1400
Override
Cache load0.00191.261210.0019
Sytem overhead
Fetch class attribute can translate value0.00090.568410.0009
XML
Image XML parsing0.00030.176510.0003
General
dbfile0.00030.1854140.0000
String conversion0.00000.003330.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs