Etant le fondateur d'un forum http://silent-hunters-unit.eu.xooit.fr/portal.php, un membre m'avait fait un block PHP que j'avais insérer dans une image.
Tout fonctionnait parfaitement, jusqu'à que j'ai l'erreur suivante :
"Warning: file_get_contents(http://battletracker.com/clanfeed/aa3/2 ... aninfo.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /mnt/102/sda/2/5/shudepot/battle/Battletracker.php on line 41"
1° Mon membre est indisponible, en ce moment
2° Je suis un gros noob en PHP, le html, ça va.
Merci de votre aide
<style type="text/css">* { font-family:arial,sans-serif;font-size: 8pt; }</style>
<?php
// no need for this with AA3 and Battletracker
$clanid="24651";
function startTag($parser, $name, $attrs) {
global $stack;
$tag=array("name"=>$name,"attrs"=>$attrs);
array_push($stack,$tag);
}
function cdata($parser, $cdata) {
global $stack;
$stack[count($stack)-1]['cdata'] .= $cdata;
}
function endTag($parser, $name) {
global $stack;
$stack[count($stack)-2]['children'][] = $stack[count($stack)-1];
array_pop($stack);
}
// Parse XML
$stack = array();
$claninfo = array();
$clanstats = array();
$playerstats = array();
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag");
xml_set_character_data_handler($xml_parser, "cdata");
$xmllink="http://battletracker.com/clanfeed/aa3/24651/claninfo.xml";
// link for AA2 $xmllink="http://aaotracker.com/livefeed/xml_clanp…?clanid=$clanid";
$data = xml_parse($xml_parser,file_get_contents($xmllink));
if(!$data) die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
xml_parser_free($xml_parser);
// Get Data
// Get Clan Profile Data
for($i = 0; $i < sizeof($stack[0][children][0][children]); $i++) {
$valname=$stack[0][children][0][children][$i][name];
$claninfo[$valname]=$stack[0][children][0][children][$i][cdata];
}
// Get Clan Stats Data
for($i = 0; $i < sizeof($stack[0][children][1][children]); $i++) {
$valname=$stack[0][children][1][children][$i][name];
$clanstats[$valname]=$stack[0][children][1][children][$i][cdata];
}
// Get Player Data
for($i = 0; $i < sizeof($stack[0][children][2][children]); $i++) {
for($x = 0; $x < sizeof($stack[0][children][2][children][$i][children]); $x++) {
$valname=$stack[0][children][2][children][$i][children][$x][name];
$value=$stack[0][children][2][children][$i][children][$x][cdata];
if($valname=="PLAYERID") $pid=$value;
$playerstats[$pid][$valname]=$value;
}
}
// Now we have 3 arrays with all stats and infos
//print_r($claninfo);
//print_r($clanstats);
//print_r($playerstats);
// Display Clan Info
//echo "<b>Clan Info:</b><br>\n";
foreach($claninfo as $key => $value) {
//echo "$key: $value<br>\n";
}
// Display Clan Stats
//echo "<br><br><b>Clan Info:</b><br>\n";
foreach($clanstats as $key => $value) {
//echo "$key: $value<br>\n";
}
// Display Player Stats
//echo "<br><br><b>Player Stats:</b><br>\n";
$i = 1;
echo '<table width="450">';
foreach($playerstats as $key => $value) {
$playername=$playerstats[$key][PLAYERNAME];
$playerhonor=$playerstats[$key][PLAYERHONOR];
$playerurl=$playerstats[$key][PLAYERSTATSURL];
if($playerstats[$key][PLAYERSTATUS]=="1") $statuspic="online.gif";
else $statuspic="offline.gif";
if ($playerstats[$key][PLAYERSTATUS]=="1") $pcolor="##00FF00";
else $pcolor="#000000";
if (($i % 3) == 0)
{
echo '</tr>';
}
if ($i == 1 OR ($i % 3) == 0)
{
echo '<tr>';
}
echo "<td width=\"150\"><img border=\"0\" src=\"./$statuspic\" width=\"8\" height=\"8\"> <a target=\"_blank\" href=\"$playerurl\"><font size=\"2\" color=\"$pcolor\">$playername</font></a></td>";
$i++;
}
echo '</table>';
?>
