Reading php generated XML in flash?
- by AdonisSMU
Here is part 1 of our problem (Loading a dynamically generated XML file as PHP in Flash).
Now we were able to get Flash to read the XML file, but we can only see the Flash render correctly when tested(test movie) from the actual Flash program. However, when we upload our files online to preview the Flash does not render correctly, missing some vital information(thumbnails, titles, video etc..).
Here is a link to the Flash file using a manually created XML file (The Flash renders correctly):
http://www.gaban.com/stackoverflow/TEN_xml.html
Here is the path to the manually created XML file:
http://dev.touchstorm.com/ten_hpn_admin2/client_user2.xml
Now here is the link to the Flash file using the PHP generated XML file (Renders incomplete):
http://www.gaban.com/stackoverflow/TEN_php.html
Path to the PHP generated file (exactly the same as the manually created one):
http://dev.touchstorm.com/ten_hpn_admin2/client_user.php?id=2
Additional information:
The SWF file exists on Domain 1
The XML & PHP file both exists on Domain 2
And the HTML file with the embed code lies on Domain 3
Wondering if this could be a crossdomain issue? We have one of those files in place on Domain 1 & 2 where we have access too, however for Domain 3 we can't have a crossdomain.xml file there.
Here is the PHP code:
$xml = new XMLWriter();
$xml->openMemory();
$xml->setIndent(true);
$xml->setIndentString("\t");
$xml->startDocument();
$xml->startElement('data');
$xml->startElement('config');
$xml->startElement('hex');
$xml->writeCData('0x' . $widget_profile['background_color']);
$xml->endElement();
$xml->startElement('width');
$xml->writeCData($widget_profile['width']);
$xml->endElement();
$xml->startElement('height');
$xml->writeCData($widget_profile['height']);
$xml->endElement();
$xml->startElement('fullscreen');
$xml->writeCData('false');
$xml->endElement();
$xml->startElement('special');
$xml->writeCData('false');
$xml->endElement();
$xml->startElement('specialName');
$xml->writeCData('Tools & Offers');
$xml->endElement();
$xml->startElement('specialLink');
$xml->writeCData('http://bettycrocker.com');
$xml->endElement();
$xml->startElement('client');
$xml->writeCData($widget_profile['site_url']);
$xml->endElement();
$xml->endElement();
if (count($widget_content) > 0) {
foreach ($widget_content as $tab) {
$xml->startElement('tab');
$xml->writeAttribute('id', $tab['tabname']);
if (count($tab['video']) > 0) {
foreach ($tab['video'] as $video) {
$video_sql = "select VID, flvdoname, title
from video
where VID='" . $video . "'";
$video_result = $howdini->query($video_sql);
if ($video_result->rowCount() > 0) {
foreach ($video_result as $video_row) {
$video_row['flvdoname'] = substr($video_row['flvdoname'], 35, -4);
$xml->startElement('vid');
$xml->writeAttribute('flv', $video_row['flvdoname']);
$xml->writeAttribute('thumb', 'http://www.howdini.com/thumb/' . $video_row['VID'] . '.jpg');
$xml->writeAttribute('title', $video_row['title']);
$xml->endElement();
}
}
}
}
$xml->endElement();
}
}
$xml->endElement();
$xml->endDocument();
header('Content-Type: text/xml; charset=UTF-8');
echo $xml->flush();
Thanks in advance for any answers! EDIT: I have included the change and now Firebug sees the XML. Now it's just not seeing the swf file but I can see the swf file in other parts of the page.