rendered paste bodyimport flash.net.FileReferenceList;
import flash.net.FileReference;
import flash.external.ExternalInterface;
var fList :FileReferenceList = new FileReferenceList();
//var fr:FileReference = new FileReference();
fList.addListener(this);
//fr.addListener(this);
var queue:Array = new Array();
var curType:String;
//var aNames:Array = new Array();
var theName:String;
var currLabel:String;
var oListen:Object = new Object();
var sMethod:String = "selectFiles";
var uMethod:String = "uploadFiles";
var fSelect:Function = select;
var fUpload:Function = upload;
var curr:Number = 0;
var frListen:Object = new Object();
fr.addListener(frListen);
var trailer:Boolean = false;
var poster:Boolean = false;
var video:Boolean = false;
ExternalInterface.addCallback(sMethod,null,fSelect);
ExternalInterface.addCallback(uMethod,null,fUpload);
frListen.onSelect = function(f:FileReference) {
////current.text = "selected";
var p:Number;
if(f.name != "") {
if(curType == "extra") p = queue.push({file: f, type:curType, label: theName});
else p = queue.push({file: f, type:curType});
}
current.text = queue[p-1].file.name;
category.text = "added: "+p;
//delete fr;
//var fr:FileReference = new FileReference;
//fr.addListener(this);
}
function newFr():FileReference {
var fr:FileReference = new FileReference;
fr.addListener(frListen);
return fr;
}
function onSelect(refList:FileReferenceList) {
var fileList:Array = refList.fileList;
var fLen:Number = fileList.length;
var f:FileReference = new FileReference;
var i:Number;
//total.text = fLen;
for(i=0;i<fLen;i++) {
f = fileList[i];
if(f.name != "") { // in case someone cancels we do not want to put in queue empty entry
queue.push({file: f, type: curType});
//queue[i].f = f;
//queue[i].name = f.name;
//queue[i].type = curType;
////current.text = queue[i].f.name;
/*switch(curType) {
case "extra":
queue[i].label = aNames[i];
break;
}*/
}
}
}
oListen.onOpen = function(f:FileReference) {
////current.text = "opening";
////current.text = curr;
}
oListen.onProgress = function(f:FileReference, bL:Number, bT:Number) {
var pct = Math.round((bL/bT)*100);
////current.text = currLabel + "/" + pct + "%";
//var pct:Number = (bL*bT)/100;
prog.bar._xscale = pct;
}
oListen.onComplete = function(f:FileReference) {
//f.removeListener(oListen);
////current.text = f.name;
progress.bar._xscale = 0;
////current.text = "complete";
num.text -= 1;
curr++;
setCurrent();
current.text = f.name;
}
oListen.onHTTPError = function(f:FileReference, httpError:Number) {
//current.text = "error: "+httpError;
}
oListen.onIOError = function(f:FileReference, e:String) {
//current.text = e;
}
function setCurrent() {
var f:FileReference = new FileReference();
f = queue[curr].file;
f.addListener(oListen);
//category.text = queue[curr].type;
if(queue[curr].type == "extra") { // if extra we want to also add label
//current.text = "is extra";
currLabel = queue[curr].label;
f.upload("http://67.84.176.146:5050/up.php?t=extra&e="+currLabel);
}
else {
currLabel = f.name;
f.upload("http://67.84.176.146:5050/up.php?t="+queue[curr].type);
}
//current.text += f.name;
}
function upload() {
var qLen:Number = queue.length;
total.text = qLen;
var f:FileReference = new FileReference();
num.text = qLen;
var i:Number;
//curr = 0;
setCurrent();
//for(i=0;i<qLen;i++) {
//curr = i;
//f = queue[curr].file;
//f.addListener(oListen);
////current.text = "u"+f.name;
////category.text = queue[curr].type;
//if(queue[i].type == "extras") {
//f.upload("http://www.rumurnews.com/up.php"); //?t=extras&n="+queue[i].label);
///} else f.upload("http://localhost:5050/up.php"); //?t="+curType);
//}
}
function select(type:String,sName:String) {//aNames:Array) {
curType = type;
//aNames = aNames;
//theName = sName;
//current.text = type;
switch(type) {
case "extra":
theName = sName;
//current.text = theName;
var f:FileReference = new FileReference();
f.addListener(frListen);
f.browse();
break;
case "dvd":
fList.browse();
break;
default:
var f:FileReference = new FileReference();
f.addListener(frListen);
f.browse();
break;
}
//fList.browse();
}