Seite 3 von 4

Re: Global definierte Online Userliste

Verfasst: 04.07.2012 10:56
von BNa
Knowhow-Sauger hat geschrieben:Das funzt leider nicht.
Der Code wird in meinem Forum direkt angezeigt.
Außerdem stellt sich die Frage, wie ich die das nun globale Avatar dann in der online-Liste anzeigen lassen kann.
Denn den fehlerhaften Code habe ich bereits gelöscht.
Ich habe das jetzt eh anders gelöst. Ich habe das jetzt farblich markiert.
Trotzdem danke!!
Was "funzt" nicht? Wie wird welcher Code "direkt" angezeigt? Versteh ich nicht. Die Lösung sollte mit Deinem vorher eingefügten Code funktionieren. Dieser muss dann wieder eingebaut werden.

Re: Global definierte Online Userliste

Verfasst: 04.07.2012 21:55
von Knowhow-Sauger
Ja, das funktioniert leider nicht.
Der Code wird bei mir direkt im Forum angezeigt.
Außerdem habe ich den fehlerhaften Code bereits gelöscht und weiß daher nicht mehr, an welcher Stelle er stand.
Ich habe ihn daher einfach ganz nach unten positioniert und das hat leider nicht geklappt. :oops:

Re: Global definierte Online Userliste

Verfasst: 05.07.2012 17:53
von BNa
Dann ist das was falsch. Eine function() in einer php-Datei wird doch nicht im Klartext ausgeworfen und das ganz ohne echo.

Edit: Ich seh grad, das ich versehentlich ein Dahinter füge ein, statt einem Davor füge ein gepostet hatte *grmpf
Ist schon korrigiert viewtopic.php?f=87&t=222392&p=1277169#p1277169
Knowhow-Sauger hat geschrieben:Außerdem habe ich den fehlerhaften Code bereits gelöscht und weiß daher nicht mehr, an welcher Stelle er stand.
Kein Problem, Deine Datei ist ja noch im Pastebin :wink:

Re: Global definierte Online Userliste

Verfasst: 05.07.2012 23:11
von Knowhow-Sauger
Geht leider immer noch nicht.
Jetzt bekomme ich eine weiße Seite wo steht:

Code: Alles auswählen

Fatal error: Cannot redeclare get_user_rank2() (previously declared in /home/.sites/110/site2750/web/includes/functions.php:4910) in /home/.sites/110/site2750/web/includes/functions_display.php on line 1307
Habe alles genauso gemacht, wie Du es gesagt hast. Mit dem alten Code aus der Pastebin!

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 01:19
von BNa
Ok, letzter Versuch

Code: Alles auswählen

Fatal error: Cannot redeclare get_user_rank2() (previously declared in /home/.sites/110/site2750/web/includes/functions.php:4910) in /home/.sites/110/site2750/web/includes/functions_display.php on line 1307
Die Funktion kann in der includes/functions.php garnicht mehrfach aufgerufen werden. Guck mal:

viewtopic.php?f=87&t=222392&start=10#p1277169

Code: Alles auswählen

//Multiple ranks mod by Goz
if (!function_exists('get_user_rank2')){

// Die function get_user_rank2() wird nur dann aufgerufen, wenn sie noch nicht existiert 

}
//Multiple ranks mod by Goz         
Hast Du das eventuell doppelt in der includes/functions.php drin? Check das mal.
Stell also sicher, das die function get_user_rank2() nur einmal in der includes/functions.php drin ist.

Schritt 1

Ich rede von dem kleinen, bestimmten Teil. Füge nur diesen ein

http://www.phpbb.com/community/viewtopi ... #p13107579

Schritt 2
und am Ende der functions.php dann das

viewtopic.php?f=87&t=222392&p=1277169#p1277169

Schritt 3

Zu Sicherheit dann nochmal in der

includes/functions_display.php

Finde

Code: Alles auswählen

