I have this script im putting together and it works when it wants to lol seriously! can anyone see what i did wrong
i get this error most of the time:
Warning: Invalid argument supplied for foreach() in [path]/newsfeed.php on line 17
<?php
$guild = "Enclave"; // Modify this to your Guild Name
$realm = "Shattered-Hand"; // Modify this to your Realm Name
$max = "20"; // How many records you want returned
//http://us.battle.net/api/wow/guild/Elune/Damnation?fields=news
$api_guild_news_url = 'http://us.battle.net/api/wow/guild/' . $realm . '/' . $guild . '?fields=news';
$file_contents = @file_get_contents($api_guild_news_url); // omit warnings
$guildNews = json_decode($file_contents, true);
echo '<center><font color="#FFD100">Guild Level: ' . $guildNews['level'] . '</font></center><br>';
foreach($guildNews['news'] as $news)
{
if($counter++ == $max)
{
break;
}
switch($news['type'])
{
case "itemPurchase" :
{
echo '<font color="#F9A205">' . utf8_array_decode($news['character']) . '</font> <font color="#DEB887">' . ' purchased </font>' . ' <a href="http://www.wowhead.com/item=' . $news['itemId'] . '" target="_blank">' . '<font color="'. getColorByItemId($news['itemId']) . '">' . getPropertyByItemId($news['itemId']) . '</a></font><br>';
echo '<div class="widget_post_bit"></div>' ;
;
break;
}
case "itemLoot" :
{
echo '<font color="#F9A205">' . utf8_array_decode($news['character']) . '</font> <font color="#DEB887">' . ' obtained </font>' . ' <a href="http://www.wowhead.com/item=' . $news['itemId'] . '" target="_blank">' . ' <font color="'. getColorByItemId($news['itemId']) . '">' . getPropertyByItemId($news['itemId']) . '</a></font><br>';
echo '<div class="widget_post_bit"></div>' ;
break;
}
case "playerAchievement" :
{
echo '<font color="#F9A205">' . utf8_array_decode($news['character']) . '</font> <font color="#DEB887">' . ' earned the achievement </font>' . '<a href="http://www.wowhead.com/achievement=' . $news['achievement']['id'] . '" target="_blank"><font color="#FFD100"> ' . $news['achievement']['title'] . '</a></font><br>';
echo '<div class="widget_post_bit"></div>' ;
break;
}
case "guildAchievement" :
{
echo '<font color="#F9A205">' . $news['character'] . '</font> <font color="#DEB887">' . ' earned the achievement </font>' . '<a href="http://www.wowhead.com/achievement=' . $news['achievement']['id'] . '" target="_blank"><font color="#FFD100">' . $news['achievement']['title'] . '</a></font><br>';
echo '<div class="widget_post_bit"></div>' ;
break;
}
case "itemCraft" :
{
echo '<font color="#F9A205">' . utf8_array_decode($news['character']) . '</font> <font color="#DEB887">' . ' crafted item </font>' . ' <a href="http://www.wowhead.com/item=' . $news['itemId'] . '" target="_blank">' . '<font color="'. getColorByItemId($news['itemId']) . '">' . getPropertyByItemId($news['itemId']) . '</a></font><br>';
echo '<div class="widget_post_bit"></div>' ;
break;
}
}
}
echo '<br><center><a href="http://us.battle.net/wow/en/guild/' . $realm . '/' . $guild . '/news" target="_blank"><font color="#FFD100">View all!</font></a></center>';
function getPropertyByItemId($id)
{
$api_item_url = "http://" . "us.battle.net" . "/api/wow/item/" . $id;
$item = json_decode(file_get_contents($api_item_url), true);
return $item['name'];
}
function getPropertyByAchievementsId($id)
{
$api_item_url = "http://" . "us.battle.net" . "/api/wow/achievements/" . $id;
$item = json_decode(file_get_contents($api_item_url), true);
return $item['id'];
}
function getColorByItemId($id)
{
$api_item_url = "http://" . "us.battle.net" . "/api/wow/item/" . $id;
$item = json_decode(file_get_contents($api_item_url), true);
switch($item['quality'])
{
case "4" :
{
return "#A335EE";
}
case "5" :
{
return "#ff8000";
}
case "3" :
{
return "#0070dd";
}
}
}
function utf8_array_decode($input)
{
$return = utf8_decode($input);
return $return;
}
?>