1function tfaf_file_upload(field_id) { 2 3 const uploadForm = '<form id="tfaf_file_form" action="?tfaf_do_upload=1" method="post" target="tfaf_file_frame"' + 4 'enctype="multipart/form-data" onsubmit="tfaf_file_upload_submit();" data-field-id="' + field_id + '">' + 5 '<input type="file" name="tfaf_file" id="tfaf_file" tabindex="-1" onchange="jQuery(this).parent().submit();" />' + 6 '<iframe id="tfaf_response_frame" name="tfaf_file_frame" />'; 7 8 jQuery('#tfaf_file_form, #tfaf_response_frame').remove(); 9 jQuery('#' + field_id).parent().css('overflow', 'hidden') 10 .append(uploadForm); 11 12 jQuery('#tfaf_file').trigger('click'); 13 14} 15 16function tfaf_file_upload_submit() { 17 const responseFrame = jQuery('#tfaf_response_frame'); 18 19 responseFrame.load(function () { 20 let response = responseFrame.contents().find('body').text(); 21 if (!(response.startsWith('https://') || response.startsWith('http://'))) { 22 if (response.startsWith('size-error')){ 23 // Get max upload size 24 let max_size = response.split(']'); 25 max_size = max_size[0].split('[')[1]; 26 alert('Error: The image must be smaller then ' + max_size + ' MB.'); 27 } else if (response.startsWith('[[tfaf_debugging_mode]]')) { 28 alert(response); 29 } else { 30 alert('Error: The image upload was not successful. Please check your image and try it again. Only PNG, GIF or JPEG files are allowed.'); 31 } 32 response = ''; 33 } 34 jQuery('#' + jQuery('#tfaf_file_form').data('field-id')).val(response).prop('disabled', false); 35 responseFrame.off('load'); 36 }); 37 jQuery('#' + jQuery('#tfaf_file_form').data('field-id')).prop('disabled', true).val('Please wait...'); 38 39 return true; 40}
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.