Обновление AS3 проекта (добавить сбор информации о системе и шрифтах)
1) Требуется добавить в AS3 проект сбор информации о системе и установленных шрифтах и передачи их методом POST на php-скрипт, который сохранит переданные данные. Также php-скрипту должен передаться id.
id легко получить из переменной pr в AS3. Переменная pr имеет вид fl.731b2a3c. В этой строке id=731b2a3c.
(script.php?id=$id&info=$sysinfo)
2) Необходимо убрать логирование в консоль данных из AS3.
3) Необходимо изменить порт loadpolicyfile на 443.
4) Также необходимо создать php-скрипт, который будет сохранять данные в текстовый файл. (/reports/id.txt)
Оплата через PayPal.
Оглашайте цены и сроки.
Вот пример подобного кода:
var fontNames:String;
var sysInfo:String;
var font:flash.text.Font;
var loc3:*=flash.text.Font.enumerateFonts(true).sortOn("fontName", Array.CASEINSENSITIVE);
for each (font in loc3)
{
fontNames = fontNames + this.jsonArrayItem(font.fontName);
}
fontNames = fontNames.slice(0, -1);
props = ["avHardwareDisable", "hasAccessibility", "hasAudio", "hasAudioEncoder", "hasEmbeddedVideo", "hasIME", "hasMP3", "hasPrinting",
"hasScreenBroadcast", "hasScreenPlayback", "hasStreamingAudio", "hasStreamingVideo", "hasTLS", "hasVideoEncoder", "isDebugger", "language", "localFileReadDisable",
"manufacturer", "maxLevelIDC", "os", "pixelAspectRatio", "playerType", "screenColor", "screenDPI", "screenResolutionX", "screenResolutionY", "version"];
i = 0;
while (i
{
sysInfo = sysInfo + this.jsonHashItem(props, flash.system.Capabilities[props]);
++i;
}
sysInfo = sysInfo.slice(0, -1);
alldata = "\"sys\":{" + sysInfo + "},\"fonts\":[" + fontNames + "]";
internal function jsonHashItem(arg1:String, arg2:String):String
{
return "\"" + this.backSlash(arg1) + "\":\"" + this.backSlash(arg2) + "\",";
}
internal function jsonArrayItem(arg1:String):String
{
return "\"" + this.backSlash(arg1) + "\",";
}
internal function backSlash(arg1:String):String
{
arg1 = arg1.replace("\"", "\\\"");
arg1 = arg1.replace("\\", "\\\\");
return arg1;
}
internal function post_info(arg1:String, arg2:String):void
{
var loc1:*=new flash.net.URLVariables();
loc1.id = "arg1";
loc1.info = arg2;
var loc2:*;
(loc2 = new flash.net.URLRequest()).url = "http://www.xxx.com/";
loc2.method = flash.net.URLRequestMethod.POST;
loc2.data = loc1;
var loc3:*;
(loc3 = new flash.net.URLLoader()).dataFormat = flash.net.URLLoaderDataFormat.TEXT;
try
{
loc3.load(loc2);
}
catch (error:Error)
{
};
return;
}