Question Updated for Bounty
In Flash I need to load a dynamically generated XML file, which is created using PHP.
I'm using the [Bulk-loader library][1] for all my loading.
Currently my Flash can only load a manually created XML file, what I need Flash to do is to load a PHP generated XML File like this:
--- XML path removed ---
When I test movie in Flash using that PHP generated XML File it will work, however the problem lies when I try to either test locally in an HTML page or online. The Flash does not render completely because of some problem obtaining data from the XML.
Here are some links to show where I'm at right now:
[FLash using manually generated XML file][2]
^ Uses: [The XML file][3]
[Flash using PHP generated XML file][4]
^ Uses: [The PHP generated XML File][5]
I searched the Bulk-loader Wiki on how to load a PHP file and for loading type information and found this: [http://code.google.com/p/bulk-loader/][6]
bulkInstance.add("http://mysite.com/top-ten.php", {type:"text"});
bulkInstance.add("http://mysite.com/top-ten.php", {type:"xml"});
bulkInstance.add("http://mysite.com/top-ten.php", {type:"image"});
CODE Snippets
Here is my current code that loads an XML file:
'theXML' variable is obtained form the FlashVars from the HTML
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
theXML = this.loaderInfo.parameters.theXML;
loader = new BulkLoader("bulky");
loader.logLevel = BulkLoader.LOG_INFO;
loader.addEventListener(BulkLoader.COMPLETE, onBulkLoadComplete);
loader.addEventListener(BulkLoader.PROGRESS, onBulkLoadProgress);
/* ------------------------------------------- TESTING */
//Below is manual XML, works when tested local & online
//loader.add("client_user.xml",{id:"xmldata"});
//Below uses PHP generated XML, works when tested in Flash, but no where else
//loader.add("--- XML path removed ---",{id:"xmldata", type:"xml", maxTries: 6, preventCache:true});
/* ------------------------------------------- LIVE */
//loader.add(theXML,{id:"xmldata"});
loader.add(theXML,{id:"xmldata", type:"XML", maxTries: 6, preventCache:true});
loader.start();
}
onBulkLoadComplete code
private function onBulkLoadComplete(e:Event):void
{
trace("[BulkLoader] COMPLETE"+"\r");
Global.xml = loader.getXML("xmldata");
HEX = Global.xml.config.hex.toString(),{id:"hex"};
globalWidth = Global.xml.config.width.toString();
globalHeight = Global.xml.config.height.toString();
videoHeight = (globalHeight - (thumbMenuH + videoY + spacedBtn));
controlsY = (videoHeight + videoY);
trace("············· Config ·············");
//trace(" HEX = "+HEX);
//trace(" globalWidth = "+globalWidth);
//trace(" globalHeight = "+globalHeight);
//trace("··································");
//trace("\r");
// ------------------------------------------------------ XML ARRAY
var x, i;
for(x in Global.xml.tab) {
for(i in Global.xml.tab[x].vid) {
videos.push(Global.xml.tab[x].vid[i].@flv);
thumbTitles.push(Global.xml.tab[x].vid[i].@title);
thumbPaths.push(Global.xml.tab[x].vid[i].@thumb);
}
}
// ------------------------------------------------------ XML ARRAYS
videoName = videos[0]; // Current video is the 1st video
drawBackground();
drawVideo();
drawControls();
drawTabMenu();
// -------------------------------- FIND DEFAULT IMAGE/VIDEO TO LOAD
for(x in Global.xml.tab) {
for(i in Global.xml.tab[x].vid) {
if (Global.xml.tab[x].vid[i].@default == "true") {
//override any flv qued in the display
firstTitle = Global.xml.tab[x].vid[i].@title;
vd.flvPath = Global.xml.tab[x].vid[i].@flv;
//load the default thumbnail
loader = new BulkLoader("thumb");
loader.addEventListener(BulkLoader.COMPLETE, onThumbComplete);
loader.add(new URLRequest(Global.xml.tab[x].vid[i].@thumb),{id:"defaultThumbnail"});
loader.start();
break;
}
}
}
}
HTML Embed Code:
<div>
<h2>Testing TEN player on external domain</h2>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="301" height="353">
<param name="movie" value="http://www.domain1.com/N/N.swf">
<param name="quality" value="high">
<param name="flashVars" value="theXML=http://dev.domain2.com/admin2/client.php?id=2" />
<embed src="http://www.domainname.com/N/N.swf" flashVars="theXML=http://dev.domain2.com/admin2/client_user.php?id=2" allowscriptaccess="always" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="301" height="353">
</embed>
</object>
</div>
Question:
1) How to load a dynamically generated XML file that ends in .php in Flash and render the Flash correctly in an HTML
UPDATE
We got the Flash to read the PHP generated XML file, however we can only view working results when we 'Test Movie' from inside Flash. When we try to get it to work in an HTML page locally or online it won't render correctly.