<?
$guildData = array();
// Daten über die Gilde samt Mitglieder holen - hier sind alle Mitglieder drin unabhängig vom Realm
$query = array(
'locale' => 'de_DE',
'fields' => 'members',
'apikey' => $apiKey
);
$url = $apiUrl.'guild/'.rawurlencode($guildRealm).'/'.rawurlencode($guild).'?'.http_build_query($query);
$response = @file_get_contents($url, true);
$guildData = json_decode($response, true);
// Jetzt alle Chars anhand der Member laden
$chars = array();
$charsLoaded = 0; // Zähler
//Verbindung der DB herstellen
$dbh = new PDO('pgsql:dbname=usr_web22_4;host=localhost', $DBUSER, $DBPASS);
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
if($dbh) {
echo 'DB-Serververbindung hergestellt! ';
} else {
die('DB-Serververbindung fehlgeschlagen!');
}
//Daten in DB-Gildenliste löschen
$loescheng = "";
$dbh->query('TRUNCATE wy8b2_gildenliste');
//Daten in DB-Mitgliederliste löschen
$dbh->query('TRUNCATE wy8b2_mitgliederliste');
$dbh->exec("SET NAMES 'utf8'");
$dbh->exec("SET CHARACTER SET 'utf8'");
//Daten in DB-Gildenliste speichern (json_encode($aGuildData))
$sqlg_befehl = 'INSERT INTO wy8b2_gildenliste (gname, grealm, glevel, gmember, gerfolg, datum) VALUES (?,?,?,?,?,UNIX_TIMESTAMP())';
$sth = $dbh->prepare($sqlg_befehl);
$resultg = $sth->execute(
array(
0 => $guildData['name'],
1 => $guildData['realm'],
2 => $guildData['realm'],
3 => $guildData['level'],
4 => sizeof($guildData['members']),
5 => $guildData['achievementPoints'],
)
);
$sth->free();
if (!$resultg) {
die( 'Ungültige Abfrage: ' . $dbh->errorInfo(){1} . "\n" . 'Gesamte Abfrage: ' . $query);
}
// Testausgabe
foreach($guildData['members'] as $member) {
$memberChar = $member['character'];
// Aber nicht vom oben konfigurierten Gilden-Realm sondern vom Realm der beim Member hinterlegt ist
$query = array(
'locale' => 'de_DE',
'fields' => 'talents,professions,items',
'apikey' => $apiKey
);
$url = $apiUrl.'character/'.rawurlencode($memberChar['realm']).'/'.urlencode(html_entity_decode($memberChar['name'], ENT_COMPAT, 'UTF-8')).'?'.http_build_query($query);
$response = @file_get_contents($url, true);
$chars[] = json_decode($response, true);
// Zählen
$charsLoaded++;
if($charsLoaded === 9) { // Nach 10 Charakteren ...
$charsLoaded = 0; // ... Zähler zurücksetzen
sleep(1); // ... 1 Sekunde Pause
}
}
$guildData['members'][] = json_decode($response, true);
$guildData['characters'] = $chars;
foreach($chars as $achars){
$aClassNames = array('<img src="warrior.jpg" />', '<img src="paladin.jpg" />', '<img src="hunter.jpg" />', '<img src="rogue.jpg" />', '<img src="priest.jpg" />', '<img src="deathknight.jpg" />', '<img src="shaman.jpg" />', '<img src="mage.jpg" />', '<img src="warlock.jpg" />', '<img src="monk.jpg" />', '<img src="druid.jpg" />');
$charName = (empty($achars['name']))?"Char ist unter LvL 10":''.htmlentities($achars['name'], ENT_COMPAT, 'UTF-8').'';
$bilIcon = (empty($achars['thumbnail']))?'<img src="http://eu.battle.net//wow/static/images/2d/profilemain/race/4-1.jpg" width="200px" height="200px" />':'<img src="http://eu.battle.net/static-render/eu/'.$achars['thumbnail'].'" width="200px" height="200px" />';
$bilIcon = str_replace("avatar","profilemain",$bilIcon);
$talIcon1 = (empty($achars['talents'][1]['spec']['icon']))?"":'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['talents'][1]['spec']['icon'] . '.jpg">';
$talText1 = ($achars['talents'][1]['selected'])?'<span style="color:#00FF00;text-decoration: underline;font-weight: bold;">'.$achars['talents'][1]['spec']['name'].'</span>':$achars['talents'][1]['spec']['name'];
$talIcon2 = (empty($achars['talents'][0]['spec']['icon']))?"":'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['talents'][0]['spec']['icon'] . '.jpg">';
$talText2 = ($achars['talents'][0]['selected'])?'<span style="color:#00FF00;text-decoration: underline;font-weight: bold;">'.$achars['talents'][0]['spec']['name'].'</span>':$achars['talents'][0]['spec']['name'];
$berIcon1 = (empty($achars['professions']['primary'][0]['icon']))?"":'<img src="http://eu.media.blizzard.com/wow/icons/18/'.$achars['professions']['primary'][0]['icon'].'.jpg">';
$firber = $berIcon1.$achars['professions']['primary'][0]['rank'];
$berIcon2 = (empty($achars['professions']['primary'][1]['icon']))?"":'<img src="http://eu.media.blizzard.com/wow/icons/18/'.$achars['professions']['primary'][1]['icon'].'.jpg">';
$secber = $berIcon2.$achars['professions']['primary'][1]['rank'];
$kopfIcon = (empty($achars['items']['head']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['head']['icon'] . '.jpg">';
$kopfData = (empty($achars['items']['head']['icon']))?"Nichts angelegt":$achars['items']['head']['name'].'<br />Gegenstandsstufe: '.$achars['items']['head']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$kopf = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['head']['id'].'" class="tooltip">'.$kopfIcon.'<span>'.$kopfData.'</span></a>';
$halsIcon = (empty($achars['items']['neck']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['neck']['icon'] . '.jpg">';
$halsData = (empty($achars['items']['neck']['icon']))?"Nichts angelegt":$achars['items']['neck']['name'].'<br />Gegenstandsstufe: '.$achars['items']['neck']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$hals = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['neck']['id'].'" class="tooltip">'.$halsIcon.'<span>'.$halsData.'</span></a>';
$schulterIcon = (empty($achars['items']['shoulder']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['shoulder']['icon'] . '.jpg">';
$schulterData = (empty($achars['items']['shoulder']['icon']))?"Nichts angelegt":$achars['items']['shoulder']['name'].'<br />Gegenstandsstufe: '.$achars['items']['shoulder']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$schulter = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['shoulder']['id'].'" class="tooltip">'.$schulterIcon.'<span>'.$schulterData.'</span></a>';
$ruckenIcon = (empty($achars['items']['back']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['back']['icon'] . '.jpg">';
$ruckenData = (empty($achars['items']['back']['icon']))?"Nichts angelegt":$achars['items']['back']['name'].'<br />Gegenstandsstufe: '.$achars['items']['back']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$rucken = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['back']['id'].'" class="tooltip">'.$ruckenIcon.'<span>'.$ruckenData.'</span></a>';
$brustIcon = (empty($achars['items']['chest']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['chest']['icon'] . '.jpg">';
$brustData = (empty($achars['items']['chest']['icon']))?"Nichts angelegt":$achars['items']['chest']['name'].'<br />Gegenstandsstufe: '.$achars['items']['chest']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$brust = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['chest']['id'].'" class="tooltip">'.$brustIcon.'<span>'.$brustData.'</span></a>';
$hemdIcon = (empty($achars['items']['shirt']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['shirt']['icon'] . '.jpg">';
$hemdData = (empty($achars['items']['shirt']['icon']))?"Nichts angelegt":$achars['items']['shirt']['name'].'<br />Gegenstandsstufe: '.$achars['items']['shirt']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$hemd = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['shirt']['id'].'" class="tooltip">'.$hemdIcon.'<span>'.$hemdData.'</span></a>';
$wappenIcon = (empty($achars['items']['tabard']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['tabard']['icon'] . '.jpg">';
$wappenData = (empty($achars['items']['tabard']['icon']))?"Nichts angelegt":$achars['items']['tabard']['name'].'<br />Gegenstandsstufe: '.$achars['items']['tabard']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$wappen = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['tabard']['id'].'" class="tooltip">'.$wappenIcon.'<span>'.$wappenData.'</span></a>';
$gelenkIcon = (empty($achars['items']['wrist']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['wrist']['icon'] . '.jpg">';
$gelenkData = (empty($achars['items']['wrist']['icon']))?"Nichts angelegt":$achars['items']['wrist']['name'].'<br />Gegenstandsstufe: '.$achars['items']['wrist']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$gelenk = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['wrist']['id'].'" class="tooltip">'.$gelenkIcon.'<span>'.$gelenkData.'</span></a>';
$handIcon = (empty($achars['items']['hands']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['hands']['icon'] . '.jpg">';
$handData = (empty($achars['items']['hands']['icon']))?"Nichts angelegt":$achars['items']['hands']['name'].'<br />Gegenstandsstufe: '.$achars['items']['hands']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$hand = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['hands']['id'].'" class="tooltip">'.$handIcon.'<span>'.$handData.'</span></a>';
$gurtelIcon = (empty($achars['items']['waist']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['waist']['icon'] . '.jpg">';
$gurtelData = (empty($achars['items']['waist']['icon']))?"Nichts angelegt":$achars['items']['waist']['name'].'<br />Gegenstandsstufe: '.$achars['items']['waist']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$gurtel = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['waist']['id'].'" class="tooltip">'.$gurtelIcon.'<span>'.$gurtelData.'</span></a>';
$hoseIcon = (empty($achars['items']['legs']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['legs']['icon'] . '.jpg">';
$hoseData = (empty($achars['items']['legs']['icon']))?"Nichts angelegt":$achars['items']['legs']['name'].'<br />Gegenstandsstufe: '.$achars['items']['legs']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$hose = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['legs']['id'].'" class="tooltip">'.$hoseIcon.'<span>'.$hoseData.'</span></a>';
$fusseIcon = (empty($achars['items']['feet']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['feet']['icon'] . '.jpg">';
$fusseData = (empty($achars['items']['feet']['icon']))?"Nichts angelegt":$achars['items']['feet']['name'].'<br />Gegenstandsstufe: '.$achars['items']['feet']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$fusse = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['feet']['id'].'" class="tooltip">'.$fusseIcon.'<span>'.$fusseData.'</span></a>';
$ring1Icon = (empty($achars['items']['finger1']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['finger1']['icon'] . '.jpg">';
$ring1Data = (empty($achars['items']['finger1']['icon']))?"Nichts angelegt":$achars['items']['finger1']['name'].'<br />Gegenstandsstufe: '.$achars['items']['finger1']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$ring1 = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['finger1']['id'].'" class="tooltip">'.$ring1Icon.'<span>'.$ring1Data.'</span></a>';
$ring2Icon = (empty($achars['items']['finger2']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['finger2']['icon'] . '.jpg">';
$ring2Data = (empty($achars['items']['finger2']['icon']))?"Nichts angelegt":$achars['items']['finger2']['name'].'<br />Gegenstandsstufe: '.$achars['items']['finger2']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$ring2 = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['finger2']['id'].'" class="tooltip">'.$ring2Icon.'<span>'.$ring2Data.'</span></a>';
$schmuck1Icon = (empty($achars['items']['trinket1']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['trinket1']['icon'] . '.jpg">';
$schmuck1Data = (empty($achars['items']['trinket1']['icon']))?"Nichts angelegt":$achars['items']['trinket1']['name'].'<br />Gegenstandsstufe: '.$achars['items']['trinket1']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$schmuck1 = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['trinket1']['id'].'" class="tooltip">'.$schmuck1Icon.'<span>'.$schmuck1Data.'</span></a>';
$schmuck2Icon = (empty($achars['items']['trinket2']['icon']))?'<img src="http://sorgonas.de/leer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['trinket2']['icon'] . '.jpg">';
$schmuck2Data = (empty($achars['items']['trinket2']['icon']))?"Nichts angelegt":$achars['items']['trinket2']['name'].'<br />Gegenstandsstufe: '.$achars['items']['trinket2']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$schmuck2 = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['trinket2']['id'].'" class="tooltip">'.$schmuck2Icon.'<span>'.$schmuck2Data.'</span></a>';
$hauptIcon = (empty($achars['items']['mainHand']['icon']))?'<img src="http://sorgonas.de/waffeleer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['mainHand']['icon'] . '.jpg">';
$hauptData = (empty($achars['items']['mainHand']['icon']))?"Nichts angelegt":$achars['items']['mainHand']['name'].'<br />Gegenstandsstufe: '.$achars['items']['mainHand']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$haupt = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['mainHand']['id'].'" class="tooltip">'.$hauptIcon.'<span>'.$hauptData.'</span></a>';
$nebenIcon = (empty($achars['items']['offHand']['icon']))?'<img src="http://sorgonas.de/waffeleer.png">':'<img src="http://eu.media.blizzard.com/wow/icons/18/' .$achars['items']['offHand']['icon'] . '.jpg">';
$nebenData = (empty($achars['items']['offHand']['icon']))?"Nichts angelegt":$achars['items']['offHand']['name'].'<br />Gegenstandsstufe: '.$achars['items']['offHand']['itemLevel'].'<br /><p>Klicken für Mehr Infos</p>';
$neben = '<a target="_blank" href="http://eu.battle.net/wow/de/item/'.$achars['items']['offHand']['id'].'" class="tooltip">'.$nebenIcon.'<span>'.$nebenData.'</span></a>';
//Daten in DB-Mitgliederliste speichern (json_encode($aGuildData))
$sql_befehl = 'INSERT INTO wy8b2_mitgliederliste (chars, bild, klasse, level, firtal, sectal, firber, secber, erfolg, gearlvl, kopf, hals, schulter, rucken, brust, hemd, wappen, gelenk, hand, gurtel, hose, fusse, ring1, ring2, schmuck1, schmuck2, haupt, neben) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
$sth = $dbh->prepare($sql_befehl);
$result = $sth->execute(
array(
0 => $charName,
1 => $bilIcon,
2 => $aClassNames[$achars['class'] - 1],
3 => $achars['level'],
4 => $talIcon1 . $talText1,
5 => $talIcon2 . $talText2,
6 => $firber,
7 => $secber,
8 => $achars['achievementPoints'],
9 => $achars['items']['averageItemLevelEquipped'],
10 => $kopf,
11 => $hals,
12 => $schulter,
13 => $rucken,
14 => $brust,
15 => $hemd,
16 => $wappen,
17 => $gelenk,
18 => $hand,
19 => $gurtel,
20 => $hose,
21 => $fusse,
22 => $ring1,
23 => $ring2,
24 => $schmuck1,
25 => $schmuck2,
26 => $haupt,
27 => $neben,
)
);
$sth->free();
if (!$result) {
die('Ungültige Abfrage: ' . $dbh->errorInfo(){1} . "\n" . 'Gesamte Abfrage: ' . $query);
}
echo '<pre>';
print_r($achars);
echo '</pre>';
} // end foreach