
Код AS1/AS2:
class com.argumentsCaller extends String {
private var Obj:Object = new Object();
private var Str:String = null;
private var Num:Number = null;
private var Send:LoadVars;
private var Res:LoadVars;
private var args:Function;
private var SO:SharedObject;
private static var version = 1.240710;
public function FlashVars(s:String, a:Array, j:Array):LoadVars {
/*
s : address for sending
a : array of send attributes
j : array of send attributes values
*/
Send = Res = new LoadVars();
for (var i = 0; i < a.length; i++) {
Send[a[i]] = j[i];
if (a[i + 1] == undefined) {
Send.sendAndLoad(s,Res,"POST");
}
}
Res.onLoad = mx.utils.Delegate.create(this, onLoadHandler);
trace(Send);
return Send;
}
private function onLoadHandler(success):Void {
if (success) {
delete Res.onLoad;
this.args();
}
else {
trace("error in database");
}
}
private function getCallBack(f:Function):Void {
args = f;
}
public function Hash(method:String):String {
trace("Method : " + method);
return unescape(Res.toString());
}
public function unHash(method:String):String {
trace("Method : " + method);
return Res.toString();
}
public function SOflash(s:String, a:Array, j:Array, check:String):Void {
/*
s : shared object name
a : array of shared attributes
j : array of shared attributes values
check: some shared attribute, for checking
*/
SO = SharedObject.getLocal(s);
if (SO.data[check] == undefined) {
for (var i = 0; i < a.length; ++i) {
SO.data[a[i]] = j[i];
if (a[i + 1] == undefined) {
SO.flush();
}
}
}
}
private function clear(c):Void {
SO.clear();
}
private function flush(c):Void {
SO.flush();
}
private function setSOAtt(a:Array, j:Array):Void {
if ((a && j) != undefined) {
for (var i = 0; i < a.length; ++i) {
SO.data[a[i]] = j[i];
if (a[i + 1] == undefined) {
break;
}
}
}
}
}