mirror of
https://gitlab.com/skysthelimit.dev/selenite.git
synced 2025-06-16 18:42:08 -05:00
Upload files to "waflash"
This commit is contained in:
parent
167834c369
commit
f4c88b4180
712
waflash/index.html
Normal file
712
waflash/index.html
Normal file
@ -0,0 +1,712 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Working Demo for WAFlash</title>
|
||||||
|
<script src="js/common2.js" type="text/javascript"></script>
|
||||||
|
<script>
|
||||||
|
var gadb=false;
|
||||||
|
function setstorage(name,value){
|
||||||
|
if (window.localStorage){
|
||||||
|
localStorage[name]=value+'';
|
||||||
|
}else{
|
||||||
|
//setCookie(name, value, 1000*60*60*24*365*10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getstorage(name){
|
||||||
|
var s;
|
||||||
|
if (window.localStorage){
|
||||||
|
s=localStorage[name];
|
||||||
|
}else{
|
||||||
|
//s=getCookie(name);
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table id="maintable" align=center class="divopt">
|
||||||
|
<div style="margin-top:2px;margin-bottom:1px">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div id="dfile1" style="display:inline"></div>
|
||||||
|
<td>
|
||||||
|
</table>
|
||||||
|
<script>document.getElementById("dfile1").innerHTML='<input type="file" id="fileload1" name="files[]" style="width:230px">';</script>
|
||||||
|
</div>
|
||||||
|
<div id="codearea" style="margin-bottom:15px;margin-top:5px"></div>
|
||||||
|
<textarea id="script1" style="display:none"><script>
|
||||||
|
function proc_loaded(){
|
||||||
|
document.getElementById('loading').style.display='none';
|
||||||
|
}
|
||||||
|
function init(){
|
||||||
|
window.addEventListener('click',function(e){
|
||||||
|
window.focus();
|
||||||
|
},false);
|
||||||
|
}
|
||||||
|
init();
|
||||||
|
</script>
|
||||||
|
</textarea>
|
||||||
|
<tr>
|
||||||
|
<td align=center>
|
||||||
|
<script>
|
||||||
|
function proc_sample(filename){
|
||||||
|
var resp={};
|
||||||
|
resp.id='(Sample) '+filename;
|
||||||
|
resp.title=resp.id;
|
||||||
|
resp.downloadUrl="https://thumbsdb.herokuapp.com/flashplayer/sample/"+filename;
|
||||||
|
resp.issample=true;
|
||||||
|
gd_loadfile('',resp);
|
||||||
|
}
|
||||||
|
|
||||||
|
var gfiles;
|
||||||
|
var gmaxsize=60;
|
||||||
|
function handleFileSelect(files){
|
||||||
|
if(!window.FileReader || !window.XMLHttpRequest){
|
||||||
|
alert("This browser does not support.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(files) gfiles=files;
|
||||||
|
if(!gfiles || gfiles.length==0) return;
|
||||||
|
|
||||||
|
var tot=0;
|
||||||
|
for(var i = 0, f; f = gfiles[i]; i++){
|
||||||
|
|
||||||
|
var usearray=false;
|
||||||
|
var f=gfiles[i];
|
||||||
|
if(f.size>gmaxsize*1024*1024){
|
||||||
|
alert('The file size is too large to view. (around '+gmaxsize+' MB limit)');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function(e) {
|
||||||
|
var blob = new Blob([e.target.result]);
|
||||||
|
gd_bloburl=window.URL.createObjectURL(blob);
|
||||||
|
var resp={};
|
||||||
|
resp.id='(Local) '+this.name;
|
||||||
|
resp.title=resp.id;
|
||||||
|
proc_loadgame(gd_bloburl, resp);
|
||||||
|
};
|
||||||
|
reader.onerror = function(){
|
||||||
|
alert('Read Error: '+this.name);
|
||||||
|
};
|
||||||
|
reader.id=i;
|
||||||
|
reader.name=f.name;
|
||||||
|
if(!reader.readAsArrayBuffer){
|
||||||
|
alert("This browser does not support.");
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
reader.readAsArrayBuffer(f);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function init2(){
|
||||||
|
_getid('fileload1').onchange=function(e){
|
||||||
|
if(!e || !e.target){
|
||||||
|
alert("This browser does not support.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
handleFileSelect(e.target.files);
|
||||||
|
}
|
||||||
|
var holder = document;
|
||||||
|
holder.ondragover = function (e) {
|
||||||
|
try{var ua=navigator.userAgent;
|
||||||
|
if(ua && ua.indexOf("Chrome")>=0){
|
||||||
|
if(e.originalEvent) e = e.originalEvent;
|
||||||
|
if(e.dataTransfer){
|
||||||
|
var b = e.dataTransfer.effectAllowed;
|
||||||
|
e.dataTransfer.dropEffect = ('move' === b || 'linkMove' === b) ? 'move' : 'copy';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch(err){}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
holder.ondragend = function () { return false; };
|
||||||
|
holder.ondrop = function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
handleFileSelect(e.dataTransfer.files);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
if(navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("windows")>=0){
|
||||||
|
var a=_getid('fileload1');
|
||||||
|
a.setAttribute("accept",".swf");
|
||||||
|
}
|
||||||
|
var s=100;
|
||||||
|
if(!isNaN(s)){
|
||||||
|
if(s<0) s=0; if(s>100) s=100;
|
||||||
|
}
|
||||||
|
sel_emulator_onchange();
|
||||||
|
window.onbeforeunload=function(){
|
||||||
|
for(var i = 0; i < g_lastdata.length; i++){
|
||||||
|
if(g_lastdata[i].url) window.URL.revokeObjectURL(g_lastdata[i].url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function sel_emulator_onchange(){
|
||||||
|
setstorage('sel_emulator',"emu2");
|
||||||
|
}
|
||||||
|
function volume1_onchange(){
|
||||||
|
try{
|
||||||
|
setstorage('volume1',_getid('volume1').value);
|
||||||
|
var v=parseInt(_getid('volume1').value)/100;
|
||||||
|
var a=_getid("emulator2");
|
||||||
|
if(a){
|
||||||
|
var ifrm=_getfrmdoc(a);
|
||||||
|
if(ifrm && ifrm.proc_volume) ifrm.proc_volume(v);
|
||||||
|
}
|
||||||
|
}catch(err){}
|
||||||
|
}
|
||||||
|
function size_width_onchange(f,nosize){
|
||||||
|
var w=_getid('size_width').value;
|
||||||
|
var h=_getid('size_height').value;
|
||||||
|
if(w<100)w=100;
|
||||||
|
if(w>1000)w=1000;
|
||||||
|
if(h<100)h=100;
|
||||||
|
if(h>900)h=900;
|
||||||
|
if(f){
|
||||||
|
_getid('size_width_n').value=w;
|
||||||
|
_getid('size_height_n').value=h;
|
||||||
|
}
|
||||||
|
function find(parent){
|
||||||
|
var a=parent.getElementsByTagName('*');
|
||||||
|
for(var i = 0; i < a.length; i++){
|
||||||
|
var s=a[i].tagName;
|
||||||
|
if (s=="IFRAME" || s=="EMBED" || s=="OBJECT"){
|
||||||
|
if (s=="OBJECT") find(a[i]);
|
||||||
|
a[i].width=w;
|
||||||
|
a[i].height=h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!nosize) find(_getid("codearea"));
|
||||||
|
}
|
||||||
|
function size_width_n_onchange(f){
|
||||||
|
var w=_getid('size_width_n').value;
|
||||||
|
var h=_getid('size_height_n').value;
|
||||||
|
if(w<100)w=100;
|
||||||
|
if(w>1000)w=1000;
|
||||||
|
if(h<100)h=100;
|
||||||
|
if(h>900)h=900;
|
||||||
|
_getid('size_width').value=w;
|
||||||
|
_getid('size_height').value=h;
|
||||||
|
size_width_onchange();
|
||||||
|
}
|
||||||
|
|
||||||
|
function vphistory_onchange(f){
|
||||||
|
if(!f.value)return;
|
||||||
|
for(var i = 0; i < g_lastdata.length; i++){
|
||||||
|
if(g_lastdata[i].id==f.value){
|
||||||
|
proc_loadgame(g_lastdata[i].url, g_lastdata[i].resp,true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function set_flashvars(){
|
||||||
|
var f=_getid('sel_vphistory');
|
||||||
|
if(!f || !f.value)return;
|
||||||
|
for(var i = 0; i < g_lastdata.length; i++){
|
||||||
|
if(g_lastdata[i].id==f.value){
|
||||||
|
var s1=g_lastdata[i].resp.flashvars || '';
|
||||||
|
while(true){
|
||||||
|
s=prompt('Please enter a flashvars value to apply.\nex) aaa=1&bbb=2&ccc=3',s1);
|
||||||
|
if(s==null)return;
|
||||||
|
if(!s) s='';
|
||||||
|
if(s.indexOf('"')>=0){
|
||||||
|
s1=s;
|
||||||
|
alert('Double Quotation(") character is not allowed.');
|
||||||
|
}else{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_lastdata[i].resp.flashvars=s;
|
||||||
|
alert('It has changed the flashvars value. Click the "Refresh" button above to apply to the current flash.');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var g_lastdata2, script2, gbloburl;
|
||||||
|
var g_lastdata=[];
|
||||||
|
function proc_loadscript(src,callback_ok,callback_err){
|
||||||
|
try{
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open('GET', src);
|
||||||
|
xhr.onload = function(){
|
||||||
|
if(this.status == 200){
|
||||||
|
script2=this.response;
|
||||||
|
callback_ok();
|
||||||
|
}else{
|
||||||
|
callback_err();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.onerror = function(){
|
||||||
|
callback_err();
|
||||||
|
};
|
||||||
|
xhr.send();
|
||||||
|
}catch(err){
|
||||||
|
callback_err();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function proc_loadgame(url, resp, ishistory){
|
||||||
|
var sel_emulator="emu2" ;
|
||||||
|
if(window.WebAssembly && sel_emulator=='emu2' && !script2){
|
||||||
|
proc_loadscript('emulator2/emu2.php?t=2',function(){
|
||||||
|
proc_loadgame(url, resp, ishistory);
|
||||||
|
},function(){
|
||||||
|
alert('Error. Can not download a emulator scripts.');
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_lastdata2={};
|
||||||
|
g_lastdata2.url=url;
|
||||||
|
g_lastdata2.resp=resp;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var w=1000
|
||||||
|
var h=900
|
||||||
|
var a=get_data();
|
||||||
|
for(var i=0; i <= a.length-1; i++){
|
||||||
|
if(a[i].id==resp.id){
|
||||||
|
w=a[i].width;
|
||||||
|
h=a[i].height;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var codearea=_getid('codearea');
|
||||||
|
|
||||||
|
if(sel_emulator=='emu1' || sel_emulator=='emu2'){
|
||||||
|
if(!window.WebAssembly){
|
||||||
|
alert("This browser does not support \"Play by Flash Emulator\". Please upgrade your browser.");return;
|
||||||
|
}
|
||||||
|
var s1='';
|
||||||
|
if(sel_emulator=='emu2'){
|
||||||
|
gbloburl=url;
|
||||||
|
s1=script2;
|
||||||
|
}else{
|
||||||
|
var s='<embed width="100%" height="100%" src="'+url+'" quality="high" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="never"';
|
||||||
|
if(resp.flashvars && resp.flashvars.indexOf('"')<0){
|
||||||
|
s+=' flashvars="'+resp.flashvars+'"';
|
||||||
|
}
|
||||||
|
s+='>';
|
||||||
|
s1='<html><body><style>body,table,td {font-size:14px; font-family: Arial, Helvetica, sans-serif;}</style>';
|
||||||
|
s1+='<table id="loading" style="position:absolute;left:10px;top:20px;background: white;padding:3px;border:0px solid silver;-webkit-box-shadow: 0 0 10px #999;-moz-box-shadow: 0 0 10px #999; box-shadow: 0 0 10px #999;"><tr>';
|
||||||
|
s1+='<td><img src="/etc/wait.gif">';
|
||||||
|
s1+='<td>Loading library... Please wait a moment.</table>';
|
||||||
|
s1+=s;
|
||||||
|
s1+=_getid('script1').value;
|
||||||
|
s1+='</body></html>';
|
||||||
|
}
|
||||||
|
|
||||||
|
var c=_getid('emulator2');
|
||||||
|
if(!c){
|
||||||
|
codearea.innerHTML='<iframe id="emulator2" width="'+w+'" height="'+h+'" frameborder="0" marginwidth="0" marginheight="0" scrolling="NO" allow="autoplay; fullscreen"></iframe>';
|
||||||
|
c=_getid('emulator2');
|
||||||
|
if(!c)return;
|
||||||
|
}else{
|
||||||
|
c.width=w;
|
||||||
|
c.height=h;
|
||||||
|
}
|
||||||
|
var ifrm=_getfrmdoc(c);
|
||||||
|
if(ifrm){
|
||||||
|
c.onload=function(){
|
||||||
|
c.onload=null;
|
||||||
|
ifrm.document.open();
|
||||||
|
ifrm.document.write(s1);
|
||||||
|
ifrm.document.close();
|
||||||
|
}
|
||||||
|
ifrm.location.replace('about:blank');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//check_flash();
|
||||||
|
var s='';
|
||||||
|
if(!okflash) s+='<div style="margin-bottom:5px"><font style="color:green">Adobe Flash Player is required. Check the flash player is installed.<br>or Select the "Flash Emulator" above (latest browsers) and Click the Refresh button above.</font></div>';
|
||||||
|
s+='<embed width="'+w+'" height="'+h+'" src="'+url+'" quality="high" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="never"';
|
||||||
|
if(resp.flashvars && resp.flashvars.indexOf('"')<0){
|
||||||
|
s+=' flashvars="'+resp.flashvars+'"';
|
||||||
|
}
|
||||||
|
s+='>';
|
||||||
|
//s='<iframe width="'+w+'" height="'+h+'" src="'+url+'"></iframe>';
|
||||||
|
codearea.innerHTML=s;
|
||||||
|
}
|
||||||
|
codearea.data=resp.id;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var okflash=null;
|
||||||
|
function check_flash(){
|
||||||
|
if(okflash!=null)return;
|
||||||
|
okflash=false;
|
||||||
|
try{
|
||||||
|
if(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'))okflash=true;
|
||||||
|
}catch(e){
|
||||||
|
var a=navigator.mimeTypes;
|
||||||
|
if(a && a['application/x-shockwave-flash'] != undefined && a['application/x-shockwave-flash'].enabledPlugin)okflash=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function openWindow(url, name, w, h) {
|
||||||
|
var winX = 0;
|
||||||
|
var winY = 0;
|
||||||
|
if (parseInt(navigator.appVersion) >= 4) {
|
||||||
|
winX = (screen.availWidth - w)*.5;
|
||||||
|
winY = (screen.availHeight - h)*.5;
|
||||||
|
}
|
||||||
|
var features = 'width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY +', resizable=yes, scrollbars=yes';
|
||||||
|
var win=window.open(url, name, features);
|
||||||
|
if(win) win.focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_data(){
|
||||||
|
var s=getstorage('drive_data');
|
||||||
|
if(!s) s='[]';
|
||||||
|
var a=[];
|
||||||
|
try{
|
||||||
|
a=JSON.parse(s);
|
||||||
|
}catch(err){
|
||||||
|
a=[];
|
||||||
|
}
|
||||||
|
if(!a)a=[];
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
function proc_close(){
|
||||||
|
_getid('codearea').innerHTML='';
|
||||||
|
}
|
||||||
|
function proc_refresh(){
|
||||||
|
if(g_lastdata2){
|
||||||
|
proc_loadgame(g_lastdata2.url, g_lastdata2.resp, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function proc_save(){
|
||||||
|
var obj=_getid('codearea');
|
||||||
|
if(!obj.data)return;
|
||||||
|
|
||||||
|
var a=get_data();
|
||||||
|
if(a.length>30){
|
||||||
|
a.splice(0,1);
|
||||||
|
}
|
||||||
|
for(var i=0; i <= a.length-1; i++){
|
||||||
|
if(a[i].id==obj.data){
|
||||||
|
a.splice(i,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var b={}
|
||||||
|
b.id=obj.data;
|
||||||
|
b.width=_getid('size_width').value;
|
||||||
|
b.height=_getid('size_height').value;
|
||||||
|
a.push(b);
|
||||||
|
if(window.JSON) setstorage("drive_data",JSON.stringify(a));
|
||||||
|
show_message("Saved.");
|
||||||
|
_getid('btn_save').style.color="green";
|
||||||
|
}
|
||||||
|
init2();
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var ismsie=false;
|
||||||
|
var issafari=false;
|
||||||
|
if(navigator.appName!="Netscape"){
|
||||||
|
if(navigator.userAgent.indexOf("MSIE")>=0) ismsie=true;
|
||||||
|
}
|
||||||
|
var ua = navigator.userAgent.toLowerCase();
|
||||||
|
if(ua.indexOf('safari') != -1 && ua.indexOf('chrome') <0) issafari=true;
|
||||||
|
|
||||||
|
function gd_btn_login2(){
|
||||||
|
var a=_getid("gd_btn_login");
|
||||||
|
if(a.style.display==''){
|
||||||
|
var x=getScrollLeft()+((getWindowWidth()-a.clientWidth) / 2);
|
||||||
|
var y=getScrollTop()+((getWindowHeight()-a.clientHeight) / 2);
|
||||||
|
a.style["border"]="1px solid #000000";
|
||||||
|
a.style["padding"]="10px";
|
||||||
|
a.style.left=x+"px";
|
||||||
|
a.style.top=y+"px";
|
||||||
|
var b=_getid("gd_frame");
|
||||||
|
b.style.left=x+"px";
|
||||||
|
b.style.top=y+"px";
|
||||||
|
b.style.width=a.offsetWidth+"px";
|
||||||
|
b.style.height=a.offsetHeight+"px";
|
||||||
|
b.style.display='';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function gd_btn_login(isshow){
|
||||||
|
var a=_getid("gd_btn_login");
|
||||||
|
if(isshow){
|
||||||
|
a.style.display='';
|
||||||
|
gd_btn_login2();
|
||||||
|
}else{
|
||||||
|
a.style.display='none';
|
||||||
|
_getid("gd_frame").style.display='none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function gd_login_close(){
|
||||||
|
gd_btn_login(false);
|
||||||
|
gd_state='';
|
||||||
|
}
|
||||||
|
function gd_login_manual(){
|
||||||
|
var p={'client_id': CLIENT_ID, 'scope': SCOPES.join(' '), 'immediate': false};
|
||||||
|
if(gd_userId){p['login_hint']=gd_userId;p['authuser']=-1;}
|
||||||
|
gapi.auth.authorize(p, function (authResult){
|
||||||
|
if (authResult && !authResult.error){
|
||||||
|
gd_loginexp=(new Date()).getTime()+parseInt(authResult.expires_in*0.7*1000);
|
||||||
|
gd_btn_login(false);gd_info();
|
||||||
|
show_message("Login ok!!");
|
||||||
|
if(gd_callback) gd_callback(true);
|
||||||
|
else gd_open_state(true);
|
||||||
|
}else{
|
||||||
|
gd_btn_login(true);
|
||||||
|
show_message("Login failed!!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function gd_login(callback,react){
|
||||||
|
if(gd_loginexp==0 || gd_loginexp<(new Date()).getTime()){
|
||||||
|
}else{
|
||||||
|
callback(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var p={'client_id': CLIENT_ID, 'scope': SCOPES.join(' '), 'immediate': true};
|
||||||
|
if(gd_userId){p['login_hint']=gd_userId;p['authuser']=-1;}
|
||||||
|
gapi.auth.authorize(p, function (authResult){
|
||||||
|
if (authResult && !authResult.error){
|
||||||
|
gd_loginexp=(new Date()).getTime()+parseInt(authResult.expires_in*0.7*1000);
|
||||||
|
gd_btn_login(false);gd_info();
|
||||||
|
callback(true);
|
||||||
|
}else{
|
||||||
|
show_message("Login failed!!");
|
||||||
|
gd_btn_login(true);
|
||||||
|
callback(false);
|
||||||
|
if(react) gd_callback=callback;
|
||||||
|
else gd_callback=null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function gd_loadpicker() {
|
||||||
|
gapi.load('picker',{'callback': function(){
|
||||||
|
gd_pickerloaded=true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function gd_createpicker() {
|
||||||
|
var access_token=gapi.auth.getToken().access_token;
|
||||||
|
if(!access_token){
|
||||||
|
alert('Error!! No access token.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(!gd_picker){
|
||||||
|
var view2 = new google.picker.DocsView(google.picker.ViewId.DOCS);
|
||||||
|
if(gd_mimetype) view2.setMimeTypes(gd_mimetype);
|
||||||
|
view2.setMode(google.picker.DocsViewMode.LIST);
|
||||||
|
|
||||||
|
var view4 = new google.picker.DocsView();
|
||||||
|
view4.setIncludeFolders(true);
|
||||||
|
view4.setParent("root");
|
||||||
|
//view4.setMimeTypes(gd_mimetype);
|
||||||
|
view4.setMode(google.picker.DocsViewMode.LIST);
|
||||||
|
var view5 = new google.picker.View(google.picker.ViewId.RECENTLY_PICKED);
|
||||||
|
|
||||||
|
gd_picker = new google.picker.PickerBuilder()
|
||||||
|
//.enableFeature(google.picker.Feature.NAV_HIDDEN)
|
||||||
|
//.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
|
||||||
|
//.setAppId('')
|
||||||
|
.setLocale("en") //window.navigator.language || window.navigator.userLanguage || "en"
|
||||||
|
.setAppId(CLIENT_ID.split("-")[0]) //scope
|
||||||
|
.setOAuthToken(access_token)
|
||||||
|
.addView(view2)
|
||||||
|
.addView(view4)
|
||||||
|
.addView(view5)
|
||||||
|
.addView(new google.picker.DocsUploadView())
|
||||||
|
.setDeveloperKey(gd_developerKey)
|
||||||
|
.setCallback(gd_pickercallback)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
gd_picker.setVisible(true);
|
||||||
|
}
|
||||||
|
function gd_pickercallback(data) {
|
||||||
|
if (data.action == google.picker.Action.PICKED) {
|
||||||
|
if(data.docs && data.docs.length>0 && data.docs[0].id){
|
||||||
|
var fileId = data.docs[0].id;
|
||||||
|
gd_loadfile(fileId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function gd_loadfile(fileId,mresp){
|
||||||
|
if(gd_isdownloading){
|
||||||
|
alert("It's downloading. Please try again in a few minutes. or Cancel the current download.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_getid("downlink").innerHTML="<table><tr><td><div id='gd_progress'>Ready...</div></table>";
|
||||||
|
|
||||||
|
function go(resp){
|
||||||
|
function end(){
|
||||||
|
gd_isdownloading=false;
|
||||||
|
clearTimeout(messagetimer);
|
||||||
|
hide_message();
|
||||||
|
var a=_getid("downlink");
|
||||||
|
if(a.innerHTML && a.innerHTML.indexOf("adownlink")<0){
|
||||||
|
_getid("downlink").innerHTML='Get a swf, flash file from Computer or from Google Drive, and Play the file directly.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function error(s){
|
||||||
|
alert(s);
|
||||||
|
}
|
||||||
|
//console.log(resp);
|
||||||
|
|
||||||
|
var downloadurl;
|
||||||
|
if(resp.downloadUrl){
|
||||||
|
if(fileId) downloadurl='https://www.googleapis.com/drive/v2/files/'+resp.id+'?alt=media';//resp.downloadUrl;
|
||||||
|
else downloadurl=resp.downloadUrl;
|
||||||
|
}else if(resp.exportLinks){
|
||||||
|
for (x in resp.exportLinks){
|
||||||
|
for(var i = 0; i < gd_export_extension.length; i++){
|
||||||
|
if(x.toLowerCase().indexOf(gd_export_extension[i])>=0){
|
||||||
|
downloadurl=resp.exportLinks[x];
|
||||||
|
resp.fileExtension=gd_export_extension[i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(downloadurl)break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(fileId){
|
||||||
|
var accessToken = gapi.auth.getToken().access_token;
|
||||||
|
if(!accessToken){
|
||||||
|
end();
|
||||||
|
alert('Error!! No access token.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(downloadurl){
|
||||||
|
var ourl=downloadurl;//+'&access_token='+encodeURIComponent(accessToken);
|
||||||
|
//if(downloadurl.indexOf('sample')==0 || resp.issample) ourl=downloadurl;
|
||||||
|
|
||||||
|
function setdown(url){
|
||||||
|
resp.accessToken=accessToken;
|
||||||
|
proc_loadgame(url, resp);
|
||||||
|
if(downloadurl.indexOf('sample')==0 || resp.issample) return;
|
||||||
|
_getid("downlink").innerHTML=' <a id="adownlink" style="font-size:16px">Download this file</a> ('+getsize(resp.fileSize)+') Get a swf, flash file from Computer or from Google Drive, and Play the file directly.';
|
||||||
|
var a=_getid("adownlink");
|
||||||
|
if(a){
|
||||||
|
a.href=(resp.downloadUrl && resp.webContentLink) || ourl;
|
||||||
|
var s='';
|
||||||
|
if(resp.title){
|
||||||
|
if(resp.exportLinks) s=resp.title+'.'+resp.fileExtension;
|
||||||
|
else s=resp.title;
|
||||||
|
}else{
|
||||||
|
s='No Name';
|
||||||
|
}
|
||||||
|
a.title=s || "";
|
||||||
|
a.download=s || "";
|
||||||
|
a.target="_blank";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_getid('emulator')){
|
||||||
|
end();
|
||||||
|
setdown(ourl);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gd_isdownloading=true;
|
||||||
|
_getid("downlink").innerHTML="<table><tr><td><img src='images/wait.gif' align='absmiddle'><td><div id='gd_progress'>Downloading...</div><td> <a href='#' id='gd_cancel' style='font-size:15px;display:none'>Cancel</a></table>";
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var c=_getid('gd_cancel');
|
||||||
|
if(c){
|
||||||
|
c.style.display='';
|
||||||
|
c.onclick=function(){
|
||||||
|
xhr.abort();
|
||||||
|
end();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gd_lastprogress=(new Date()).getTime();
|
||||||
|
xhr.open('GET', ourl);
|
||||||
|
if(issafari) xhr.responseType = 'arraybuffer';
|
||||||
|
else xhr.responseType = 'blob';
|
||||||
|
xhr.onprogress=function(event){
|
||||||
|
if(gd_lastprogress){
|
||||||
|
var elaspetime = new Date();
|
||||||
|
var dt=(elaspetime.getTime()-gd_lastprogress)/1000;
|
||||||
|
if(dt<1)return;
|
||||||
|
gd_lastprogress=elaspetime.getTime();
|
||||||
|
}
|
||||||
|
var a=event;
|
||||||
|
var total=a.totalSize || resp.fileSize || 0;//a.total
|
||||||
|
var current=a.position || a.loaded || 0;
|
||||||
|
var c=_getid('gd_progress');
|
||||||
|
if(c) c.innerHTML='Downloading... ('+number_format(current)+'/'+number_format(total)+')';
|
||||||
|
};
|
||||||
|
if(downloadurl.indexOf('sample')==0 || resp.issample){
|
||||||
|
}else{
|
||||||
|
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
|
||||||
|
}
|
||||||
|
xhr.onload = function(){
|
||||||
|
end();
|
||||||
|
if(this.status == 200){
|
||||||
|
if(issafari){
|
||||||
|
var blob = new Blob([this.response]);
|
||||||
|
}else{
|
||||||
|
var blob = this.response;
|
||||||
|
}
|
||||||
|
gd_bloburl=window.URL.createObjectURL(blob);
|
||||||
|
setdown(gd_bloburl);
|
||||||
|
}else{
|
||||||
|
var s="Error (status) " + this.status + "("+this.statusText+") occurred while receiving the file.";
|
||||||
|
error(s);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.onerror = function(e){
|
||||||
|
end();
|
||||||
|
var s="Error " + e.target.status + " occurred while receiving the file.";
|
||||||
|
error(s);
|
||||||
|
};
|
||||||
|
xhr.send();
|
||||||
|
|
||||||
|
}else{
|
||||||
|
end();
|
||||||
|
if(resp.error && resp.error.message){
|
||||||
|
alert(resp.error.message);
|
||||||
|
}else{
|
||||||
|
alert('Error!! Can not find a download URL.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fileId){
|
||||||
|
gapi.client.load('drive', 'v2', function() {
|
||||||
|
var request = gapi.client.drive.files.get({
|
||||||
|
'fileId': fileId
|
||||||
|
});
|
||||||
|
request.execute(function(resp){
|
||||||
|
go(resp);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
setTimeout(function(){
|
||||||
|
go(mresp);
|
||||||
|
},300);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getsize(fileSize){
|
||||||
|
if(!fileSize) return 'Unknown';
|
||||||
|
function humanFileSize(bytes){
|
||||||
|
var thresh = 1024;
|
||||||
|
if(bytes < thresh) return bytes + ' B';
|
||||||
|
var units = ['kB','MB','GB','TB','PB','EB','ZB','YB'];
|
||||||
|
var u = -1;
|
||||||
|
do {
|
||||||
|
bytes /= thresh;
|
||||||
|
++u;
|
||||||
|
} while(bytes >= thresh);
|
||||||
|
return bytes.toFixed(1)+' '+units[u];
|
||||||
|
}
|
||||||
|
return humanFileSize(fileSize);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
x
Reference in New Issue
Block a user