{"id":23789,"date":"2013-06-14T07:02:15","date_gmt":"2013-06-14T07:02:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/dlbs-send-a-link\/"},"modified":"2019-10-13T21:57:38","modified_gmt":"2019-10-13T21:57:38","slug":"dlbs-send-a-link","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/dlbs-send-a-link\/","author":1740746,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2","stable_tag":"1.2","tested":"5.2.24","requires":"3.5.1","requires_php":"","requires_plugins":"","header_name":"dlb's Send-A-Link","header_author":"Dave Bezaire","header_description":"","assets_banners_color":"","last_updated":"2019-10-13 21:57:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/wordpress.org\/plugins\/dlbs-send-a-link\/","header_author_uri":"http:\/\/davebezaire.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":2351,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0":"<p>This is the first production release. Please upgrade as soon as possible. Please follow the <em>new<\/em> installation instructions carefully, and note that the layout of some templates has changed.<\/p>","0.95":"<p>This is the final candidate for release, and will be superceded by version 1.0 after testing is complete, no later than June 25, 2013.<\/p>","0.45":"<p>Minor testing and <code>readme.txt<\/code> changes only. No need to apply this upgrade.<\/p>","0.4":"<p>Initial developmental release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4","0.45","0.95","1.0","1.1","1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":"726810","resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":"726810","resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"The <em>Send-A-Link<\/em> form","2":"The <em>Send-A-Link<\/em> confirmation page"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[267,537,2742,14098,24255],"plugin_category":[41],"plugin_contributors":[97099],"plugin_business_model":[],"class_list":["post-23789","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-link","plugin_tags-send","plugin_tags-send-email","plugin_tags-send-link","plugin_category-communication","plugin_contributors-drandlomb","plugin_committers-drandlomb"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/dlbs-send-a-link.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/dlbs-send-a-link\/assets\/screenshot-1.jpg?rev=726810","caption":"The <em>Send-A-Link<\/em> form"},{"src":"https:\/\/ps.w.org\/dlbs-send-a-link\/assets\/screenshot-2.jpg?rev=726810","caption":"The <em>Send-A-Link<\/em> confirmation page"}],"raw_content":"<!--section=description-->\n<p><em>dlb's Send-A-Link<\/em> allows visitors to send someone an email containing a link to the post or page.<\/p>\n\n<p>Key features include:<\/p>\n\n<ul>\n<li>Show visitors a link (icon and\/or text) to send an email by adding a function call to your templates or a shortcode to your pages\/posts.<\/li>\n<li>The input form, confirmation page, and email message are all based on easily modifiable HTML templates. <\/li>\n<li>Spam protection includes CAPTCHA verification and limiting any given IP address to two messages per minute.<\/li>\n<li><em>Send-A-Link<\/em> loads fast because code is compact and does not use jQuery.<\/li>\n<li><em>Send-A-Link<\/em> uses Javascript\/AJAX for fast, inobtrusive form handling, but it degrades gracefully to provide full functionality to clients without Javascript.<\/li>\n<li>Built and tested on WordPress v3.5.1; although it might work on earlier versions, it has not been tested on them.<\/li>\n<\/ul>\n\n<p><em>dlb's Send-A-Link<\/em> code is heavily commented, especially regarding WordPress plugin interfaces and AJAX features. This makes it a suitable starting point for novice developers to explore their own programming interests. I have attempted to make the code very understandable. However, I do not claim this to be <em>model<\/em> code because I am not an experienced developer myself. In fact, I would greatly appreciate constructive criticism.<\/p>\n\n<p>In the future, I plan to release new versions with the following features, in approximately this order:<\/p>\n\n<ul>\n<li>Privacy reassurance that email addresses are not stored, but IP's are<\/li>\n<li>Make the \"send another message\" link consistently re-display form with fields pre-filled<\/li>\n<li>Localize to be ready for translation, including delivery of po and mo files and some instruction on how to use POEDIT to customize the wording, regardless of language. This could especially apply to the error messages.<\/li>\n<li>Attempt to use PHP's DOM handling routines for more robust and reliable formatting of responses when client does not have Javascript available<\/li>\n<li>Use a stored procedure to flush log daily to reduce number of times it is done<\/li>\n<li>Rewrite using class construction<\/li>\n<li>Add admin screens to specify some things now defined in constants and templates<\/li>\n<li>Make it easy to turn CAPTCHA off or on<\/li>\n<li>Make it easy to use other CAPTCHAs<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>The easiest method is to use <code>Plugins &gt; Add New<\/code> in your blog's Administration menu. Search for \"dlb\" and click on the <code>Install now<\/code> link under <em>dlb's Send-A-Link<\/em>. Then click the <code>Activate Plugin<\/code> link.<\/p>\n\n<p>The manual method requires several steps: (1) Download the zip file to your computer. (2) Unzip the file. (3) Upload the <code>dlbs-send-a-link<\/code> folder to your <code>wp-content\/plugins<\/code> directory. (4) Go to <code>Plugins &gt; Installed Plugins<\/code> in your blog's Administration menu and click the <code>Activate<\/code> link under <em>dlb's Send-A-Link<\/em>.<\/p>\n\n<p>Customization of <em>dlb's Send-A-Link<\/em> is further described in the FAQ. Generally, it will be necessary to copy <code>dsl-page.html<\/code>, <code>dsl-templates.html<\/code>, and <code>dsl.css<\/code> from the plugin folder to your theme folder. Modify <code>dsl-page.html<\/code> to match the structure of your theme's <code>page.php<\/code> file. Modify <code>dsl-templates.html<\/code> to reflect the URL of your blog. Modify <code>dsl.css<\/code> to match the look &amp; feel of your blog.<\/p>\n\n<p>You need to register at http:\/\/captchas.net (It's free!) to obtain your own <code>Username<\/code> and <code>Secret Key<\/code>. Copy file <code>dsl-captcha.php<\/code> from the plugin folder to the theme folder. Change the values of <code>$id<\/code> and <code>$key<\/code> from \"demo\" and \"secret\" to your own <code>Username<\/code> and <code>Secret Key<\/code> respectively.<\/p>\n\n<p>Finally, insert the shortcode <code>[dsl-link]<\/code> in your posts\/pages wherever you want to show a link or icon to your visitors offering the opportunity to send a message. In your templates, insert the function <code>dslLink()<\/code>, typically as: <code>if( function_exists('dslLink') ) { echo dslLink(); }<\/code>. See FAQ to customize it.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>How can I change the wording and styles in the email message and on the *Send-A-Link* pages?<\/dt>\n<dd><p>Most of the visible elements are defined in the template and CSS files. You can make your modifications to a <em>copy<\/em> of them stored in your theme folder so that they are retained when you upgrade to a new version of <em>Send-A-Link<\/em>.<\/p><\/dd>\n<dt>What are the template and style file names?<\/dt>\n<dd><p>The input form template is <code>dsl-page.html<\/code>. The confirmation page and email message templates are in file <code>dsl-templates.html<\/code>. The CSS styles are in file <code>dsl.css<\/code>.<\/p><\/dd>\n<dt>Can I change the icon and text in the link?<\/dt>\n<dd><p>Yes. The parameters for shortcode <code>[dsl-link]<\/code> and function <code>dslLink()<\/code> are as follows: <code>show<\/code> can be \"icon\", \"text\", or \"both\" to display only the icon, only the text or both; <code>iconfile<\/code> is the name of your icon file, with a path relative to the plugin folder; <code>text<\/code> is shown as a tooltip and on the link if <code>show<\/code> is either \"text\" or \"both\". In the shortcode, enter them like this: <code>[dsl-link show=\"both\" text=\"Your Text\" iconfile=\"myIcon.gif\" ]<\/code>. In the function, enter them like this: <code>dslLink( array( \"show\" =&gt; \"both\" , \"text\" =&gt; \"Your Text\" , \"iconfile\" =&gt; \"myIcon.gif\" ) )<\/code>.<\/p><\/dd>\n<dt>How can I change to wording on the form's submit button?<\/dt>\n<dd><p>This can only be changed in file <code>dsl.php<\/code>. Search for the definition of <code>DSL_SUBMIT_BUTTON_VALUE<\/code>. This change will need to be made again after an upgrade to a new version.<\/p><\/dd>\n<dt>How can I change the maximum number of characters allowed in names and comments?<\/dt>\n<dd><p>This can only be changed in file <code>dsl.php<\/code>. Search for the definitions of <code>DSL_MAX_COMMENT_CHARS<\/code>, <code>DSL_MAX_NAME_CHARS<\/code>, and <code>DSL_MIN_NAME_CHARS<\/code>. These changes will need to be made again after an upgrade to a new version.<\/p><\/dd>\n<dt>How can I change the minimum time between sends?<\/dt>\n<dd><p>This can only be changed in file <code>dsl.php<\/code>. Search for the definition of <code>DSL_MIN_SEND_INTERVAL<\/code>. This change will need to be made again after an upgrade to a new version.<\/p><\/dd>\n<dt>How can I change the wording in the error messages?<\/dt>\n<dd><p>In this version of the plugin, the error messages must be changed by editing file <code>dsl.php<\/code>, which is heavily commented to make it easier to navigate and alter the code. A future release will make this easier by using the WordPress localization system. These changes will need to be made again after an upgrade to a new version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2<\/h4>\n\n<ul>\n<li>Use latest version of (CaptchasDotNet.php) from https:\/\/captchas.net\/sample\/php\/captchasdotnet <\/li>\n<li>Change all references to \"http\" to \"https\" in CaptchasDotNet.php<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Remove call-by-reference for PHP v5.3 and above compatibility by <\/li>\n<li>Changed line 736 in file dsl.php from dslSubstitutePlaceholders(&amp;$input) to dslSubstitutePlaceholders($input)<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>First production release<\/li>\n<li>Correct regression error with showing values on error screens without Javascript enabled<\/li>\n<\/ul>\n\n<h4>0.95<\/h4>\n\n<ul>\n<li>Candidate for final release pending complete testing<\/li>\n<li>Degrades gracefully to provide full functionality to users without Javascript<\/li>\n<li>Loads CAPTCHA configuration file from theme folder<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>Implements activate and deactivate routines to provide a database table for logging<\/li>\n<li>Logs IP address and time for every mail sent<\/li>\n<li>Flushes all log records more than one day old<\/li>\n<li>Limits send rate from an IP address to one message every 30 seconds<\/li>\n<li>Moved the last bit of visible text from Javascript file to template file<\/li>\n<\/ul>\n\n<h4>0.45<\/h4>\n\n<ul>\n<li>Added <em>dlb's Send-A-Link<\/em> to the WordPress.org Plugin Directory<\/li>\n<li>Improved the formatting and installation instructions in readme.txt<\/li>\n<\/ul>\n\n<h4>0.4<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Allows visitors to send someone an email containing a link to the post\/page.<\/li>\n<li>Visitor can optionally include comments in the message.<\/li>\n<li>Provides a function  to put into templates and a shortcodeto to put into posts\/pages to show an icon or text link to send an email.<\/li>\n<li>The input form, confirmation page, and email message are based on HTML templates<\/li>\n<li>Customized CSS styles and templates can be stored in the theme folder<\/li>\n<li>Uses Javascript\/AJAX for fast, inobtrusive form handling.<\/li>\n<li>Loads fast, based on compact code that does not use jQuery.<\/li>\n<li>Code is heavily commented, especially regarding WordPress plugin interfaces and AJAX features.<\/li>\n<li>Built and tested on WordPress v3.5.1; might work on earlier versions, but has not been test on them.<\/li>\n<\/ul>","raw_excerpt":"dlb&#039;s Send-A-Link allows visitors to send someone an email containing a link to the post or page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/23789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=23789"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/drandlomb"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=23789"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=23789"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=23789"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=23789"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=23789"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=23789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}