Hallo an alle,
hier ist ein weiterer Newbie in Sachen php. Ich hab nun eine Tolle Seite geschrieben bekommen, in der die Daten von World of Warcraft gelesen werden und auch angezeigt werden. Nun möchte ich aber das die Daten in meiner Cronjob-Datei, die ich mit meinem Hoster erstellt habe (nenne sie mal abfrage.php), ausgelesen werden, und mit der (Mitglieder.php) nur noch angezeigt werden. Kann mir da jemand helfen dieses Script so umzuschreiben?
hier ist ein weiterer Newbie in Sachen php. Ich hab nun eine Tolle Seite geschrieben bekommen, in der die Daten von World of Warcraft gelesen werden und auch angezeigt werden. Nun möchte ich aber das die Daten in meiner Cronjob-Datei, die ich mit meinem Hoster erstellt habe (nenne sie mal abfrage.php), ausgelesen werden, und mit der (Mitglieder.php) nur noch angezeigt werden. Kann mir da jemand helfen dieses Script so umzuschreiben?
PHP-Code:
<html>
<head>
<meta charset="ISO-8859-1" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="keywords" content="" />
</head>
<body>
<?php
// Konfiguration
$sGuildName = 'Familia de Lux';
$sRealmName = 'Lothar';
$sGuildFields= 'members'; // Möglich sind: achievements, members
$iMaxEntries = 3; // Anzahl der maximalen Einträge pro Zeile
$sMemberFields = 'talents';
$sCacheFile = 'cache.sth';
$iCacheTimeout = 3600; // Cache-Timeout in Sekunden
$sAPIURL = 'http://eu.battle.net/api/wow/';
$aGuildData = array();
$aClassNames = array('Krieger', 'Paladin', 'Jäger', 'Schurke', 'Priester', 'Todesritter', 'Schamane', 'Magier', 'Hexenmeister', 'Mönch', 'Druide');
$aClassRaces = array('Mensch', 'Orc', 'Zwerg', 'Nachtelf', 'Untoter', 'Taure', 'Gnom', 'Troll', 'Goblin', 'Blutelf', 'Draenei', '', '', '', '', '', '', '', '', '', '', 'Worg', '', '', 'Pandare');
$aClassColors = array('#ffffff','#C69B6D', '#F48CBA','#AAD372','#FFF468','#F0EBE0','#C41E3B','#2359FF','#68CCEF','#9382C9','#00FFBA','#FF7C0A');
$aClassText = array('#FFFFFF');
$sRawEncodedRealm = rawurlencode($sRealmName);
$sRawEncodedGuild = rawurlencode($sGuildName);
$sResponse = null;
$sOutput = '';
if( !is_file($sCacheFile) || (time() - filemtime($sCacheFile)) > $iCacheTimeout || filesize($sCacheFile) == 0 ) {
// Auslesen der Gildendaten.
$sRequestURL = $sAPIURL . 'guild/'.$sRawEncodedRealm.'/'.$sRawEncodedGuild.'?fields='.$sGuildFields;
$sResponse = @file_get_contents($sRequestURL, true);
if (strpos($http_response_header[0], '200')) {
$http_response_header = null;
$aRawData = json_decode($sResponse, true);
$aGuildData = $aRawData;
unset($aGuildData['members']);
foreach ($aRawData['members'] as $aMemberItem )
{
$sCharName = $aMemberItem['character']['name'];
$sCharResponse = @file_get_contents(
$sAPIURL . 'character/'.$sRawEncodedRealm.'/'.urlencode(html_entity_decode($sCharName, ENT_COMPAT, 'UTF-8')).'?fields='.$sMemberFields
, true
);
// Prüfe Rückgabe
if (strpos($http_response_header[0], '200')) {
$aDecodeMember = json_decode($sCharResponse, true);
$aGuildData['members'][] = json_decode($sCharResponse, true);
}
}
file_put_contents($sCacheFile, json_encode($aGuildData));
unset($aGuild, $decodeMember, $aRawData, $http_response_header, $sCharResponse, $sResponse);
}
} else {
$aGuildData = json_decode(file_get_contents($sCacheFile), true);
}
// Prüfe Rückgabe
if ( sizeof($aGuildData) ) {
$sOutput .= '<p align="center"><table border="1"><tr>';
$sOutput .= '<td><h2><font color="#990000">Gildeninformationen</font></h2></td>';
$sOutput .= "<td><p align='center'><img src='css/images/logo.png' width='50' height='50' /></p></td>";
$sOutput .= '<tr><td><b><font color="#33FF00">Gildenname:</b></td><td style="color: #33FF00;"> '.$aGuildData['name'].'</font><br /></td></tr>';
$sOutput .= '<tr><td><b><font color="#33FF00">Realm:</b></td><td style="color: #33FF00;"> '.$aGuildData['realm'].'</font><br /></td>';
$sOutput .= '<tr><td><b><font color="#33FF00">Gildenstufe:</b></td><td style="color: #33FF00;"> '.$aGuildData['level'].'</font><br /></td>';
$sOutput .= '<tr><td><b><font color="#33FF00">Mitgliederanzahl:</b></td><td style="color: #33FF00;"> '.count($aGuildData['members']).'</font><br /></td>';
$sOutput .= '<tr><td><b><font color="#33FF00">Gildenerfolgspunkte:</b></td><td style="color: #33FF00;"> '.$aGuildData['achievementPoints'].'</font><br /></td>';
$sOutput .= '</tr></table></p>';
$sOutput .= '<div>';
$iColumn = 0;
foreach ($aGuildData['members'] as $aMemberItem ) {
$sOutput .= '<div style="float:left">';
$sOutput .= '<p align="center"><table border="1" width="205px" style=\'background-color:'.$aClassColors[$aMemberItem['class']].'\'><tr><tr><td colspan="2" align="center"><h3>'.htmlentities($aMemberItem['name'], ENT_COMPAT, 'UTF-8').'</h3></td></tr>';
$sOutput .= '<tr><td><b>Klasse:</b></td><td> ';
$sOutput .= '<font>'.$aClassNames[$aMemberItem['class'] - 1].'</font></td></tr>';
$sOutput .= '<tr><td><b>Level:</b></td><td> '.$aMemberItem['level'].'</td></tr>';
$sOutput .= '<tr><td><b>Volk:</b></td><td> ';
$sOutput .= '<font>'.$aClassRaces[$aMemberItem['race'] - 1].'</font></td></tr>';
$sOutput .= '<tr><td><b>Erfolgspunkte:</b></td><td> '.$aMemberItem['achievementPoints'].'</td></tr>';
$sOutput .= '</ br></tr></table></p>';
$sOutput .= '</div>';
$iColumn++;
if( $iColumn > $iMaxEntries-1 ) {
$sOutput .= '<div style="clear:both"></div>';
$iColumn = 0;
}
}
$sOutput .= '</div>';
}
echo $sOutput;
unset($aGuildData, $aMemberItem, $aMemberItem, $sOutput);
?>
</body>
</html>
Kommentar