📄 common.js
字号:
/******************************************
* validateUpload()
* validate the uploads before submit
******************************************/
function validateUpload()
{
var hasuploads=false;
var invaliduploads = 0;
var prefix = 'uploadfile';
// prefix of field name
if(currentmode==1) prefix = 'uploadfile';
if(currentmode==2) prefix = 'uploadurl';
if(currentmode==3) prefix = 'uploadftp';
// flash will validate this itself!
if(currentmode!=4)
for(var i=0;i<max_uploads;i++)
{
if(!is_object(prefix+'_'+i)) continue;
var filename=document.getElementById(prefix+'_'+i).value;
if(filename.length) hasuploads = true;
if(filename.length
&&
((allowed_types&&!in_array(filename,allowed_types))
||
(disabled_types&&in_array(filename,disabled_types)))
)
{
document.getElementById(prefix+'_'+i).className='warn';
invaliduploads ++;
}
else
{
document.getElementById(prefix+'_'+i).className='textinput';
}
}
// set hasFlashUploads from flash object
if(currentmode==4)
{
hasuploads = hasFlashUploads;
}
// if no file select
if(hasuploads==false)
{
alert(NoFileSelected);
return false;
}
else if(invaliduploads)
{
if(allowed_types) alert(UploadInvalid+' '+allowed_types+' '+AllowedFiletypes);
else alert(UploadInvalid+' '+disabled_types+' '+DisabledFiletypes);
return false;
}
// detect the filed is available and check it meet the reqirement
if(is_object('fromemail')&&is_object('toemail'))
{
var fromemail=document.getElementById('fromemail').value;
var toemail=document.getElementById('toemail').value;
if(fromemail.length&&!checkmail(fromemail))
{
alert(EmailInvalid);
document.getElementById('fromemail').focus();
return false;
}
if(fromemail.length==0&&toemail.length)
{
alert(SenderRequired);
document.getElementById('fromemail').focus();
return false;
}
}
// check perms is aggreed
if(is_object('terms'))
{
var terms=document.getElementById('terms');
if(terms.checked==false)
{
alert(TOSUnchecked);
document.getElementById('terms').focus();
return false;
}
}
return true;
}
/******************************************
* showProgress(params)
* params: string
* bread,itotal,dtremainingf,dtelapsedf,bspeedf,
******************************************/
var lastRead=0;
var uploadDone=0;
function showProgress(params)
{
document.getElementById('progressbar').style.display= '';
document.getElementById('progressbar2').style.display= '';
var parts = params.split(',');
lastRead = parts[0]>lastRead?parts[0]:lastRead;
if(lastRead && parts[0]==0) return 1;
if(parts[0]==parts[1]&&parts[0]) uploadDone=1;
document.getElementById('bread').innerHTML = parts[0];
document.getElementById('itotal').innerHTML = parts[1];
document.getElementById('dtremainingf').innerHTML = parts[2];
document.getElementById('dtelapsedf').innerHTML = parts[3];
document.getElementById('bspeedf').innerHTML = parts[4];
if(use_flash_progress)
{
document.flash_progress_bar.SetVariable("/:percentage", parts[5]);
} else
{
document.getElementById('progBar').innerHTML= "<div class='progInner' style='width: " + parts[5] + "%;'>" + parts[5] + "%</div>";
}
}
/******************************************
* RegisterNow()
* redirect users to register page.
******************************************/
function RegisterNow()
{
var ok = confirm(NeedRegister);
if(ok==1) document.location = "register.php";
}
/******************************************
* submitEmailForm()
* submit email form after upload is done.
* Note:the form may be resubmitted for 10 times if no uploaded files is found at server
******************************************/
function submitEmailForm()
{
var fromemail=document.getElementById('fromemail').value;
var toemail=document.getElementById('toemail').value;
var terms=document.getElementById('terms');
if(fromemail.length==0&&toemail.length!=0)
{
alert(FromemailNeeded);
return false;
}
else
{
if(uploadDone==0)
{
var iread = document.getElementById('itotal').innerHTML;
var dtremainingf = "00:00:00";
var dtelapsedf = document.getElementById('dtelapsedf').innerHTML;
var bspeedf = document.getElementById('bspeedf').innerHTML;
var percent = "100";
showProgress(iread+","+iread+","+dtremainingf+","+dtelapsedf+","+bspeedf+","+percent);
}
document.emailform.uploadmode.value=currentmode;
setTimeout("document.emailform.submit();", 2000);
//return document.emailform.submit();
}
}
/******************************************
* newUploadField(type)
* generate new upload files
* type:string file,url,ftp
******************************************/
var attaIdx=1;
var fileNum=1;
var urlNum=1;
var ftpNum=1;
function newUploadField(type)
{
if(type=='file') attaIdx = fileNum;
if(type=='url') attaIdx = urlNum;
if(type=='ftp') attaIdx = ftpNum;
if(attaIdx>=max_uploads) {alert(MaxUploadsGot);return;}
var fileobj=document.getElementById(type+'_'+'wraper0');
var filelist=document.getElementById(type+'list');
var filecode = fileobj.innerHTML;
//alert( filecode);
filecode = filecode.replace(/_0/g,'_'+attaIdx+'');
filecode = filecode.replace(/\[0\]/g,'['+attaIdx+']');
//alert( filecode);
new Insertion.After(filelist, '<div id='+type+'_wraper'+attaIdx+'>'+filecode+'</div>');
//clear out the filled values
if(type!='file')
document.getElementById('upload'+type+'_'+attaIdx).value='';
document.getElementById(type+'_descr_'+attaIdx).value='';
document.getElementById(type+'_password_'+attaIdx).value='';
attaIdx++;
if(type=='file') fileNum = attaIdx;
if(type=='url') urlNum = attaIdx;
if(type=='ftp') ftpNum = attaIdx;
}
/******************************************
* calsize()
* output the nice format of bytes
******************************************/
function calsize(obj,str)
{
var size=obj.value;
var unit = 'B';
if(size=='') size=0;
if(size>1024) { size=size/1024; unit='KB'; }
if(size>1024) { size=size/1024; unit='MB'; }
if(size>1024) { size=size/1024; unit='GB'; }
size = Math.round(size*100)/100;
document.getElementById(str).innerHTML=size+' '+unit;
}
/******************************************
* showDownloadLinks()
* show the download links after the upload
******************************************/
function showDownloadLinks()
{
var uploadfrmdoc = document.getElementById('emailframe').contentWindow;
try{
document.getElementById('uploadresults').innerHTML = uploadfrmdoc.document.getElementById('linksholder').innerHTML;
document.getElementById('uploadoverview').innerHTML = uploadfrmdoc.document.getElementById('uploadoverview').innerHTML;
}
catch (e) {alert(e)}
document.getElementById('uploadresults').style.display='';
document.getElementById('uploadoverview').style.display='';
document.getElementById('helpwindow').style.display='none';
}
/******************************************
* showDownloadErrors()
* show the download errors if the upload fails
******************************************/
function showDownloadErrors()
{
try{
document.getElementById('uploaderror').style.display='';
document.getElementById('uperror').innerHTML=document.getElementById('uploadframe').contentWindow.document.getElementById('upload_errors').innerHTML;
resetUploadInterface();
stopUpload();
}catch (e) {
alert('showDownloadErrors:'+e)
}
}
/******************************************
* resetUploadInterface()
* show the upload interface again if the upload fails
******************************************/
function resetUploadInterface()
{
try{
lastRead=0;
uploadDone=0;
document.getElementById('uploadwindow').style.display='';
document.getElementById('emailwindow').style.display='';
document.getElementById('uploadoverview').style.display='none';
document.getElementById('uploadresults').style.display='none';
document.getElementById('progressbar').style.display='none';
document.getElementById('progressbar2').style.display='none';
document.getElementById('helpwindow').style.display='none';
}catch (e) {
alert('resetUploadInterface:'+e)
}
}
/******************************************
* startUploading()
* initiate the upload interface once user click upload
******************************************/
function startUploading()
{
try{
lastRead=0;
uploadDone=0;
document.getElementById('uploaderror').style.display ='none';
document.getElementById('uploadwindow').style.display ='none';
document.getElementById('emailwindow').style.display ='none';
document.getElementById('uploadoverview').style.display='none';
document.getElementById('uploadresults').style.display ='none';
document.getElementById('progressbar').style.display ='';
document.getElementById('progressbar2').style.display ='';
document.getElementById('helpwindow').style.display ='';
// flash progress bar detect!
if(use_flash_progress)
{
var version = deconcept.SWFObjectUtil.getPlayerVersion();
if (document.getElementById && (version['major'] > 0)) {
if(version['major']<6)
{
use_flash_progress = 0;
document.getElementById('flash_progress_bar').style.display='none';
document.getElementById('progBar').style.display='block';
}
else
{
if(typeof(flashObj('flash_progress_bar'))=='object') return '';
var so = new SWFObject(flashProgressPath, "flash_progress_bar", "364", "40", "7", "#ffffff");
so.addParam('allowScriptAccess','always');
so.addParam('wmode','transparent');
so.write("flashprogressobj");
document.getElementById('progBar').style.display='none';
}
}
}
stopupload = false;
}catch (e) {
alert('startUploading:'+e)
}
}
/******************************************
* ch_mode(id)
* switch upload mode,and record the mode into cookie
* id:string file,url,ftp
******************************************/
function ch_mode(id)
{
for(var i=1;i<=4;i++)
{
if(i==id)
{
currentmode=id;
setcookie('yab_uploadmode',id);
document.getElementById('uploadmode'+i).style.display='';
document.uploadform.action=actions[id];
if(id==4)
{
var version = deconcept.SWFObjectUtil.getPlayerVersion();
if (document.getElementById && (version['major'] > 0)) {
if(version['major']<8)
{
document.getElementById('uploadmode4').style.display='none';
document.getElementById('flashversion').style.display='block';
}
else
{
buildFlashUpload(flashPath);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -