1jQuery( function( $ ) { 2 3 jQuery(document).on('change', '.pcfme_file', function() { 4 5 var file_input_value = jQuery(this).attr("nkey"); 6 7 var max_allowed = jQuery(this).attr("max_allowed"); 8 9 var max_allowed_text2 = jQuery(this).attr("max_allowed"); 10 11 max_allowed = (max_allowed * 1024) * 1024; 12 13 if ( ! this.files.length ) { 14 jQuery( '.pcfme_filelist_'+file_input_value+'' ).empty(); 15 } else { 16 const file = this.files[0]; 17 const formData = new FormData(); 18 formData.append( 'pcfme_file', file ); 19 20 var upload_size = this.files[0].size; 21 22 upload_size = (upload_size); 23 24 upload_size = Math.round(upload_size); 25 26 if (upload_size > max_allowed) { 27 28 alert(''+pcfme_file_upload.max_allowed_text+' '+max_allowed_text2+' MB'); 29 30 jQuery( '.pcme_hidden_file_'+file_input_value+'' ).val(""); 31 32 return false; 33 34 } else { 35 36 var allowed_type = jQuery(this).attr("allowed_type"); 37 38 var extension = this.files[0].type; 39 40 extension = extension.split('/'); 41 42 extension = extension[1]; 43 44 if(allowed_type.indexOf(extension) != -1){ 45 46 jQuery.ajax({ 47 url: wc_checkout_params.ajax_url + '?action=pcfme_checkout_file_upload', 48 type: 'POST', 49 data: formData, 50 contentType: false, 51 enctype: 'multipart/form-data', 52 processData: false, 53 success: function ( response ) { 54 if( response ){ 55 if( response.type == 'success' ){ 56 57 58 jQuery( '.pcme_hidden_file_'+file_input_value+'' ).val( response.image_url.url ); 59 } 60 } 61 } 62 }); 63 64 } else { 65 66 alert(''+pcfme_file_upload.type_allowed_text+' '+allowed_type+''); 67 68 } 69 70 71 72 } 73 } 74 }); 75});
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.