PageSourceSearch

https://www.arborschoolflorida.com/js/frontend/cm-file-library.js

js arborschoolflorida.com collected 2026-10-05 09:40:40 UTC 4,572 bytes, 136 lines download raw bytes

1$('.direct-upload').each(function() {
2	var form = $(this);
3
4	i = 0;
5
6	form.fileupload({
7		url: form.attr('action'),
8		type: 'POST',
9		dataType: 'xml',
10        acceptFileTypes: /(\.|\/)(csv|doc|docx|gif|jpeg|jpg|pdf|png|svg|ppt|pptx|ai|psd|xd|rtf|tiff|txt|xls|xlsx|zip)$/i,
11		add: function (event, data) {
12			var size_errors = '';
13			for(x=0;x<data.originalFiles.length;x++) {
14				// max 2gb filesize
15				if(data.originalFiles[x]['size'] > 2000000000) {
16					size_errors += (size_errors?"<br />":"")+"Filesize of "+data.originalFiles[x].name+" is too big.";
17				}
18			}
19
20			if(size_errors) {
21				showAlert(size_errors,'bad');
22				
23			} else {
24				var goUpload = true;
25				var uploadFile = data.files[0];
26	
27				$('#upload-wrap').after('<div class="upload-wrap uploading" id="upload-wrap-'+i+'">'+$('#upload-wrap').html()+'</div>');
28				var upload_wrap = $('#upload-wrap-'+i);
29				$(upload_wrap).find('.filename').html(uploadFile.name);
30
31				$('.progress').prepend('<i class="fa fa-cog spin"></i> Uploading...</i>');
32
33				$.getJSON('?'+$('#submit_url').val()+'&get_amazon_s3_params=1', function (result) {
34					data.filename_prefix = result.filename_prefix;
35					delete result.filename_prefix;
36					data.formData = result;
37					data.fileName = encodeURIComponent(uploadFile.name);
38					data.fileSize = uploadFile.size;
39					data.increment = i;
40					data.upload_wrap = $(upload_wrap);
41					data.submitted = new Date().getTime();
42
43					if(data.files[0].name.indexOf(',') > 0) {
44						showAlert("Please rename your file <strong>"+data.files[0].name+"</strong> to not include a comma and reupload.","bad");
45						$(data.upload_wrap).fadeOut('slow',function() {
46							$(data.upload_wrap).remove();
47						});
48						data.abort();
49					}
50
51					window.onbeforeunload = function() {
52						return 'You have unsaved changes.';
53					};
54
55					$(form).find('input, textarea, select').attr('disabled','disabled').addClass('disabled');
56
57					data.submit();
58				});
59			}
60		},
61		send: function(e, data) {
62
63		},
64		progress: function(e, data){
65			// This is what makes everything really cool, thanks to that callback
66			// you can now update the progress bar based on the upload progress.
67			var percent = Math.round((data.loaded / data.total) * 100);
68			var progress = data.loaded / data.total;
69			var timeSpent = new Date().getTime() - data.submitted;
70			var secondsRemaining = Math.round(((timeSpent / progress) - timeSpent) / 1000);
71
72			$(data.upload_wrap).find('.bar').css('width', percent + '%');
73			$(data.upload_wrap).find('.seconds-remaining').html(secondsRemaining+'s Remaining');
74		},
75		fail: function(e, data) {
76			// Remove 'unsaved changes' message.
77			console.log(e);
78			console.log(data);
79			window.onbeforeunload = null;
80		},
81		success: function(data) {
82		},
83		stop: function(e) {
84			window.onbeforeunload = null;
85		},
86		done: function (event, data) {
87			$(data.upload_wrap).find('.seconds-remaining').html('<i class="fa fa-cog spin"></i> Saving...');
88
89			// soft submit/save via ajax
90			var thedata = 'submitter_name='+$('input[name=submitter_name]').val()+'&submitter_email='+$('input[name=submitter_email]').val()+'&parent_category_id='+$('#parent_category_id').val()+'&filename_prefix='+data.filename_prefix+'&filename='+data.fileName+'&filesize='+data.fileSize+'&public_file_upload=1';
91
92			window.onbeforeunload = function() {
93				return 'You have unsaved changes.';
94			};
95
96			$.ajax({
97				type: "POST",
98				data: thedata,
99				url: '?'+$('#submit_url').val(),
100				success: function(response,textStatus) {
101					$(data.upload_wrap).removeClass('uploading');
102					$(data.upload_wrap).find('.seconds-remaining').html('Done!');
103					if(!$('.upload-wrap.uploading').length) {
104						$('#upload-button').css({'display':'inline-block'}).removeClass('disabled');
105					} else {
106						$('#upload-button').css({'display':'none'}).addClass('disabled');
107					}
108				}
109			});
110		},
111	});
112});
113
114$('#upload-button').click(function() {
115	window.location.href = '?'+$('#submit_url').val()+'&uploaded=1';
116	return false;
117});
118
119$('input[name=submitter_name]').on('keyup',function() { check_required_fields(); });
120$('input[name=submitter_email]').on('keyup',function() { check_required_fields(); });
121
122function check_required_fields() {
123	//$("#upload-button").addClass('disabled');
124
125	var pass = 1;
126	if(!$('input[name=submitter_name]').val()) pass = 0;
127	if(!$('input[name=submitter_email]').val()) pass = 0;
128	// if(!$('.upload-wrap.uploading').length) pass = 0;
129
130	if(pass) {
131		$('#upload-field-wrap').show();
132		//$("#upload-button").removeClass('disabled');
133	} else {
134		$('#upload-field-wrap').hide();
135	}
136}

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.