Kann man das neben den banner anzeigen lassen?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Kann man das neben den banner anzeigen lassen?

Beitrag von Cuesheet »

Hi zusammen,
ich habe eine Frage.
Ich spiele Dark Age of Camelot, und bei diesem spiel gibt es Chroniken im XML Format. Ich habe mir im Netz ein Skript gesucht, was diese Chroniken anzeigt.
Jetzt wollte ich nur 3 Sachen immer im Forum angezeigt haben:
Reichspunkte, Characktere, Mitglieder

Code: Alles auswählen

<?php
$__XML_bad_chars = array(chr(0x0E),chr(0x01),chr(0x0C),chr(0x07),chr(0x03),chr(0x14),chr(0x16));


class XMLdocument {

    var $XMLparser;
    var $XMLdata;
    var $XMLstack;
    var $Error;
    var $ErrorMsg;

    function tag_open($parser, $name, $attrs) {
        $x=&$this->XMLdata;
        foreach($this->XMLstack as $el) {
            if(!isset($x[$el])) {
                $x[$el]=array(array());
                $x=&$x[$el][0];
            } else {
                $x=&$x[$el][count($x[$el])-1];
            }
        }
        foreach($attrs as $k=>$v) {
            $attrs[$k]=utf8_decode($attrs[$k]);
        }
        if(!isset($x[$name])) {
            $x[$name][0]['ATTRS']=$attrs;
        } else {
            $x[$name][count($x[$name])]['ATTRS']=$attrs;
        }
        array_push($this->XMLstack,$name);
    }
    
    function tag_close($parser, $name) {
        array_pop($this->XMLstack);
    }
    
    function cdata($parser, $data) {
        $x=&$this->XMLdata;
        foreach($this->XMLstack as $el) {
            $x=&$x[$el][count($x[$el])-1];
        }
        $x['CDATA'].=utf8_decode($data);
    }

    function parseXML($filename) {
    	
    	global $__XML_bad_chars;
    	
        $this->XMLstack=array();
        $this->XMLdata=array();

        $this->XMLparser = xml_parser_create();
        xml_set_object($this->XMLparser, &$this);
        xml_set_element_handler($this->XMLparser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->XMLparser, "cdata");

        if (!($fp = @fopen($filename, "r"))) {
            $this->Error=true;
            $this->ErrorMsg="could not open XML input";
            return false;
        }

        while ($data = fread($fp, 4096)) {
            if (!xml_parse($this->XMLparser, $data, feof($fp))) {
	       	    $data=str_replace($__XML_bad_chars,'',$data);
                $this->Error=true;
                $this->ErrorMsg=sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($this->XMLparser)),
                    xml_get_current_line_number($this->XMLparser));
                return false;
            }
        }
  
        xml_parser_free($this->XMLparser);
        return true;
    }
}

function __sf_cmp($a,$b) {
    global $__sf_order;
    $result=0;
    foreach($__sf_order as $field=>$order) {
        if($a[$field] > $b[$field]) {
            $result=1;
        } elseif ($a[$field] < $b[$field]) {
            $result=-1;
        }
        if($order=="DESC") $result=-$result;
        if($result!=0) break;
    }
    return $result;
}

function sort_by_field(&$a,$fields) {
    global $__sf_order;
    $__sf_order=$fields;
    usort($a,'__sf_cmp');
    
}

function realmrank($totalrp) {
    settype($totalrp,'integer');
    if($totalrp==0) return '';
    $i=floor(pow($totalrp,(1/3))/3);
    while(($i*($i+1)*(2*$i+1)*25/6)<=$totalrp) $i++;
    $rr=(floor($i/10)+1).'L'.($i%10);
    return $rr;
}

class GuildInfo extends XMLdocument{
    
    var $XMLdata;
    var $Error;
    var $ErrorMsg;
    var $sortfield;
    var $guildinfo;
        
    function GuildInfo($filename="") {
        $this->XMLdata=array();
        $this->Error=false;
        $this->ErrorMsg='';
        if($filename) {
            $this->parseXML($filename);
        }
    }
    
    function getGuildInfo() {
        $result=array();
        if(is_array($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['ATTRS'])) {
            foreach($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['ATTRS'] as $k=>$v) {
                $result[strtolower($k)]=$v;
            }
        }
        return $result;
    }
    
    function getCharacterList() {
        $result=array();
        
        if(is_array($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['CHARACTER'])) {
            foreach($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['CHARACTER'] as $char) {
                $result[]=array('name'=>$char['ATTRS']['NAME'],
                         'laston'=>$char['ATTRS']['LASTON'],
                         'race'=>$char['RACE'][0]['CDATA'],
                         'class'=>$char['CLASS'][0]['CDATA'],
                         'level'=>$char['LEVEL'][0]['CDATA'],
                         'guildrank'=>$char['GUILDRANK'][0]['CDATA'],
                         'totalrp'=>$char['TOTALRP'][0]['CDATA'],
                         'lastweekrp'=>$char['LASTWEEKRP'][0]['CDATA'],
                         'anon'=>$char['ANON'][0]['CDATA']
                         );
            }
        }
        return $result;
    }
    
