PHP Guild listing in German/Mitgliederauflistung auf Deutsch

Questions and discussions on development tools for WarcraftRealms
Post Reply
User avatar
Stimme
Posts: 10
Joined: Sat Sep 10, 2005 8:52 am

PHP Guild listing in German/Mitgliederauflistung auf Deutsch

Post by Stimme »

The following code can be used to display guild informations on your website, using PHP without any MySQL database. The nice thing about it: It automaticaly localizes race and class names as well as the date. The informations are saved locally on your server and are updated not more than once a day - this helps to reduce traffic and speeds up the display.
You can see an example on http://www.waldhueter.de/page.php?go=member.

Nachfolgender Code kann benutzt werden, um Gildeninformationen aus der Warcraftrealms.com-Datenbak abzurufen und auf der eigenen Homepage anzuzeigen. Dazu muss der Server lediglich PHP unterst?tzen, eine MySQL-Datenbank ist nicht erforderlich. Das Nette an diesem Code: Rassen- und Klassen-Bezeichnungen sowie das Datum werden automatisch eingedeutscht. Au?erdem werden die Dateien lokal gespeichert und nicht ?fter als einmal am Tag aktualisiert - dies erh?ht die Zugriffsgeschwindigkeit und verringert den Traffic.
Ein Beispiel findet Ihr auf http://www.waldhueter.de/page.php?go=member.

Code: Select all

<table width="480" align="center" style="border&#58;2px solid #AEA544; margin-top&#58;50px;">
<tr><td colspan="5" class="fett" style="background-color&#58;#AEA544; font-size&#58;10pt; color&#58;#000000; text-align&#58;center; padding&#58;4px;">Ingame registrierte Mitglieder</td></tr>
<tr><td><table width="480" align="center" style="padding&#58;10px;">
<!-- Nachfolgende Zeile kann angepasst werden, um Reihenfolge und Auswahl etc. zu variieren. Achtet auf die Spaltenzahl.-->
<tr style="height&#58;35px;"><td width="140" class="fett">Username</td><td width="100" class="fett">Rasse</td><td width="120" class="fett">Klasse</td><td width="50" class="fett">Level</td><td class="fett">Stand</td></tr>


<?PHP
//
//Ben?tigte Angaben&#58;
//1. Speicherort und Name der lokalen Datei &#40;Beim ersten Mal bitte eine leere Datei diesen Namens hochladen und diese zum Schreiben freigeben!&#41;
//2. Der Gildenexportlink von http&#58;//www.warcraftrealms.com
//
$dateiname = "gildenliste-ingame.txt";
$exportlink = "http&#58;//www.warcraftrealms.com/exports/guildexport.php?guildid=95155";


//
//Lokale Datei holen, auf Datum checken und evtl. neu laden, speichern
//
$mtag = date&#40;d&#41;;
$gildenliste = file&#40;$dateiname&#41;;
$stand = trim&#40;$gildenliste&#91;0&#93;&#41;;
$gildenliste = array_splice&#40;$gildenliste, 1&#41;;

if &#40;$stand != $mtag&#41; &#123;
   $gildenliste = file&#40;$exportlink&#41;;
   $stand = $mtag;
&#125;
if &#40;!function_exists&#40;'file_put_contents'&#41;&#41; &#123;
   function file_put_contents&#40;$filename, $data&#41;
   &#123;
       if &#40;&#40;$h = @fopen&#40;$filename, 'w'&#41;&#41; === false&#41; &#123;
           return false;
       &#125;
       if &#40;&#40;$bytes = @fwrite&#40;$h, $data&#41;&#41; === false&#41; &#123;
           return false;
       &#125;
       fclose&#40;$h&#41;;
       return $bytes;
   &#125;
&#125;

$gildenstring = implode&#40;"", $gildenliste&#41;;
$dateiinhalt = $stand. "\n" . $gildenstring;
$speichern = file_put_contents&#40;$dateiname,$dateiinhalt&#41;;

//
// Lokalisieren
//
function lokalisiere&#40;$begriff&#41; &#123;
   $woerter = array&#40;"Night Elf" => "Nachtelf",
               "Dwarf" => "Zwerg",
               "Human" => "Mensch",
               "Gnome" => "Gnom",
               "Warrior" => "Krieger",
               "Druid" => "Druide",
               "Warlock" => "Hexenmeister",
               "Mage" => "Magier",
               "Paladin" => "Paladin",
               "Rogue" => "Schurke",
               "Priest" => "Priester",
               "Shaman" => "Schamane",
               "Hunter" => "J?ger"&#41;;
   $uebersetzung = $woerter&#91;$begriff&#93;;
   return $uebersetzung;
&#125;
function konvertiere&#40;$datenstand&#41; &#123;
   $datenarray = explode&#40;"/", $datenstand&#41;;
   $datenstand = $datenarray&#91;1&#93; . "." . $datenarray&#91;0&#93; . "." . $datenarray&#91;2&#93;;
   return $datenstand;
&#125;

//
// Ausgabe formatieren
//
for&#40;$x=1; $x<&#40;count&#40;$gildenliste&#41;&#41; ;$x++&#41;&#123;
  $line = explode&#40;",",$gildenliste&#91;$x&#93;&#41;;
  $name = $line&#91;0&#93;;
  $rasse = lokalisiere&#40;$line&#91;1&#93;&#41;;
  $klasse = lokalisiere&#40;$line&#91;2&#93;&#41;;
  $level = $line&#91;3&#93;;
  $dstand = konvertiere&#40;$line&#91;4&#93;&#41;;
  $rang = $line&#91;5&#93;;
// Nachfolgende Zeile kann angepasst werden, um Reihenfolge und Auswahl etc. zu variieren. Achtet auf die Spaltenzahl.
  echo "<tr><td>" . $name  . "</td><td>" . $rasse. "</td><td>" . $klasse . "</td><td>" . $level . "</td><td>" . $dstand . "</td></tr>";
&#125;


?>
<tr><td colspan="5" style="padding-top&#58;5px; font-size&#58;9pt; text-align&#58;justify;">Diese Angaben entstammen der Datenbank des AddOn-Anbieters <a href='http&#58;//www.warcraftrealms.com'>WarcraftRealms.com</a>. Beachtet bitte den Stand bez?glich der Aktualit?t.</td></tr>
</table></td></tr>
</table>

Last edited by Stimme on Thu Sep 29, 2005 10:42 am, edited 2 times in total.
Image

Hybuir
Gear Dependent Squirrel
Gear Dependent Squirrel
Posts: 1471
Joined: Tue Sep 06, 2005 6:22 am
Location: Austin, TX
Contact:

Post by Hybuir »

That's cool, German output support!

You should also post a link at the other thread
http://www.warcraftrealms.com/forum/viewtopic.php?t=138

Post Reply