1var wpcf7_redirect; 2 3function Wpcf7_redirect(){ 4 5 this.init = function(){ 6 this.wpcf7_redirect_mailsent_handler(); 7 }; 8 9 this.wpcf7_redirect_mailsent_handler = function() { 10 document.addEventListener( 'wpcf7mailsent', function( event ) { 11 var form = jQuery(event.target); 12 13 jQuery(document.body).trigger('wpcf7r-mailsent' , [event] ); 14 15 if( typeof event.detail.apiResponse != 'undefined' && event.detail.apiResponse ){ 16 var apiResponse = event.detail.apiResponse; 17 18 //handle api response 19 if( typeof apiResponse.api_url_request != 'undefined' && apiResponse.api_url_request ){ 20 wpcf7_redirect.handle_api_action( apiResponse.api_url_request ); 21 } 22 23 //handle api response 24 if( typeof apiResponse.api_json_xml_request != 'undefined' && apiResponse.api_json_xml_request ){ 25 wpcf7_redirect.handle_api_action( apiResponse.api_json_xml_request ); 26 } 27 //handle fire javascript action 28 if( typeof apiResponse.fire_script != 'undefined' && apiResponse.fire_script ){ 29 wpcf7_redirect.handle_javascript_action( apiResponse.fire_script ); 30 } 31 //catch redirect to paypal 32 if( typeof apiResponse.redirect_to_paypal != 'undefined' && apiResponse.redirect_to_paypal ){ 33 wpcf7_redirect.handle_redirect_action( apiResponse.redirect_to_paypal ); 34 } 35 //catch redirect action 36 if( typeof apiResponse.redirect != 'undefined' && apiResponse.redirect ){ 37 wpcf7_redirect.handle_redirect_action( apiResponse.redirect ); 38 } 39 } 40 41 }, false ); 42 43 document.addEventListener( 'wpcf7invalid', function( event ) { 44 var form = jQuery(event.target); 45 46 jQuery(document.body).trigger('wpcf7r-invalid' , [event] ); 47 48 if( typeof event.detail.apiResponse != 'undefined' && event.detail.apiResponse ){ 49 response = event.detail.apiResponse; 50 if( response.invalidFields ){ 51 //support for multistep by ninja 52 wpcf7_redirect.ninja_multistep_mov_to_invalid_tab(event,response); 53 } 54 } 55 }); 56 }; 57 58 this.handle_api_action = function( send_to_api_result , request ){ 59 jQuery.each(send_to_api_result, function(k,v){ 60 if( ! v.result_javascript ){ 61 return; 62 } 63 64 response = typeof v.api_response != 'undefined' ? v.api_response : ''; 65 request = typeof v.request != 'undefined' ? v.request : ''; 66 67 eval(v.result_javascript); 68 }); 69 70 }; 71 72 this.ninja_multistep_mov_to_invalid_tab = function( event,response ){ 73 if( jQuery('.fieldset-cf7mls-wrapper').length ){ 74 var form = jQuery(event.target); 75 var first_invalid_field = response.invalidFields[0]; 76 var parent_step = jQuery(first_invalid_field.into).parents('fieldset'); 77 78 form.find('.fieldset-cf7mls').removeClass('cf7mls_current_fs'); 79 80 parent_step.addClass('cf7mls_current_fs').removeClass('cf7mls_back_fs'); 81 82 if (form.find('.cf7mls_progress_bar').length) { 83 form.find('.cf7mls_progress_bar li').eq(form.find("fieldset.fieldset-cf7mls").index(previous_fs)).addClass("current"); 84 form.find('.cf7mls_progress_bar li').eq(form.find("fieldset.fieldset-cf7mls").index(current_fs)).removeClass("active current"); 85 } 86 87 } 88 } 89 this.handle_redirect_action = function( redirect ){ 90 91 jQuery(document.body).trigger('wpcf7r-handle_redirect_action' , [redirect] ); 92 93 jQuery.each(redirect , function( k, v ){ 94 var redirect_url = typeof v.redirect_url != 'undefined' && v.redirect_url ? v.redirect_url : ''; 95 var type = typeof v.type != 'undefined' && v.type ? v.type : ''; 96 97 if( redirect_url && type == 'redirect' ){ 98 window.location = redirect_url; 99 }else if( redirect_url && type == 'new_tab' ){ 100 window.open( redirect_url ); 101 } 102 103 }); 104 }; 105 106 this.handle_javascript_action = function( scripts ){ 107 jQuery(document.body).trigger('wpcf7r-handle_javascript_action' , [scripts] ); 108 109 jQuery.each( scripts , function(k,script){ 110 eval(script); //not using user input 111 }); 112 }; 113 114 this.htmlspecialchars_decode = function( string ) { 115 var map = { 116 '&': '&', 117 '&': "&", 118 '<': '<', 119 '>': '>', 120 '"': '"', 121 ''': "'", 122 '’': "â", 123 '‘': "â", 124 '–': "â", 125 '—': "â",
126 '…': "â¦", 127 '”': 'â' 128 }; 129 130 return string.replace(/\&[\w\d\#]{2,5}\;/g, function(m) { return map[m]; }); 131 }; 132 133 this.init(); 134} 135 136jQuery(document).ready(function() { 137 wpcf7_redirect = new Wpcf7_redirect(); 138});
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.