    function getAllianceList() {
        $result=array();
        
        if(is_array($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['ALLIANCELIST'][0]['ALLIANCEMEMBER'])) {
            foreach($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['ALLIANCELIST'][0]['ALLIANCEMEMBER'] as $ally) {
                $result[]=array('name'=>$ally['ALNAME'][0]['CDATA'],
                                'guildid'=>$ally['ALGUILDID'][0]['CDATA'],
                                'totalrp'=>$ally['ALTOTALRP'][0]['CDATA']);
            }
        }
        return $result;
    }

    
    function getTopCrafterList($type) {
        $result=array();
        if(is_array($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['TOP'])) {
            foreach($this->XMLdata['GUILD_STATUS'][0]['GUILD'][0]['TOP'] as $toplist) {
                if($toplist['ATTRS']['TYPE']==$type && is_array($toplist['TOP_CHAR'])) {
                    foreach($toplist['TOP_CHAR'] as $crafter) {
                        $result[]=array('name'=>$crafter['ATTRS']['NAME'],
                                        'point'=>$crafter['ATTRS']['POINT']);
                    }
                }
            }
        }
        return $result;
    }
}

$server='Avalon';
$guild_id=1423;

$gi=new GuildInfo(sprintf('http://www.camelot-europe.com/herald/servers/%s/guilds/%s.xml',
                          $server,$guild_id));
if($gi->Error) die($gi->ErrorMsg);

$info=$gi->getGuildInfo();

?>

Reichspunkte: <?=$info['guildrp']?> - Chars: <?=$info['activechars']?> - Mitglieder: <?=$info['activemembers']?><br>
http://cuesheet.dyndns.org/test/guildinfo.php

Wie kann ich es rechts neben dem Banner anzeigen lassen?
Ich habe schon rumprobiert, aber nie was hinbekommen.
Schonmal Danke im vorraus
Benutzeravatar
mondi
Mitglied
Beiträge: 187
Registriert: 22.02.2003 10:14
Wohnort: Bremerhaven
Kontaktdaten:

Beitrag von mondi »

Code: Alles auswählen

<?php
{
include("../../test/guildinfo.php");
}
?>
probiers mal damit. Wenn ich mich nicht irre, gehört das in die overall_header.tpl

Mit dem Pfad ggf. mal rumprobieren oder absoluten Pfad nehmen.

Grüße
Mondi
..:: VERDI FOREVER ::..
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Beitrag von Cuesheet »

mhh, hat sich nichts geändert
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Beitrag von Cuesheet »

Also das ist für das Forum
http://forum.helsgesandte.de

ich habe die guildinfo.php nach /inlcudes kopiert
und folgendes eingefügt
<?
{
include("../../includes/guildinfo.php");
}
?>

Rein theoretisch sollte es rechts neben dem Banner sein, nur praktisch ist es nicht, wenn ich an die Stelle was reinschreibe erscheint es mittig neben dem Banner. Also die Stelle stimmt.
Benutzeravatar
Chaze
Ehemaliges Teammitglied
Beiträge: 2035
Registriert: 31.01.2003 12:20
Wohnort: Hannover

Beitrag von Chaze »

Schau Dir das mal an:
http://www.phpbb.de/viewtopic.php?t=21239 und ff.
by[t]e,
Chaze
!!!--> Kein Support per PN oder Mail <--!!!
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Beitrag von Cuesheet »

Der eine Post auf den es Verseit existiert nicht mehr :-(
Naja aber danke, ich werde mich mal eben dran versuchen.
Benutzeravatar
Chaze
Ehemaliges Teammitglied
Beiträge: 2035
Registriert: 31.01.2003 12:20
Wohnort: Hannover

Beitrag von Chaze »

Ok...Ok... nächster Versuch :wink:
http://www.phpbb.de/viewtopic.php?t=27900
by[t]e,
Chaze
!!!--> Kein Support per PN oder Mail <--!!!
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

sh. Chaze (wobei ich selber diesen PHP Mod noch nie ausprobiert habe) oder so hier: http://www.phpbb.de/viewtopic.php?t=9993
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Beitrag von Cuesheet »

Mhh, ich bin wohl zu bresig :-(
Das Script funktioniert, aber sobald ich es einbinde funktioniert das nicht.
Cuesheet
Mitglied
Beiträge: 9
Registriert: 08.04.2003 10:09

Beitrag von Cuesheet »

Also ich hab das so gemacht
overall_header.tpl

Code: Alles auswählen

.....
<td><a href="{U_INDEX}"><img src="images/banner.gif" border="0" alt="{L_INDEX}" title="{L_INDEX}" width="232" height="92" /></a></td>
<td>
{INFO} 
</td>
<td align="right" width="100%">{BANNER_1_IMG}</td><td><img src="templates/fisubsilver/images/spacer.gif" width="100"></td>
.....
page_header.php

Code: Alles auswählen


....

		$template->assign_vars(array('INFO' => implode("",file("http://forum.helsgesandte.de/guildinfo.php")),'BANNER_'.$banner_spot.'_IMG' => '<a href="'.append_sid('redirect.'.$phpEx.'?banner_id='.$banner['banner_id']).'" target="_blank"><img src="'.$banner['banner_name'].'" border="0" alt="'.$banner['banner_description'].'" title="'.$banner['banner_description'].'"></a>'));
....
Was ist daran falsch?


Das File liegt hier:
http://forum.helsgesandte.de/guildinfo.php
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“