function get_user_rank2($user_rank2, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
{
    global $ranks2, $config, $phpbb_root_path;

    if (empty($ranks2))
    {
        global $cache;
        $ranks2 = $cache->obtain_ranks();
    }

    if (!empty($user_rank2))
    {
        $rank_title = (isset($ranks2['special'][$user_rank2]['rank_title'])) ? $ranks2['special'][$user_rank2]['rank_title'] : '';
        $rank_img = (!empty($ranks2['special'][$user_rank2]['rank_image'])) ? '<img src="' . $phpbb_root_path . $config['ranks_path'] . '/' . $ranks2['special'][$user_rank2]['rank_image'] . '" alt="' . $ranks2['special'][$user_rank2]['rank_title'] . '" title="' . $ranks2['special'][$user_rank2]['rank_title'] . '" />' : '';
        $rank_img_src = (!empty($ranks2['special'][$user_rank2]['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $ranks2['special'][$user_rank2]['rank_image'] : '';
    }
} 
Ersetze mit

Code: Alles auswählen

if (!function_exists('get_user_rank2')){
// Die function get_user_rank2() wird nur dann aufgerufen, wenn sie noch nicht existiert 
function get_user_rank2($user_rank2, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
{
    global $ranks2, $config, $phpbb_root_path;

    if (empty($ranks2))
    {
        global $cache;
        $ranks2 = $cache->obtain_ranks();
    }

    if (!empty($user_rank2))
    {
        $rank_title = (isset($ranks2['special'][$user_rank2]['rank_title'])) ? $ranks2['special'][$user_rank2]['rank_title'] : '';
        $rank_img = (!empty($ranks2['special'][$user_rank2]['rank_image'])) ? '<img src="' . $phpbb_root_path . $config['ranks_path'] . '/' . $ranks2['special'][$user_rank2]['rank_image'] . '" alt="' . $ranks2['special'][$user_rank2]['rank_title'] . '" title="' . $ranks2['special'][$user_rank2]['rank_title'] . '" />' : '';
        $rank_img_src = (!empty($ranks2['special'][$user_rank2]['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $ranks2['special'][$user_rank2]['rank_image'] : '';
    }
}} 

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 02:42
von Knowhow-Sauger
Geschafft! Danke Dir ganz herzlichst. :)
Jetzt funzt es zumindest halbwegs.
Das Problem ist jetzt nur noch, dass die Rang-Grafik in der Online-Liste immer nur für ca. 10 Min. angezeigt wird.
Es sei denn, es findet eine Veränderung in der Online-Liste statt. Wenn also auf der Online-Liste jemand neues hinzu kommt oder verschwindet, dann wird der Rang angezeigt. Ist aber 10 Min. "Stillstand" verschwindet die Rang-Grafik wieder.

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 18:13
von BNa
Ja, klar. Liegt aber nicht am Code,
http://www.phpbb.com/community/viewtopi ... #p13107579
sondern an der Stelle, wo es eingefügt ist (Online Liste).

Und die zeigt die User bei Nichtaktivität in einer im ACP bestimmbaren Zeit nicht mehr an.
Bewegst Du Dich wieder im Forum, ist es wieder da. Liegt also in der Natur der Sache.
Der o.g. Code ist auch nicht für das gemacht, was Du machen möchtest.

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 19:49
von Knowhow-Sauger
Es ist mir schon klar, dass man nach 10 Min. Inaktivität aus der Online-Liste entfernt wird.
Aber hier ist es nun so, dass nach 10 Min. nur die Rang-Grafik verschwindet, der User-Name aber bleibt!
Das ist ja das merkwürdige daran. :oops:

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 20:11
von BNa
Knowhow-Sauger hat geschrieben:Es ist mir schon klar, dass man nach 10 Min. Inaktivität aus der Online-Liste entfernt wird.
Aber hier ist es nun so, dass nach 10 Min. nur die Rang-Grafik verschwindet,
Ja klar, der eine, genannte Code liegt innerhalb der phpbb3 Online Anzeige. Logisch, das er nach dieser Zeit der Inaktivität verschwindet.
Knowhow-Sauger hat geschrieben:der User-Name aber bleibt! Das ist ja das merkwürdige daran.
Ist nicht merkwürdig. Mein Code ist statisch und der andere liegt in der dynamischen Online Anzeige. Meiner funktioniert für Deine Zwecke, der andere nicht.
Da ist also der richtige Code an der falschen Stelle > http://www.phpbb.com/community/viewtopi ... #p13107579
Dein Mix beider Codes ist also nicht recht durchdacht. Der verlinkte Code ist schon ganz gut, müsste nur etwas anders gestaltet an anderer Stelle sein.

Re: Global definierte Online Userliste

Verfasst: 06.07.2012 20:20
von Knowhow-Sauger
Hmm. Gar nicht so einfach. :)
Wie kann ich also jetzt die Rang-Grafik permanent anzeigen lassen, ohne dass sie gleich wieder verschwindet? 8)