da immer wieder Fragen zur XML-API aufkommen, wollte ich hier einfach mal die Erklärung posten:
Die XML-API ist eine Schnittstelle welche es ermöglicht, dynamische User-Banner wie diesen hier zu erstellen:
Dazu benötigt man jedoch zumindest einen Webspace und den entsprechenden Quellcode. Ich habe mir mal die Mühe gemacht, und einen möglichst einfachen Quellcode geschrieben, der recht leicht verständlich ist. Wenn ihr einen Webspace oder einen Root-Server besitzt, könnt ihr den Code nach euren Wünschen anpassen und auf den Webspace/Root-Server hochladen.
- Code: Alles auswählen
<?php
/*
PHP-Script für dynamische User-Banner mittels der WHO XML-API
Die URL zur API findet ihr in WhO unter "Optionen" => "XML-API"
Bei Fragen wendet euch bitte an hacker07
*/
// Url zur xml-api
// http://[server].world-hack.org/api.who?[xml_key]
$xml_api = "http://s1.world-hack.org/api.who?4d820b9d0f331";
// XML Datei einlesen
$data = simplexml_load_string( file_get_contents( $xml_api ) );
if($data === false)
{
die("Keine Daten Gefunden oder XML error!");
}
// Die einzelnen abrufbaren Parameter
// Unnötige Parameter mit "#" deaktivieren
// Für den Spieler
$user = array(
"Spieler: ", $data->name[0],
"Punkte: ", number_format( ( int ) $data->punkte[0], 0, ',', '.' ), // Tausendertrennpunkt hinzufügen
"Platz: ", number_format( ( int ) $data->platz[0], 0, ',', '.' ), // Tausendertrennpunkt hinzufügen
"Rang: ", $data->hackerrang[0],
#"Computer: ", $data->pcs[0]
);
// Für den Cluster
$cluster = array(
"Cluster: ", $data->name[1]." [ ". $data->code[0] ." ]",
"Punkte: ", number_format( ( int ) $data->points[0], 0, ',', '.' ), // Tausendertrennpunkt hinzufügen
"Platz: ", $data->platz[1],
"Member: ", $data->member[0],
#"PC/Member: ", $data->av_pcs[0],
#"Erfolg: ", $data->succes_rate[0]
);
// Bildbreite
$width = 468;
// Bildhöhe
$height = 60;
// Schriftgröße
$font_size = 3;
// Bild generieren
$img = imagecreate( $width, $height );
// Hintergrundfarbe in RGB (Rot Grün Blau)
$background = imagecolorallocate( $img, 25, 25, 25 );
// Schriftfarbe in RGB (Rot Grün Blau)
$color = imagecolorallocate( $img, 255, 255, 255 );
// Linienfarbe in RGB (Rot Grün Blau)
$line = imagecolorallocate( $img, 37, 75, 21 );
// WHO-Icon einlesen
$image = imagecreatefrompng ( 'who.png' );
// WHO-Icon einfuegen
imagecopyresized( $img, $image, 6, 0, 0, 0, 61, 60, 61, 60 );
// Textposition (Höhe)
$ypos = 3;
// Solange noch nicht angezeigte User-Daten vorhanden sind
for ( $i = 0; $i < count ( $user ) * 2; $i++ )
{
// Die Beschriftung
imagestring( $img, $font_size, 75, $ypos, $user[$i], $color );
$i++;
// und die Daten einfügen
imagestring( $img, $font_size, 140, $ypos, $user[$i], $color );
$ypos = $ypos + 12;
}
// Linie einfügen
imageline( $img , 219 , 3 , 219 , 57 , $line );
imageline( $img , 220 , 3 , 220 , 57 , $line );
// Textposition (Höhe)
$ypos = 3;
// Solange noch nicht angezeigte Cluster-Daten vorhanden sind
for ( $i = 0; $i < count ( $cluster ) * 2; $i++ )
{
// Die Beschriftung
imagestring( $img, $font_size, 225, $ypos, $cluster[$i], $color );
$i++;
// und die Daten einfügen
imagestring( $img, $font_size, 290, $ypos, $cluster[$i], $color );
$ypos = $ypos + 12;
}
// Bild generieren
header( "Content-Type: image/gif" );
imagegif( $img );
// Speicher freiräumen
imagedestroy( $img );
?>
Für diejenigen die keinen Webspace/Root-Server haben kann ich einen Standard-Banner anbieten.
Um diesen "Standard-Banner" mit euren Daten zu erhalten, fügt an den Link
http://testserver4-you.de/banner.php?api=
eure XML-API Adresse an.
Das sollte dann so aussehen:
http://testserver4-you.de/banner.php?ap ... 20b9d0f331
Fügt diesen Link dann einfach via BBCode wie ein normales Bild in WHO, oder wo auch immer ihr wollt ein.