1var RSFormProReCAPTCHAv2 = { 2 forms: {}, 3 loaders: [], 4 onLoad: function() { 5 window.setTimeout(function(){ 6 for (var i = 0; i < RSFormProReCAPTCHAv2.loaders.length; i++) { 7 var func = RSFormProReCAPTCHAv2.loaders[i]; 8 if (typeof func === 'function') { 9 try { 10 func(); 11 } catch (err) { 12 if (console && typeof console.log === 'function') { 13 console.log(err); 14 } 15 } 16 } 17 } 18 }, 500); 19 } 20}; 21 22RSFormProUtils.addEvent(window, 'load', RSFormProReCAPTCHAv2.onLoad); 23 24function ajaxValidationRecaptchaV2(task, formId, data, componentId) 25{ 26 switch (task) 27 { 28 case 'beforeSend': 29 if (data.params.indexOf('g-recaptcha-response=&') > -1 && data.params.indexOf('&page=') === -1) 30 { 31 RSFormPro.Ajax.Wait = true; 32 33 window['RSFormProInvisibleCallback' + formId] = function(token) 34 { 35 RSFormPro.Ajax.Params = RSFormPro.Ajax.Params.replace('g-recaptcha-response=&', 'g-recaptcha-response=' + encodeURIComponent(token) + '&'); 36 RSFormPro.Ajax.Wait = false; 37 RSFormPro.Ajax.xmlHttp.send(RSFormPro.Ajax.Params); 38 }; 39 40 var foundRecaptchaEvent = false; 41 for (var i = 0; i < RSFormPro.formEvents[formId].length; i++) 42 { 43 if (typeof RSFormPro.formEvents[formId][i] === 'function' && RSFormPro.formEvents[formId][i].toString().indexOf('grecaptcha.execute(id)') > -1) 44 { 45 foundRecaptchaEvent = true; 46 } 47 } 48 49 if (!foundRecaptchaEvent) 50 { 51 RSFormPro.addFormEvent(formId, function() { var id = RSFormProReCAPTCHAv2.forms[formId]; grecaptcha.execute(id); } ) 52 } 53 54 RSFormPro.submitForm(RSFormPro.getForm(formId)); 55 } 56 else 57 { 58 RSFormPro.Ajax.Wait = false; 59 } 60 break; 61 } 62}
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.