CINXE.COM

Obfuscate E-mail | coffee2code.com

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> <head profile="http://gmpg.org/xfn/11"><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://coffee2code.com:80/wp-plugins/obfuscate-email/","20130120173127","https://web.archive.org/","web","/_static/", "1358703087"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="verify-v1" content="bYma8A8ty+nMd5pUG9BorKvNeaNjWArdzhaeUrfKL60="/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title> Obfuscate E-mail | coffee2code.com</title> <link rel="stylesheet" href="https://web.archive.org/web/20130120173127cs_/http://coffee2code.com/wp-content/themes/c2c/style.css" type="text/css" media="screen"/> <!--[if lte IE 6]> <script type="text/javascript" src="/wp-content/supersleight-min.js"></script> <![endif]--> <link rel="alternate" type="application/rss+xml" title="coffee2code.com RSS Feed" href="https://web.archive.org/web/20130120173127/http://coffee2code.com/feed/"/> <!--link rel="pingback" href="http://coffee2code.com/xmlrpc.php" /--> <link rel="alternate" type="application/rss+xml" title="coffee2code.com 禄 Obfuscate E-mail Comments Feed" href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/obfuscate-email/feed/"/> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://coffee2code.com/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://coffee2code.com/wp-includes/wlwmanifest.xml"/> <link rel="prev" title="Auto-hyperlink URLs" href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/auto-hyperlink-urls/"/> <link rel="next" title="Custom Admin Post Listing" href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/custom-admin-post-listing/"/> <link rel="canonical" href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/obfuscate-email/"/> <style type="text/css">.c2c-blog-time-widget-time {display:none;}#wpadminbar .c2c-blog-time-widget-display a {padding:0;}</style> <script type="text/javascript">var ajaxurl = 'https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-admin/admin-ajax.php';</script> <style type="text/css"> span.oe_textdirection { unicode-bidi:bidi-override; direction: rtl; } span.oe_displaynone { display:none; } </style> </head> <body> <div id="page"> <ul id="mainnav"> <li class="first"><a href="/web/20130120173127/http://coffee2code.com/">Home</a></li> <li><a href="/web/20130120173127/http://coffee2code.com/wp-plugins">WordPress Plugins</a></li> <li><a href="/web/20130120173127/http://coffee2code.com/about">About</a></li> <li class="search"><form method="get" id="searchform" action="/web/20130120173127/http://coffee2code.com/index.php"> <input type="text" value="" name="s" id="s"/> <input type="submit" id="searchsubmit" value="Search"/> </form></li> </ul> <div id="head"> <h1>coffee2code</h1> <a href="/web/20130120173127/http://coffee2code.com/"><img src="/web/20130120173127im_/http://coffee2code.com/wp-content/themes/c2c/images/logobg.png" alt="coffee2code"/></a> <div class="description2">Always Brewing.</div> </div> <!--div id="promo"> <a href="http://coffee2code.com/archives/2009/04/06/on-the-road-to-50-plugins/" title="On the Road to 50 Plugins">On the Road to 50 Plugins</a> happening now. Stay tuned! </div--> <!--div id="header"> <div id="headerimg"> <h1><a href="http://coffee2code.com/">coffee2code.com</a></h1> <div class="description">pro-gram-mer: n. a person who converts coffee into code</div> </div> </div--> <div id="content"> <div id="main"> <div class="post" id="post-65"> <h2>Obfuscate E-mail</h2> <div class="entry"> <dl id="plugin"> <dd class="attrib">Author:<span>Scott Reilly</span></dd> <dd class="attrib">Version:<span>3.1</span></dd> <dd class="attrib">Last update:<span>2011-07-29</span></dd> <dd class="attrib">Compatibility:<span>WP 3.1 &#8211; 3.3.2</span></dd> <dd class="attrib">Comments:<span><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/01/04/obfuscate-email-v3-1/">go here</a></span></dd> <dd class="attrib">Download:<span>[ <a href="https://web.archive.org/web/20130120173127/http://downloads.wordpress.org/plugin/obfuscate-email.3.1.zip">zip</a> ]</span></dd> <dd class="longtext">Description:</p> <div> <p>Obfuscate e-mail addresses to deter e-mail harvesting spammers, while retaining the appearance and functionality of hyperlinks.</p> </div> </dd> <p><!--more--></p> <dd> <h3>Extended Description</h3> <div> <p>Obfuscate e-mail addresses to deter e-mail harvesting spammers, while retaining the appearance and functionality of hyperlinks.</p> <p>&#8220;Obfuscation&#8221; simply means that techniques are employed to modify e-mail address strings that appear on your site in such a way that bots scraping your site are unable to identify those addresses; however, at the same time those e-mails addresses should still look and work correctly for visitors, as much as possible.</p> <p>The plugin allows for use of one or more (or all!) of three proven techniques for email protection. While techniques abound for e-mail obfuscation, the three techniques included empirically provide you with the best balance of e-mail address protection with minimal impact on visitors. You can decide on a technique by technique basis which ones you&#8217;d like to employ as some have potential drawbacks. The plugin&#8217;s settings page allows you select which techniques to use.</p> <p>See Filters section for <code>c2c_obfuscate_email_filters</code> for complete list of filters that are processed.</p> <p>Please read the Details section of this documentation to learn more about the techniques employed.</p> <p>Find out more at <a href="https://web.archive.org/web/20130120173127/http://wordpress.org/extend/plugins/obfuscate-email/">the plugin&#8217;s WordPress Plugin Repository page</a>.</p> </div> </dd> <dd class="screenshot"> <h3>Screenshots</h3> <p><em>Click to see full-size image.</em></p> <ul> <li><a href="https://web.archive.org/web/20130120173127/http://s.wordpress.org/extend/plugins/obfuscate-email/screenshot-1.png?r=655796"><a href="https://web.archive.org/web/20130120173127/http://s.wordpress.org/extend/plugins/obfuscate-email/screenshot-1.png?r=655796" title="Click to view full-size screenshot 1"><img class="screenshot" src="https://web.archive.org/web/20130120173127im_/http://s.wordpress.org/extend/plugins/obfuscate-email/screenshot-1.png?r=655796" alt="obfuscate-email screenshot 1"/></a> <p class="caption">A screenshot of the plugin&#8217;s admin options page.</p> </li> </ul> </dd> <dd><a name="installation"></a><br/> <h3>Installation</h3> <div> <ol> <li>Whether installing or updating, whether this plugin or any other, it is always advisable to back-up your data before starting</li> <li>Unzip <code>obfuscate-email.zip</code> inside the <code>/wp-content/plugins/</code> directory for your site (or install via the built-in WordPress plugin installer)</li> <li>Activate the plugin through the &#8216;Plugins&#8217; admin menu in WordPress</li> <li>Go to <code>Settings</code> -&#62; <code>Obfuscate E-mail</code> admin options page (which you can also get to via the Settings link next to the plugin on the Manage Plugins page) and optionally customize the settings.</li> </ol> </div> </dd> <dd> <h3>Details</h3> <p>The e-mail obfuscation techniques included in this plugin were chosen for their effectiveness and general applicability with minimal impact on users. I urge you to read about an <a href="https://web.archive.org/web/20130120173127/http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/">experiment</a> performed by Silvan M&#252;hlemann in which he protected e-mail addresses using nine different techniques. He ensured the page containing those e-mail addresses got indexed by Google and then waited 1.5 years. During that time he measured the amount of spam received to each of the e-mail addresses.</p> <p>Three techniques stood out as having received <em>zero</em> spam e-mails during that time. Two of those three techniques are included in this plugin. The fourth technique is also included even though it did get a very small amount of spam &#8212; the technique was still very effective and more importantly does not rely on users to have CSS or JavaScript enabled.</p> <p>The techniques are as follows. All three are enabled by default. Weigh the requirements against what you&#8217;re comfortable requiring of visitors in order for them to see and make use of e-mail addresses you post on your site.</p> <p>(For all the examples below, assume you have the link <code>&#60;a href="mailto:<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@example.com" title="mailto:person@example.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>"&#62;<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@example.com" title="mailto:person@example.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>&#60;/a&#62;</code> in your post.)</p> <h4>Changing text direction with CSS</h4> <ul> <li> <p><em>How does it work?</em> The email addresses are sent reversed in the markup. Using CSS, the text gets reversed so that visitors see the email addresses as intended. Email scrapers don&#8217;t recognize the emails in their reversed form and don&#8217;t typically utilize a CSS engine to help determine how text would look onscreen.</p> </li> <li> <p><em>Uses CSS?</em> Yes, which means if a visitor does not have CSS enabled, the emails will appear backwards to them.</p> </li> <li> <p><em>Uses JavasScript?</em> No.</p> </li> <li> <p><em>Can visitor copy-n-paste the link from onscreen text without needing to make modifications?</em> No, but a &#8220;copy link address&#8221; will work properly.</p> </li> <li> <p><em>Does this protect emails appearing in mailto: links and within HTML tag attributes?</em> No.</p> </li> <li> <p><em>How effective is this?</em> In the aforementioned experiment, no spam emails were received when using just this technique.</p> </li> <li> <p><em>Example</em>:</p> <p><code>&#60;a href="mailto:<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@example.com" title="mailto:person@example.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>"&#62;&#60;span class="codedirection"&#62;moc.elpmaxe@nosrep&#60;/span&#62;&#60;/a&#62;</code></p> </li> </ul> <h4>Using CSS display:none</h4> <ul> <li> <p><em>How does it work?</em> Garbage text, wrapped in span tags, is inserted into any displayed email addresses. Using CSS, the text gets hidden so that visitors see the email addresses as intended. Email scrapers don&#8217;t typically utilize a CSS engine to help determine how text would look onscreen.</p> </li> <li> <p><em>Uses CSS?</em> Yes, which means if a visitor does not have CSS enabled, the emails will appear with extra text in them.</p> </li> <li> <p><em>Uses JavasScript?</em> No.</p> </li> <li> <p><em>Can visitor copy-n-paste the link from onscreen text without needing to make modifications?</em> Yes (unless they have CSS disabled).</p> </li> <li> <p><em>Does this protect emails appearing in mailto: links and within HTML tag attributes?</em> No.</p> </li> <li> <p><em>How effective is this?</em> In the aforementioned experiment, no spam emails were received when using just this technique.</p> </li> <li> <p><em>Example</em></p> <p><code>&#60;a href="mailto:<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@example.com" title="mailto:person@example.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>"&#62;person@&#60;span class="displaynone"&#62;null&#60;/span&#62;example.com&#60;/a&#62;</code></p> </li> </ul> <h4>Replacing the `@` and `.` characters</h4> <ul> <li> <p><em>How does it work?</em> The <code>@</code> and <code>.</code> characters are replaced with alternative strings, such as <code>AT</code> and <code>DOT</code>, respectively. The exact replacements are configurable on the plugin&#8217;s settings page. By default, if you don&#8217;t specify custom replacements, the plugin will use entity substitution (<code>@</code> becomes <code>&#064;</code> and <code>.</code> becomes <code>&#046;</code>).</p> </li> <li> <p><em>Uses CSS?</em> No.</p> </li> <li> <p><em>Uses JavasScript?</em> No.</p> </li> <li> <p><em>Can visitor copy-n-paste the link from onscreen text without needing to make modifications?</em> No, though it should (hopefully) be clear to the user what they need to replace.</p> </li> <li> <p><em>Does this protect emails appearing in mailto: links and within HTML tag attributes?</em> Yes, though if you specify custom replacement strings visitors clicking on a mailto link will have to modify the email address that shows up in their mail program.</p> </li> <li> <p><em>How effective is this?</em> In the aforementioned experiment, almost no spam emails were received when using just this technique. However, this technique does not require the support of any particular client-side techniques (CSS or JavaScript).</p> </li> <li> <p><em>Examples</em></p> <ul> <li>Custom AT and DOT replacements <ul> <li><code>&#60;a href="mailto:personATexampleDOTcom"&#62;personATexampleDOTcom&#60;/a&#62;</code></li> <li><code>&#60;a href="mailto:<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@DELETETHIS.com" title="mailto:person@DELETETHIS.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x53;&#x49;&#x48;&#x54;&#x45;&#x54;&#x45;&#x4c;&#x45;&#x44;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>"&#62;<a class="autohyperlink" href="https://web.archive.org/web/20130120173127/mailto:person@DELETETHISexample.com" title="mailto:person@DELETETHISexample.com"><span class="oe_textdirection">&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;&#x53;&#x49;&#x48;&#x54;&#x45;&#x54;&#x45;&#x4c;&#x45;&#x44;<span class="oe_displaynone">null</span>&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;</span></a>&#60;/a&#62;</code></li> </ul> </li> <li>Everything encoded (aka hexadecimal HTML entity substitution)</li> </ul> <pre><code>&#60;a href=&#34;mailto:&#x70;&#x65;&#x72;&#x73;&#x6f;&#x6e;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;&#34;&#62;&#x70;&#x65;&#x72;&#x73;&#x6f;&#x6e;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;&#60;/a&#62;</code></pre> </li> </ul> <h4>How it looks</h4> <p>If all techniques are enabled at once, the resulting obfuscation of the example link above is:</p> <pre><code>&#60;a href=&#34;mailto:&#x70;&#x65;&#x72;&#x73;&#x6f;&#x6e;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;&#34;&#62;&#60;span class=&#34;codedirection&#34;&#62;&#x6d;&#x6f;&#x63;&#x2e;&#x65;&#x6c;&#x70;&#x6d;&#x61;&#x78;&#x65;&#60;span class=&#34;displaynone&#34;&#62;null&#60;/span&#62;&#x40;&#x6e;&#x6f;&#x73;&#x72;&#x65;&#x70;&#60;/span&#62;&#60;/a&#62;</code></pre> <p>However, in your browser it would appear to you as it does prior to obfuscation, and the link for the e-mail would still work. Theoretically, however, spammers would have a somewhat more difficult time harvesting the e-mails you display or link to in your posts.</p> <p>NOTE: (Only when using the custom replacement feature will visitors need to modify the e-mail address for use in their e-mail program.)</p> <p>Links: <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/obfuscate-email/">Plugin Homepage</a> &#124; <a href="https://web.archive.org/web/20130120173127/http://wordpress.org/extend/plugins/obfuscate-email/">Plugin Directory Page</a> &#124; <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/">Author Homepage</a></p> <h3>Template Tags</h3> <p>The plugin provides one optional template tag for use in your theme templates.</p> <h4>Functions</h4> <ul> <li><code>function c2c_obfuscate_email( $text, $args = array() )</code></li> </ul> <h4>Arguments</h4> <ul> <li> <p><code>$text</code><br/> Required argument. The text and/or HTML that contains e-mail addresses that you want to be obfuscated.</p> </li> <li> <p><code>$args</code><br/> Optional argument. An array of configuration options, each element of which will override the plugin&#8217;s corresponding default setting.</p> <ul> <li>encode_everything (boolean) : Encode all characters in the e-mail address using hexadecimal HTML entity substitution?</li> <li>use_text_direction (boolean) : Utilize CSS text direction technique?</li> <li>use_display_none (boolean) : Utilize CSS display:none technique?</li> <li>at_replace (string) : String to use in place of <code>@</code> in e-mail addresses (used only if encode_everything is false)</li> <li>dot_replace (string) : String to use in place of <code>.</code> in e-mail addresses (used only if encode_everything is false)</li> </ul> </li> </ul> <h4>Examples</h4> <ul> <li>Basic usage. Obfuscate e-mail addresses in $text according to current plugin settings.</li> </ul> <pre><code>&#60;?php echo c2c_obfuscate_email( $text ); ?&#62;</code></pre> <ul> <li>Override all plugin default settings when obfuscating e-mail addresses in $text and just use text direction technique.</li> </ul> <pre><code>&#60;?php echo c2c_obfuscate_email( $text, array( array(&#039;use_text_direction&#039; =&#62; true, &#039;use_display_none&#039; =&#62; false, &#039;encode_everything&#039; =&#62; false, &#039;at_replace&#039; =&#62; &#039;&#039;, &#039;dot_replace&#039; =&#62; &#039;&#039;) ) ); ?&#62;</code></pre> <h3>Filters</h3> <p>The plugin exposes one filter for hooking. Typically, customizations utilizing this hook would be put into your active theme&#8217;s functions.php file, or used by another plugin.</p> <h4>c2c_obfuscate_email_filters (filter)</h4> <p>The &#8216;c2c_obfuscate_email_filters&#8217; filter allows you to customize what filters to hook to be filtered with email obfuscation. The following filters are all filtered by default:</p> <ul> <li>link_description</li> <li>link_notes</li> <li>bloginfo</li> <li>nav_menu_description</li> <li>term_description</li> <li>the_title</li> <li>the_content</li> <li>get_the_excerpt</li> <li>comment_text</li> <li>list_cats</li> <li>widget_text</li> <li>the_author_email</li> <li>get_comment_author_email</li> </ul> <p>Arguments:</p> <ul> <li>array $filters : the default array of filters</li> </ul> <p>Example:</p> <pre><code>// Also obfuscate emails appearing in custom field values add_filter( &#039;c2c_obfuscate_email_filters&#039;, &#039;change_c2c_obfuscate_email_filters&#039; ); function change_c2c_obfuscate_email_filters( $filters ) { $filters&#x5b;] = &#039;the_meta&#039;; return $filters; }</code></pre> </dd> <dd><a name="faq"></a><br/> <h3>Frequently Asked Questions</h3> <p><strong>Q. So it&#8217;ll be impossible for spammers to harvest my site for e-mail addresses?</strong><br/> <strong>A.</strong> Of course nothing is guaranteed. By its very definition, &#8220;obfuscate&#8221; means &#8220;to make obscure or unclear&#8221;, and that&#8217;s all it&#8217;s really doing. It&#8217;s some degree of basic protection, which is better than nothing. Much as how locks in real-life at best provide some measure of deterrent for a would be criminal rather than absolute security from a determined and capable individual. That said, some testing (as described elsewhere in this documentation) indicates using one or more of the supplied techniques are extremely effective.</p> <p><strong>Q. Aren&#8217;t there better methods of e-mail obfuscation?</strong><br/> <strong>A.</strong> Nothing short of not actually displaying e-mail addresses can guarantee that e-mail addresses can&#8217;t get harvested. Some methods are more aggressive and therefore have compatibility and/or usability issues. This plugin can be very compatible and usable by all visitors to your site, but also has allowances for greater protection with minimal impact (though how minimal is for you to judge).</p> <p>= Does this plugin make use of JavaScript as other e-mail obfuscators do?</p> <p>No. This makes this plugin&#8217;s implementation of obfuscation more compatible and usable by more visitors. This may leave out techniques that some could argue are aggressively protective, but I feel (based on the aforementioned study and personal experience) that the included techniques are just as effective.</p> <p><strong>Q. This plugin provides multiple techniques for e-mail obfuscation; can I apply more than one at once for even greater protection?</strong><br/> <strong>A.</strong> Yes, all techniques can be activated at once (and they are by default).</p> <p><strong>Q. Does this plugin modify the post content in the database?</strong><br/> <strong>A.</strong> No. The plugin filters post content on-the-fly. E-mails will remain unchanged in the database.</p> </dd> <dd><a name="releaselog"></a><br/> <h3>Release Log</h3> <h4>3.1</h4> <ul> <li>Fix bug where display:none technique was ignored if text direction technique was not active</li> <li>Fix bug where display:none and text direction techniques were erroneously applied to email addresses in tag attributes when mid-string</li> <li>Update plugin framework to 034</li> <li>Note compatibility through WP 3.3+</li> <li>Drop compatibility with versions of WP older than 3.1</li> <li>Change parent constructor invocation</li> <li>Create &#8216;lang&#8217; subdirectory and move .pot file into it</li> <li>Regenerate .pot</li> <li>Add &#8216;Domain Path&#8217; directive to top of main plugin file</li> <li>Add link to plugin directory page to readme.txt</li> <li>Tweak installation instructions in readme.txt</li> <li>Changed description</li> <li>Documentation changes</li> <li>Update screenshots for WP 3.3</li> <li>Update copyright date (2012)</li> </ul> <h4>3.0</h4> <ul> <li>Significant rewrite of entire plugin</li> <li>Use plugin framework v026, which among other things adds support for: <ul> <li>Reset of options to default values</li> <li>Better sanitization of input values</li> <li>Offload core/basic functionality to generic plugin framework</li> <li>Additional hooks for various stages/places of plugin operation</li> <li>Easier localization support</li> </ul> </li> <li>Apply obfuscation to additional filters: link_description, link_notes, bloginfo, nav_menu_description, term_description, the_title, list_cats, widget_text</li> <li>Deprecate function c2c_email_obfuscator()</li> <li>Change c2c_obfuscate_email() <ul> <li>Second argument is now an array of arguments to override plugin settings</li> <li>All previously existing arguments (except first) have been deprecated</li> </ul> </li> <li>Add filter &#8216;c2c_obfuscate_email_filters&#8217;</li> <li>Full localization support</li> <li>Fix to properly register activation and uninstall hooks</li> <li>Save a static version of itself in class variable $instance</li> <li>Rename class from &#8216;ObfuscateEmail&#8217; to &#8216;c2c_ObfuscateEmail&#8217;</li> <li>Remove docs from top of plugin file (all that and more are in readme.txt)</li> <li>Note compatibility with WP 3.1+ and WP 3.2+</li> <li>Drop compatibility with versions of WP older than 3.0</li> <li>Explicitly declare all class functions public</li> <li>Add PHPDoc documentation</li> <li>Add package info to top of plugin file</li> <li>Add &#8216;Text Domain&#8217; header tag</li> <li>Add Template Tags, Filters, Changelog, and Upgrade Notice sections to readme.txt</li> <li>Add screenshot</li> <li>Update copyright date (2011)</li> <li>Add .pot file</li> </ul> <h4>2.0</h4> <ul> <li>Overhauled and added a bunch of new code</li> <li>Encapsulated a majority of functionality in a class</li> <li>Added admin options page for the plugin, under Options -&#62; Obfuscate E-mail (or in WP 2.5: Settings &#8594; Obfuscate E-mail) so that default e-mail obfuscation can be easily configured via WP admin</li> <li>Packaged plugin into its own directory, now including a readme.txt and screenshots</li> <li>Maintained (though renamed) existing primary functions (which have remained non-classed) for others to use directly</li> <li>Added options to define replacements for &#8220;@&#8221; and &#8220;.&#8221; characters in e-mails for partial obfuscation</li> <li>Filter &#8216;get_the_excerpt&#8217; instead of &#8216;the_excerpt&#8217;</li> <li>Additionally filter &#8216;the_author_email&#8217; and &#8216;get_comment_author_email&#8217;</li> <li>trim() before returning instead of substr()</li> <li>Tweaked description, installation instructions, and examples</li> <li>Updated copyright date and version to 2.0</li> <li>Added readme.txt and screenshot image to distribution zip</li> <li>Tested compatibility with WP 2.3+ and 2.5</li> </ul> <h4>0.9</h4> <ul> <li>Initial release</li> </ul> </dd> <dd><a name="copyright"></a><br/> <h3>Copyright &#038; Disclaimer</h3> <div class="disclaimer"> Copyright 漏 2005-2011 by Scott Reilly (aka coffee2code)</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &#8220;Software&#8221;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p> <p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p> <p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p> </div> </dd> </dl> </div> </div> </div><!--/main--> <div id="sidebar"> <dl> <dt>&uarr; Who is this?</dt> <dd class="nobullet">coffee2code is Scott Reilly, a web application developer. He is currently <strong>NOT</strong> available for hire, but feel free to enquire for the future.<br/><br/>On Twitter:<br/><a href="https://web.archive.org/web/20130120173127/http://twitter.com/coffee2code" title="coffee2code on twitter">coffee2code</a> (WordPress, tech)<br/><a href="https://web.archive.org/web/20130120173127/http://twitter.com/scottreilly" title="scottreilly on twitter">scottreilly</a> (personal)</dd> </dl> <dl class="summary"><dt>&larr; What is this?</dt><dd> <p>This is the blog of coffee2code, where when he posts, it's about WordPress (and soon other topics).</p> </dd></dl> <dl> <dt>&darr; Recent Posts</dt> <dd><small>02/07/2012 :</small> <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/02/07/custom-post-limits-v3-6/" title="View post Custom Post Limits v3.6">Custom Post Limits v3.6</a></dd> <dd><small>01/11/2012 :</small> <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/01/11/expandable-dashboard-recent-comments-v2-0/" title="View post Expandable Dashboard Recent Comments v2.0">Expandable Dashboard Recent Comments v2.0</a></dd> <dd><small>01/05/2012 :</small> <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/01/05/get-custom-field-values-v3-3-2/" title="View post Get Custom Field Values v3.3.2">Get Custom Field Values v3.3.2</a></dd> <dd><small>01/04/2012 :</small> <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/01/04/get-user-custom-field-values-v2-6/" title="View post Get User Custom Field Values v2.6">Get User Custom Field Values v2.6</a></dd> <dd><small>01/04/2012 :</small> <a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/archives/2012/01/04/obfuscate-email-v3-1/" title="View post Obfuscate Email v3.1">Obfuscate Email v3.1</a></dd> </dl> <dl> <dt>&rarr; Help Keep the Pot Brewing</dt> <dd class="nobullet"><div style="text-align:center;"> <form action="https://web.archive.org/web/20130120173127/https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"/> <input type="image" src="/web/20130120173127im_/http://coffee2code.com/wp-content/themes/c2c/images/makedonation.gif" name="submit" alt="Donate via PayPal"/> <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHNwYJKoZIhvcNAQcEoIIHKDCCByQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYB+zuE32PQhekYJChB5eXgKpMvEYIFgvnnoUP6x0dgDoG9irU1tpoK9B77mxQ0rzsdsenf7EDQ3bA/HDCY3YWjxGtDjAsjQnehBZFhsAq3xuImCD92hsZdDMz3JhFB2HSrmg2zR1Cq5T5o1KAZGDbsRsZ9rZf2U6L5CsQGen/NOmjELMAkGBSsOAwIaBQAwgbQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIZndGi8TKs0mAgZDj4H9CuYeOMd7hoeSOUSKn+T1YTHqKKKZyI0K173HJ0xMvAVzpJo+b+aUwI1C9NBGrbzRzH6npNQCMEXcxedDXsZ7ZJg4ILHl9yvNw8eS9dqBl498TVLUxzLgYPdAQ+degnu3cJoxh6s/jC0MVo7K+IPGTswLMqSP7yVw7fW0HeqWJ68yYIJu/tPIFLxTCnn2gggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNDA4MjMxODQzMjlaMCMGCSqGSIb3DQEJBDEWBBTZFoIgZiEwwQ4kx0VqtSmEEWRSsjANBgkqhkiG9w0BAQEFAASBgBVg4XPMqtRkke6+onTUSItvzoNQ00ZaMa0QOofEKjCg5ioPsJJsIhI6mLz52+lt+4nUONBiBcBvGjjEQFR1FrFccVkpJxknTZK2WSkXvl4wvaB37S+86e3RanYR4bEJeVD6959MmD2DuAYAHtquE4JMc7+BekMGFlV3k0Y+gFfi-----END PKCS7-----"/> </form> </div> A lot of time and effort goes into the development of my various open source contributions. If you find any of them useful, please consider making a donation to keep the coffee brewing. </dd> </dl> <dl> <dt>&darr; My WordPress Plugins</dt> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/add-admin-css/" title="View post Add Admin CSS">Add Admin CSS</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/add-admin-javascript/" title="View post Add Admin JavaScript">Add Admin JavaScript</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/admin-commenters-comments-count/" title="View post Admin Commenters Comments Count">Admin Commenters Comments Count</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/admin-expert-mode/" title="View post Admin Expert Mode">Admin Expert Mode</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/admin-per-page-limits/" title="View post Admin Per Page Limits">Admin Per Page Limits</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/admin-post-navigation/" title="View post Admin Post Navigation">Admin Post Navigation</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/admin-trim-interface/" title="View post Admin Trim Interface">Admin Trim Interface</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/allow-multiple-accounts/" title="View post Allow Multiple Accounts">Allow Multiple Accounts</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/array_partition/" title="View post array_partition">array_partition</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/author-images/" title="View post Author Image(s)">Author Image(s)</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/auto-hyperlink-urls/" title="View post Auto-hyperlink URLs">Auto-hyperlink URLs</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/blog-time/" title="View post Blog Time">Blog Time</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/category-images/" title="View post Category Image(s)">Category Image(s)</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/commenter-emails/" title="View post Commenter Emails">Commenter Emails</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/configure-smtp/" title="View post Configure SMTP">Configure SMTP</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/custom-admin-post-listing/" title="View post Custom Admin Post Listing">Custom Admin Post Listing</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/custom-fields-for-anything/" title="View post Custom Fields For Anything">Custom Fields For Anything</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/custom-post-limits/" title="View post Custom Post Limits">Custom Post Limits</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/customizable-comment-listings/" title="View post Customizable Comment Listings">Customizable Comment Listings</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/customizable-post-listings/" title="View post Customizable Post Listings">Customizable Post Listings</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/disable-directory-listings/" title="View post Disable Directory Listings">Disable Directory Listings</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/disable-search/" title="View post Disable Search">Disable Search</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/duplicate-widget/" title="View post Duplicate Widget">Duplicate Widget</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/dynamic-text-replace/" title="View post Dynamic Text Replace">Dynamic Text Replace</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/easy-post-to-post-links/" title="View post Easy Post-to-Post Links">Easy Post-to-Post Links</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/expandable-dashboard-recent-comments/" title="View post Expandable Dashboard Recent Comments">Expandable Dashboard Recent Comments</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/extra-sentence-space/" title="View post Extra Sentence Space">Extra Sentence Space</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/get-custom-field-values/" title="View post Get Custom Field Values">Get Custom Field Values</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/get-upcoming-or-past-posts/" title="View post Get Upcoming or Past Posts">Get Upcoming or Past Posts</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/get-user-custom-field-values/" title="View post Get User Custom Field Values">Get User Custom Field Values</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/hide-broken-shortcodes/" title="View post Hide Broken Shortcodes">Hide Broken Shortcodes</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/hide-or-cut-post-text/" title="View post Hide/Cut Post Text">Hide/Cut Post Text</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/html-special-characters-helper/" title="View post HTML Special Characters Helper">HTML Special Characters Helper</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/if-file-exists/" title="View post If File Exists">If File Exists</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/inject-admin-css/" title="View post Inject Admin CSS">Inject Admin CSS</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/inject-admin-js/" title="View post Inject Admin JS">Inject Admin JS</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/inject-query-posts/" title="View post Inject Query Posts">Inject Query Posts</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/last-contacted/" title="View post Last Contacted">Last Contacted</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/last-logins/" title="View post Last Logins">Last Logins</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/linkify-authors/" title="View post Linkify Authors">Linkify Authors</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/linkify-categories/" title="View post Linkify Categories">Linkify Categories</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/linkify-posts/" title="View post Linkify Posts">Linkify Posts</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/linkify-tags/" title="View post Linkify Tags">Linkify Tags</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/linkify-text/" title="View post Linkify Text">Linkify Text</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/list-more-custom-field-names/" title="View post List More Custom Field Names">List More Custom Field Names</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/loop-post-navigation-links/" title="View post Loop Post Navigation Links">Loop Post Navigation Links</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/never-moderate-registered-users/" title="View post Never Moderate Registered Users">Never Moderate Registered Users</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/no-browser-nag/" title="View post No Browser Nag">No Browser Nag</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/no-update-nag/" title="View post No Update Nag">No Update Nag</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/notifications-for-collapsed-admin-menu/" title="View post Notifications for Collapsed Admin Menu">Notifications for Collapsed Admin Menu</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/obfuscate-email/" title="View post Obfuscate E-mail">Obfuscate E-mail</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/omit-passworded-posts-from-search/" title="View post Omit Passworded Posts From Search">Omit Passworded Posts From Search</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/one-click-close-comments/" title="View post One Click Close Comments">One Click Close Comments</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/parentless-categories/" title="View post Parentless Categories">Parentless Categories</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/peer-categories/" title="View post Peer Categories">Peer Categories</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/post-index-helpers/" title="View post Post Index Helpers">Post Index Helpers</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/preserve-code-formatting/" title="View post Preserve Code Formatting">Preserve Code Formatting</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/quick-drafts-access/" title="View post Quick Drafts Access">Quick Drafts Access</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/random-file/" title="View post Random File">Random File</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/remember-me-controls/" title="View post Remember Me Controls">Remember Me Controls</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/restrict-usernames/" title="View post Restrict Usernames">Restrict Usernames</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/reveal-template/" title="View post Reveal Template">Reveal Template</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/safe-function-call/" title="View post Safe Function Call">Safe Function Call</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/show-pending-comments-count/" title="View post Show Pending Comments Count">Show Pending Comments Count</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/silent-publish/" title="View post Silent Publish">Silent Publish</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/single-category-permalink/" title="View post Single Category Permalink">Single Category Permalink</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/stealth-publish/" title="View post Stealth Publish">Stealth Publish</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/stealth-update/" title="View post Stealth Update">Stealth Update</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/text-hover/" title="View post Text Hover">Text Hover</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/text-replace/" title="View post Text Replace">Text Replace</a></dd> <dd><a href="https://web.archive.org/web/20130120173127/http://coffee2code.com/wp-plugins/wpuntexturize/" title="View post wpuntexturize">wpuntexturize</a></dd> </dl> <dl> <dd id="adsense_sidebar"> <script type="text/javascript"><!-- google_ad_client = "pub-3390051696163657"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text"; google_ad_channel =""; google_color_border = "d8a878"; google_color_bg = "fff"; google_color_link = "003399"; google_color_url = "008000"; google_color_text = "CCCCCC"; //--></script> <script type="text/javascript" src="https://web.archive.org/web/20130120173127js_/http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </dd> </dl> </div> </div><!--/content--> <div id="foot"> <div class="full"> &copy; 2002-2012 Scott Reilly (aka coffee2code)<br/>All rights reserved. </div> </div> </div> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://web.archive.org/web/20130120173127/https://ssl." : "https://web.archive.org/web/20130120173127/http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-3995851-1"); pageTracker._initData(); pageTracker._trackPageview(); </script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/ Minified using disk: basic Page Caching using disk: enhanced Database Caching 2/7 queries in 0.004 seconds using disk: basic Object Caching 839/856 objects using disk: basic Served from: coffee2code.com @ 2013-01-20 12:31:26 --><!-- FILE ARCHIVED ON 17:31:27 Jan 20, 2013 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 11:51:47 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 1.574 exclusion.robots: 0.088 exclusion.robots.policy: 0.066 esindex: 0.019 cdx.remote: 18.817 LoadShardBlock: 76.442 (3) PetaboxLoader3.datanode: 111.595 (4) load_resource: 156.233 PetaboxLoader3.resolve: 58.8 -->

Pages: 1 2 3 4 5 6 7 8 9 10