1/** 2 * WordPress Plugin: WP-EMail 3 * Copyright (c) 2012 Lester "GaMerZ" Chan 4 * 5 * File Written By: 6 * - Lester "GaMerZ" Chan 7 * - http://lesterchan.net 8 * 9 * File Information: 10 * - E-Mail Javascript File 11 * - wp-content/plugins/wp-email/email-js.js 12 */ 13 14 15// Variables 16var email_p = 0; 17var email_pageid = 0; 18var email_subscribe = 0; 19var email_yourname = ''; 20var email_youremail = ''; 21var email_yourremarks = ''; 22var email_friendname = ''; 23var email_friendemail = ''; 24var email_friendnames = ''; 25var email_friendemails = ''; 26var email_imageverify = ''; 27emailL10n.max_allowed = parseInt(emailL10n.max_allowed); 28 29// Email Form Validation 30function validate_email_form() { 31 // Variables 32 var errFlag = false; 33 var errMsg = emailL10n.text_error + "\n"; 34 errMsg = errMsg + "__________________________________\n\n"; 35 36 // Your Name Validation 37 if(jQuery('#yourname').length) { 38 if(isEmpty(email_yourname) || !is_valid_name(email_yourname)) { 39 errMsg = errMsg + emailL10n.text_name_invalid + "\n"; 40 errFlag = true; 41 } 42 } 43 // Your Email Validation 44 if(jQuery('#youremail').length) { 45 if(isEmpty(email_youremail) || !is_valid_email(email_youremail)) { 46 errMsg = errMsg + emailL10n.text_email_invalid + "\n"; 47 errFlag = true; 48 } 49 } 50 // Your Remarks Validation 51 if(jQuery('#yourremarks').length) { 52 if(!isEmpty(email_yourremarks)) { 53 if(!is_valid_remarks(email_yourremarks)) { 54 errMsg = errMsg + emailL10n.text_remarks_invalid + "\n"; 55 errFlag = true; 56 } 57 } 58 } 59 // Friend Name(s) Validation 60 if(jQuery('#friendname').length) { 61 if(isEmpty(email_friendname)) { 62 errMsg = errMsg + emailL10n.text_friend_names_empty + "\n"; 63 errFlag = true; 64 } else { 65 for(i = 0; i < email_friendnames.length; i++) { 66 if(isEmpty(email_friendnames[i]) || !is_valid_name(email_friendnames[i])) { 67 errMsg = errMsg + emailL10n.text_friend_name_invalid + email_friendnames[i] + "\n"; 68 errFlag = true; 69 } 70 } 71 } 72 if(email_friendnames.length > emailL10n.max_allowed) { 73 errMsg = errMsg + emailL10n.text_max_friend_names_allowed + "\n"; 74 errFlag = true; 75 } 76 } 77 // Friend Email(s) Validation 78 if(isEmpty(email_friendemail)) { 79 errMsg = errMsg + emailL10n.text_friend_emails_empty + "\n"; 80 errFlag = true; 81 } else { 82 for(i = 0; i < email_friendemails.length; i++) { 83 if(isEmpty(email_friendemails[i]) || !is_valid_email(email_friendemails[i])) { 84 errMsg = errMsg + emailL10n.text_friend_email_invalid + email_friendemails[i] + "\n"; 85 errFlag = true; 86 } 87 } 88 } 89 if(email_friendemails.length > emailL10n.max_allowed) { 90 errMsg = errMsg + emailL10n.text_max_friend_emails_allowed + "\n"; 91 errFlag = true; 92 } 93 // Friend Name(s) And Email(s) Validation 94 if(jQuery('#friendname').length) { 95 if(email_friendnames.length != email_friendemails.length) { 96 errMsg = errMsg + emailL10n.text_friends_tally + "\n"; 97 errFlag = true; 98 } 99 } 100 if(jQuery('#imageverify').length) { 101 if(isEmpty(email_imageverify)) { 102 errMsg = errMsg + emailL10n.text_image_verify_empty + "\n"; 103 errFlag = true; 104 } 105 } 106 // If There Is Error Alert It 107 if (errFlag == true){ 108 alert(errMsg); 109 return false; 110 } else { 111 return true; 112 } 113} 114 115// Check Form Field Is Empty 116function isEmpty(value){ 117 if (jQuery.trim(value) == "") { 118 return true; 119 } 120 return false; 121} 122 123// Check Name 124function is_valid_name(name) { 125 filter = /[(\*\(\)\[\]\+\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/; 126 return !filter.test(jQuery.trim(name)); 127} 128 129// Check Email 130function is_valid_email(email) { 131 filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 132 return filter.test(jQuery.trim(email)); 133} 134 135// Check Remarks 136function is_valid_remarks(remarks) { 137 remarks = jQuery.trim(remarks); 138 injection_strings = new Array('apparently-to', 'cc', 'bcc', 'boundary', 'charset', 'content-disposition', 'content-type', 'content-transfer-encoding', 'errors-to', 'in-reply-to', 'message-id', 'mime-version', 'multipart/mixed', 'multipart/alternative', 'multipart/related', 'reply-to', 'x-mailer', 'x-sender', 'x-uidl'); 139 for(i = 0; i < injection_strings.length; i++) { 140 if(remarks.indexOf(injection_strings[i]) != -1) { 141 return false; 142 } 143 } 144 return true; 145} 146 147// WP-Email Popup 148function email_popup(email_url) { 149 window.open(email_url, "_blank", "width=500,height=500,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=1,status=0"); 150} 151 152// Email Form AJAX 153function email_form() { 154 if(jQuery('#yourname').length) { 155 email_yourname = jQuery('#yourname').val(); 156 } 157 if(jQuery('#youremail').length) { 158 email_youremail = jQuery('#youremail').val(); 159 } 160 if(jQuery('#yourremarks').length) { 161 email_yourremarks = jQuery('#yourremarks').val(); 162 } 163 if(jQuery('#friendname').length) { 164 email_friendname = jQuery('#friendname').val(); 165 email_friendnames = email_friendname.split(","); 166 } 167 email_friendemail = jQuery('#friendemail').val(); 168 email_friendemails = email_friendemail.split(","); 169 if(jQuery('#imageverify').length) { 170 email_imageverify = jQuery('#imageverify').val(); 171 } 172 if(jQuery('#p').length) { 173 email_p = jQuery('#p').val(); 174 } 175 if(jQuery('#page_id').length) { 176 email_pageid = jQuery('#page_id').val(); 177 } 178 if(jQuery('#subscribe').is(":checked")) { 179 email_subscribe=1; 180 switch (document.domain) { 181 case "www.pbh2.com": 182 short_domain = "PBH2"; break; 183 case "allthatsinteresting.com": 184 short_domain = "All That's Interesting"; break; 185 case "all-that-is-interesting.com": 186 short_domain = "All That Is Interesting"; break; 187 case "runt-of-the-web.com": 188 short_domain = "Runt Of The Web"; break; 189 default: 190 short_domain = document.domain; break; 191 } 192 pbh_gaq.push(['_trackEvent', 'Email Subscription', short_domain, 'Email Page']); 193 } 194 if(validate_email_form()) { 195 if(email_subscribe && window.pbh_email_set) { 196 window.pbh_email_set(email_youremail); 197 } 198 email_ajax_data = 'action=email'; 199 jQuery('#wp-email-submit').attr('disabled', true); 200 jQuery('#wp-email-loading').show(); 201 if(jQuery('#yourname').length) { 202 email_ajax_data += '&yourname=' + email_yourname; 203 jQuery('#yourname').attr('disabled', true); 204 } 205 if(jQuery('#youremail').length) { 206 email_ajax_data += '&youremail=' + email_youremail; 207 jQuery('#youremail').attr('disabled', true); 208 } 209 if(jQuery('#yourremarks').length) { 210 email_ajax_data += '&yourremarks=' + email_yourremarks; 211 jQuery('#yourremarks').attr('disabled', true); 212 } 213 if(jQuery('#friendname').length) { 214 email_ajax_data += '&friendname=' + email_friendname; 215 jQuery('#friendname').attr('disabled', true); 216 } 217 if(jQuery('#friendemail').length) { 218 email_ajax_data += '&friendemail=' + email_friendemail; 219 jQuery('#friendemail').attr('disabled', true); 220 } 221 if(jQuery('#imageverify').length) { 222 email_ajax_data += '&imageverify=' + email_imageverify; 223 jQuery('#imageverify').attr('disabled', true); 224 } 225 if(jQuery('#p').length) { 226 email_ajax_data += '&p=' + email_p; 227 } 228 if(jQuery('#page_id').length) { 229 email_ajax_data += '&page_id=' + email_pageid; 230 } 231 if(jQuery('#subscribe').length) { 232 email_ajax_data += '&subscribe=' + email_subscribe; 233 } 234 email_ajax_data += '&wp-email_nonce=' + jQuery('#wp-email_nonce').val(); 235 jQuery.ajax({type: 'POST', url: emailL10n.ajax_url, data: email_ajax_data, cache: false, success: function (data) { jQuery('#wp-email-content').html(data);}}); 236 } 237}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.