PageSourceSearch

https://community.dryfta.com/templates/system/js/file_uploader_comments.js?ver=24092026

js dryfta.com collected 2026-09-24 09:26:12 UTC 16,489 bytes, 490 lines download raw bytes

1
2window.BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;
3
4function sendChunkRequest(filefieldid, filename, foldername, siteurl, itemid) {
5	var blob = document.getElementById(filefieldid).files[0];
6	var BYTES_PER_CHUNK = 5000000; // 5MB chunk sizes.
7	var SIZE = blob.size;
8	var start = 0;
9	var end = BYTES_PER_CHUNK;
10	window.uploadcounter=0;
11	window.uploadfilearray = [];
12	document.getElementById('progressNumber'+filefieldid).innerHTML = " 0 % ";
13	document.getElementById("fileProgressBar"+filefieldid).style.width = "1%";
14	
15	while( start < SIZE ) {
16		var chunk = blob.slice(start, end);
17		window.uploadfilearray[window.uploadcounter] = chunk;
18		window.uploadcounter = window.uploadcounter+1;
19		start = end;
20		end = start + BYTES_PER_CHUNK;
21	}
22	window.uploadcounter = 0;
23	window.uploadpercent = 0;
24	uploadFileChunkFile(window.uploadfilearray[window.uploadcounter], filefieldid, filename, foldername, siteurl, itemid, BYTES_PER_CHUNK);
25}
26
27function uploadFileChunkFile(blobFile, filefieldid, filename, foldername, siteurl, itemid, BYTES_PER_CHUNK) {
28	var fd = new FormData();
29	fd.append("fileToUpload", blobFile);
30	fd.append("fileid", filefieldid);
31	fd.append("filename", filename);
32	fd.append("foldername", foldername);
33	fd.append("itemid", itemid);
34	fd.append("chunksize", BYTES_PER_CHUNK);
35	
36	var xhr = new XMLHttpRequest();
37	xhr.open("POST", siteurl+"index.php?option=com_dryfta&view=event&task=uploadChunkedFile");
38	
39    var percent_complete = 0;
40    // Upload progress on request.upload
41    xhr.upload.addEventListener('progress', function(e) {
42		percent_complete = ((e.loaded / e.total)*100) / window.uploadfilearray.length;
43    	var totaluploadpercent = 0;
44    	totaluploadpercent =  window.uploadpercent + Math.round(percent_complete);
45    	if(totaluploadpercent > 100){ totaluploadpercent = 100; }
46    	
47    	// Percentage of upload completed
48    	document.getElementById('progressNumber'+filefieldid).innerHTML = ' '+totaluploadpercent+'%';
49		document.getElementById("fileProgressBar"+filefieldid).style.width = totaluploadpercent+"%";
50    });
51
52	xhr.onload = function(e) {
53	    
54	    //console.log(xhr.response);
55		window.uploadcounter = window.uploadcounter+1;
56        
57        window.uploadpercent = window.uploadpercent + Math.round(percent_complete);
58        
59		if (window.uploadfilearray.length > window.uploadcounter ){
60    		uploadFileChunkFile(window.uploadfilearray[window.uploadcounter], filefieldid, filename, foldername, siteurl, itemid, BYTES_PER_CHUNK); 
61    		//var percentloaded2 = parseInt((window.uploadcounter/window.uploadfilearray.length)*100);
62		}else{
63		    
64		    if(BYTES_PER_CHUNK == 20000000){
65		        document.getElementById("bgprogressbar_"+filefieldid).innerHTML = 'File uploaded, moving to Vimeo server.';
66		        //video file - upload to vimeo
67		        moveUploadedFileToVimeo(filefieldid, filename, foldername, siteurl, itemid);
68		    }else{
69		        document.getElementById("bgprogressbar_"+filefieldid).innerHTML = 'File uploaded, moving to Amazon Web Services server.';
70		        //upload file to s3
71		        moveUploadedFileTos3(filefieldid, filename, foldername, siteurl, itemid);
72		    }
73    		
74		}
75	};
76	
77    xhr.ontimeout = function(error) {
78        //handle the timeout
79        alert('Request timeout.');
80        var element = document.getElementById("bgprogressbar_"+filefieldid);
81        element.parentNode.removeChild(element);
82	    document.getElementById('page-loader').style.display='none';
83    };
84    
85    xhr.onerror = function(XMLHttpRequest, textStatus, errorThrown) {
86    
87        var element = document.getElementById("bgprogressbar_"+filefieldid);
88        if (XMLHttpRequest.readyState == 4) {
89            // HTTP error (can be checked by XMLHttpRequest.status and XMLHttpRequest.statusText)
90            alert('Network error'); //alert(XMLHttpRequest.statusText);
91            element.parentNode.removeChild(element);
92		    document.getElementById('page-loader').style.display='none';
93
94        }
95        else if (XMLHttpRequest.readyState === 0) {
96            // Network error (i.e. connection refused, access denied due to CORS, etc.)
97            alert('Connection refused');
98            element.parentNode.removeChild(element);
99		    document.getElementById('page-loader').style.display='none';
100        }
101        else {
102            //something weird is happening
103            alert('Error occured.');
104            element.parentNode.removeChild(element);
105		    document.getElementById('page-loader').style.display='none';
106        }
107    };
108
109	xhr.send(fd);
110}
111
112function moveUploadedFileTos3(filefieldid, filename, foldername, siteurl, itemid){
113    
114    var fd = new FormData();
115	fd.append("filename", filename);
116	fd.append("foldername", foldername);
117	fd.append("commentpic", 1);
118	fd.append("itemid", itemid);
119	
120	var url = siteurl+"index.php?option=com_dryfta&view=event&task=moveUploadedFileTos3";
121	var obj = new XMLHttpRequest();
122	try
123	{
124	obj=new ActiveXobject("Microsoft.XMLHTTP"); 
125	}
126	catch(e)
127	{
128	try
129	{
130	obj=new XMLHttpRequest();
131	}
132	catch(e)
133	{ 
134	alert("your browser not support AJAX");
135	}
136	}
137	//step2
138
139	//Send the proper header information along with the request
140	obj.open("POST",url,true);
141	obj.send(fd);
142	//step3
143	obj.onreadystatechange=function()
144	{
145	if(obj.readyState==4 && obj.status == 200)
146	{
147		var res = JSON.parse(obj.responseText);
148		if(res.flag == 1){
149		    
150		    var element = document.getElementById("bgprogressbar_"+filefieldid);
151            element.parentNode.removeChild(element);
152		    document.getElementById('page-loader').style.display='none';
153            if(document.getElementById("file_name_"+filefieldid)){
154                document.getElementById("file_name_"+filefieldid).innerHTML = "<span style='color:red;'>"+res.error +"</span>";
155            }
156            
157		}else{
158		    
159		    //document.getElementById('progressNumber'+filefieldid).innerHTML = '100% ';
160		    //document.getElementById("fileProgressBar"+filefieldid).style.width = "100%";
161		    document.getElementById("bgprogressbar_"+filefieldid).innerHTML = ' '+filename+' - Uploaded';
162		    document.getElementById("bgprogressbar_"+filefieldid).style.background = "#46bf83";
163
164		    document.getElementById('file_preview_'+filefieldid).innerHTML = '<input type="hidden" id="attachment'+filefieldid+'" value="'+res.fileName+'"/>';
165		    fileUploadedSaveData();
166		}
167	}
168	};
169	
170	obj.onerror = function() {
171        alert("Request failed!");
172        var element = document.getElementById("bgprogressbar_"+filefieldid);
173        element.parentNode.removeChild(element);
174        document.getElementById('page-loader').style.display="none";
175    };
176}
177
178function sendUploadRequestToS3(filefieldid, filename, foldername, siteurl, itemid) {
179	var fd = new FormData();
180	
181	var blobFile = document.getElementById(filefieldid).files[0];
182	fd.append("fileToUpload", blobFile);
183	fd.append("foldername", foldername);
184	fd.append("commentpic", 1);
185	fd.append("itemid", itemid);
186	
187	var url = siteurl+"index.php?option=com_dryfta&view=event&task=sendUploadRequestToS3";
188	var obj = new XMLHttpRequest();
189	try
190	{
191	obj=new ActiveXobject("Microsoft.XMLHTTP"); 
192	}
193	catch(e)
194	{
195	try
196	{
197	obj=new XMLHttpRequest();
198	}
199	catch(e)
200	{ 
201	alert("your browser not support AJAX");
202	}
203	}
204	//step2
205
206	//Send the proper header information along with the request
207	// Upload progress on request.upload
208    obj.upload.addEventListener('progress', function(e) {
209    	var percent_complete = (e.loaded / e.total)*100;
210    	// Percentage of upload completed
211    	document.getElementById('progressNumber'+filefieldid).innerHTML = Math.round(percent_complete)+'%';
212    	document.getElementById("fileProgressBar"+filefieldid).style.width = Math.round(percent_complete)+"%";
213    });
214
215	obj.open("POST",url,true);
216	obj.send(fd);
217	//step3
218	obj.onreadystatechange=function()
219	{ 
220	if(obj.readyState==4 && obj.status == 200)
221	{
222		var res = JSON.parse(obj.responseText);
223		if(res.flag == 1){
224		    var element = document.getElementById("bgprogressbar_"+filefieldid);
225            element.parentNode.removeChild(element);
226		    document.getElementById('page-loader').style.display='none';
227
228            if(document.getElementById("file_preview_"+filefieldid)){
229                document.getElementById("file_preview_"+filefieldid).innerHTML = "<span style='color:red;'>"+res.error +"</span>";
230            }
231		}else{
232		    
233		    document.getElementById('progressNumber'+filefieldid).innerHTML = '100% ';
234		    document.getElementById("fileProgressBar"+filefieldid).style.width = "100%";
235		    document.getElementById("bgprogressbar_"+filefieldid).style.background = "#46bf83";
236		    
237		    document.getElementById('file_preview_'+filefieldid).innerHTML = '<input type="hidden" id="attachment'+filefieldid+'" value="'+res.fileName+'"/>';
238		    fileUploadedSaveData();
239		}
240	}
241	};
242	
243	obj.onerror = function() {
244        alert("Request failed!");
245        var element = document.getElementById("bgprogressbar_"+filefieldid);
246        element.parentNode.removeChild(element);
247        document.getElementById('page-loader').style.display="none";
248    };
249}
250
251function removeUploadedFile(filefieldid, filename, foldername, siteurl){
252    
253    var conf = confirm("Sure to delete file?");
254    if(conf === false){ return false; }
255    
256    var url = siteurl+"index.php";
257	var params = "option=com_dryfta&view=event&task=removeUploadedFile&filename="+filename+"&foldername="+foldername;
258	var obj = new XMLHttpRequest();
259	try
260	{
261	obj=new ActiveXobject("Microsoft.XMLHTTP"); 
262	}
263	catch(e)
264	{
265	try
266	{
267	obj=new XMLHttpRequest();
268	}
269	catch(e)
270	{ 
271	alert("your browser not support AJAX");
272	}
273	}
274	//step2
275
276	//Send the proper header information along with the request
277	obj.open("POST",url,true);
278	obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
279	obj.send(params);
280	//step3
281	obj.onreadystatechange=function()
282	{ 
283	if(obj.readyState==4 && obj.status == 200)
284	{
285		var res = obj.responseText;
286		if(res == 1){
287		    document.getElementById('file_preview_'+filefieldid).innerHTML = "";
288		}else{
289            alert('Error Occured');
290		}
291	}
292	};
293	
294	obj.onerror = function() {
295        alert("Request failed!");
296        var element = document.getElementById("bgprogressbar_"+filefieldid);
297        element.parentNode.removeChild(element);
298        document.getElementById('page-loader').style.display="none";
299    };
300}
301
302/*
303*function to upload file.
304* @params - filefieldid, filename, foldername.
305*/
306function uploadFileUsingLibraryBrowse(filefieldid, filename, foldername, siteurl, itemid=''){
307    if(siteurl === undefined){ siteurl = ""; }
308    var blob = document.getElementById(filefieldid).files[0];
309    var filesize = blob.size;
310    
311    if(blob.type == 'video/mp4' || blob.type == 'video/x-flv' || blob.type == 'video/3gpp' || blob.type == 'video/quicktime' || blob.type == 'video/x-msvideo' || blob.type == 'video/x-ms-wmv'){
312        
313        //video file - upload to local then to vimeo.
314        if(filesize > 20000000){
315    	    sendVideoChunkRequest(filefieldid, filename, foldername, siteurl, itemid);
316    	}else{
317    	    sendUploadRequestToLocal(filefieldid, filename, foldername, siteurl, itemid);
318    	}
319    	
320    }else{
321        
322        if(filesize > 10000000){
323    	    sendChunkRequest(filefieldid, filename, foldername, siteurl, itemid);
324    	}else{
325    	    sendUploadRequestToS3(filefieldid, filename, foldername, siteurl, itemid);
326    	}
327        
328    }
329
330}
331
332
333function sendVideoChunkRequest(filefieldid, filename, foldername, siteurl, itemid) {
334	var blob = document.getElementById(filefieldid).files[0];
335	var BYTES_PER_CHUNK = 20000000; // 20MB chunk sizes.
336	var SIZE = blob.size;
337	var start = 0;
338	var end = BYTES_PER_CHUNK;
339	window.uploadcounter=0;
340	window.uploadfilearray = [];
341	document.getElementById('progressNumber'+filefieldid).innerHTML = " 0 % ";
342	document.getElementById("fileProgressBar"+filefieldid).style.width = "1%";
343	
344	while( start < SIZE ) {
345		var chunk = blob.slice(start, end);
346		window.uploadfilearray[window.uploadcounter] = chunk;
347		window.uploadcounter = window.uploadcounter+1;
348		start = end;
349		end = start + BYTES_PER_CHUNK;
350	}
351	window.uploadcounter = 0;
352	window.uploadpercent = 0;
353	uploadFileChunkFile(window.uploadfilearray[window.uploadcounter], filefieldid, filename, foldername, siteurl, itemid, BYTES_PER_CHUNK);
354}
355
356function sendUploadRequestToLocal(filefieldid, filename, foldername, siteurl, itemid) {
357	var fd = new FormData();
358	
359	var blobFile = document.getElementById(filefieldid).files[0];
360	fd.append("fileToUpload", blobFile);
361	fd.append("foldername", foldername);
362	fd.append("commentpic", 0);
363	fd.append("itemid", itemid);
364	
365	var url = siteurl+"index.php?option=com_dryfta&view=event&task=sendUploadRequestToLocal";
366	var obj = new XMLHttpRequest();
367	try
368	{
369	obj=new ActiveXobject("Microsoft.XMLHTTP"); 
370	}
371	catch(e)
372	{
373	try
374	{
375	obj=new XMLHttpRequest();
376	}
377	catch(e)
378	{ 
379	alert("your browser not support AJAX");
380	}
381	}
382	//step2
383
384	//Send the proper header information along with the request
385	// Upload progress on request.upload
386    obj.upload.addEventListener('progress', function(e) {
387    	var percent_complete = (e.loaded / e.total)*100;
388    	// Percentage of upload completed
389    	document.getElementById('progressNumber'+filefieldid).innerHTML = Math.round(percent_complete)+'%';
390    	document.getElementById("fileProgressBar"+filefieldid).style.width = Math.round(percent_complete)+"%";
391    });
392
393	obj.open("POST",url,true);
394	obj.send(fd);
395	//step3
396	obj.onreadystatechange=function()
397	{ 
398	if(obj.readyState==4 && obj.status == 200)
399	{
400		var res = JSON.parse(obj.responseText);
401		if(res.flag == 1){
402		    
403		    var element = document.getElementById("bgprogressbar_"+filefieldid);
404            element.parentNode.removeChild(element);
405		    document.getElementById('page-loader').style.display='none';
406
407            if(document.getElementById("file_preview_"+filefieldid)){
408                document.getElementById("file_preview_"+filefieldid).innerHTML = "<span style='color:red;'>"+res.error +"</span>";
409            }
410            
411		}else{
412		    filename = res.fileName;
413		    moveUploadedFileToVimeo(filefieldid, filename, foldername, siteurl, itemid)
414		}
415	}
416	};
417	
418	obj.onerror = function() {
419        alert("Request failed!");
420        var element = document.getElementById("bgprogressbar_"+filefieldid);
421        element.parentNode.removeChild(element);
422        document.getElementById('page-loader').style.display="none";
423    };
424}
425
426function moveUploadedFileToVimeo(filefieldid, filename, foldername, siteurl, itemid){
427    
428    var fd = new FormData();
429	fd.append("filename", filename);
430	fd.append("foldername", foldername);
431	fd.append("commentpic", 1);
432	fd.append("itemid", itemid);
433	
434	var url = siteurl+"index.php?option=com_dryfta&view=event&task=moveUploadedFileToVimeo";
435	var obj = new XMLHttpRequest();
436	try
437	{
438	obj=new ActiveXobject("Microsoft.XMLHTTP"); 
439	}
440	catch(e)
441	{
442	try
443	{
444	obj=new XMLHttpRequest();
445	}
446	catch(e)
447	{ 
448	alert("your browser not support AJAX");
449	}
450	}
451	//step2
452
453	//Send the proper header information along with the request
454	obj.open("POST",url,true);
455	obj.send(fd);
456	//step3
457	obj.onreadystatechange=function()
458	{
459	if(obj.readyState==4 && obj.status == 200)
460	{
461		var res = JSON.parse(obj.responseText);
462		if(res.flag == 1){
463		    
464		    var element = document.getElementById("bgprogressbar_"+filefieldid);
465            element.parentNode.removeChild(element);
466		    document.getElementById('page-loader').style.display='none';
467            if(document.getElementById("file_name_"+filefieldid)){
468                document.getElementById("file_name_"+filefieldid).innerHTML = "<span style='color:red;'>"+res.error +"</span>";
469            }
470            
471		}else{
472		    
473		    //document.getElementById('progressNumber'+filefieldid).innerHTML = '100% ';
474		    //document.getElementById("fileProgressBar"+filefieldid).style.width = "100%";
475		    document.getElementById("bgprogressbar_"+filefieldid).innerHTML = ' '+filename+' - Uploaded';
476		    document.getElementById("bgprogressbar_"+filefieldid).style.background = "#46bf83";
477
478		    document.getElementById('file_preview_'+filefieldid).innerHTML = '<input type="hidden" id="attachment'+filefieldid+'" value="'+res.fileName+'.VIMEOVIDEO"/>';
479		    fileUploadedSaveData();
480		}
481	}
482	};
483	
484	obj.onerror = function() {
485        alert("Request failed!");
486        var element = document.getElementById("bgprogressbar_"+filefieldid);
487        element.parentNode.removeChild(element);
488        document.getElementById('page-loader').style.display="none";
489    };
490}

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.