Seite 2 von 4

Re: Global definierte Online Userliste

Verfasst: 02.07.2012 00:43
von BNa
Knowhow-Sauger hat geschrieben:
11 + twe - ele + 13 = result_as_word px:
11 + [twe - ele > twelve - eleven > (12 - 11)] + 13 = result_as_word px: twentyfive px

Edit: Ist ja normalerweise Donators Area, doch da es eine neue V2 gibt, machen wir mal eine Ausnahme für de:
Static global logged in userlist V2

With this snippet you get a template variable, which shows a global logged in userlist everywhere as on Index
Normally the logged in userlist display is different in footer, if you go to forum, topic or wherever.

Credit: BNa

Screen:
on_2.png
open

includes/functions.php

find

Code: Alles auswählen

    // The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array( 
before add

Code: Alles auswählen

        // Static global logged in userlist V2 / BNa / 2012
        $online_users_glob        = obtain_users_online(0, $item);
        $user_online_strings_glob = obtain_users_online_string($online_users_glob, 0, $item);
        $online_userlist_glob     = $user_online_strings_glob['online_userlist'];
        // Static global logged in userlist V2 / BNa / 2012        
find

Code: Alles auswählen

        'LOGGED_IN_USER_LIST'            => $online_userlist,  
after add

Code: Alles auswählen

        // Static global logged in userlist V2 / BNa / 2012
        'LOGGED_IN_USER_LIST_GLOB'        => (isset($online_userlist_glob)) ? $online_userlist_glob : false,
        // Static global logged in userlist V2 / BNa / 2012                        
Now you can use {LOGGED_IN_USER_LIST_GLOB} in every template file

@ example:

open

styles/prosilver/template/overall_footer.html

find

Code: Alles auswählen

<div id="page-footer"> 
after add

Code: Alles auswählen

<!-- IF SCRIPT_NAME !== 'index' -->
    <div class="navbar">
        <div class="inner"><span class="corners-top"><span></span></span>

{LOGGED_IN_USER_LIST_GLOB}

        <span class="corners-bottom"><span></span></span></div>
    </div>
    
<div>&nbsp;</div>
<!-- ENDIF --> 
Dont forget to clear all board- and browser-caches after each template change

Re: Global definierte Online Userliste

Verfasst: 02.07.2012 06:32
von Miriam
<ot>
  • 11 + twe - ele + 13 = result_as_word px:

    Also bei mir wäre twe die Abkürzung für twenty. Das hätte ich nie rausbekommen.
</ot>

Re: Global definierte Online Userliste

Verfasst: 02.07.2012 19:54
von BNa
Hab es jetzt geändert, somit ist kein Zweifel mehr :wink:
11 + twel - elev + 13 = result_as_word px

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 02:05
von Knowhow-Sauger
BESTENS!!! :grin: :grin: :grin:
Vielen Dank für den Mod! Habe mich sehr gefreut! Ist genau das, was ich vermisst habe.

Kann mir zufällig noch jemand sagen, wie ich in der (nun globalen) Online-Liste zusätzlich die Rang-Grafiken der User anzeigen lassen kann?
Geht das? :oops:

EDIT:
Ich sehe gerade, dass der Mod zwar funktioniert, aber jetzt komme ich nicht mehr in den "Persönlichen Bereich" rein!
Er sagt folgende Fehlermeldung:
Fatal error: Call to undefined function get_user_rank2() in /home/.sites/110/site2750/web/includes/functions.php on line 4164
Der Mod scheint also nicht mit dem "Multiple-ranks-Mod" kompatibel zu sein, den ich bei mir installiert habe.

In der Zeile mit der Nummer 4164, die reklamiert wird, steht nur eine Mengenklammer, sonst nichts.
Die war aber auch schon vorher da.
Und weiß genau, dass es an diesem Mod liegt, denn heute morgen ging der persönliche Bereich noch!

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 18:21
von BNa
Ich wüsste nicht, was die Ranks Code-technisch mit der Onlineliste zu tun haben und sich deswegen gegenseitig ausschalten. Ferner sehe ich den Inkompatibilator nicht in meinem Code. Wenn schon ein sauber programmiertes Minisnippet den genannten Mod lahmlegt, naja. Bei Codes geht der Entwickler normalerweise von einer originalen phpbb3 Installation aus. Wird selbst modifiziert, oft auf Teufel komm raus, dann wirds speziell. Verlinke dochmal die gesamte Datei in das Pastebin. Vielleicht kann da wer was entdecken.

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 19:08
von Knowhow-Sauger
Das wäre nett. :)
Hier die paste-bin: https://www.phpbb.de/support/pastebin.p ... iew&s=1097
(includes/functions.php)

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 19:21
von BNa
Bau die Mod mal bitte unverändert ein: http://www.phpbb.com/community/viewtopi ... 0&t=967635 - Ich weiss nicht genau, was Du da gemacht hast, aber kein Edit der Mod bezieht sich auf die includes/functions.php, sondern auf die includes/functions_display.php. Ferner ist dein user_rank2 Code in der function obtain_users_online_string() in der includes/functions.php drin, was ich nun garnicht verstehe. Kein Wunder, das es da zu Inkonvergenzen kommt. Dieser, Dein Fehler basiert darauf, das Du selbst versucht hast, dieses Konstrukt ** innerhalb der function obtain_users_online_string() mittels function user_rank2() zu realisieren (Pastebin: Zeile 4145 und Zeile 4163-4166) und meinem Code damit einen nicht vorhandenen Fehler unterzujubeln. Netter Versuch.

**
Knowhow-Sauger hat geschrieben:Kann mir zufällig noch jemand sagen, wie ich in der (nun globalen) Online-Liste zusätzlich die Rang-Grafiken der User anzeigen lassen kann?
P.S.: Hättest Du ganz normal gefragt, ohne mir gleichzeitig den Fehler in die Schuhe zu schieben, wäre vielleicht einer draus geworden

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 20:04
von Knowhow-Sauger
Der Mod für multiple-Ranks hat damit gar nichts zutun.
Sondern ein Code-Schnippsel aus dem US-Forum, wo jemand (genau wie ich) zusätzlich die Rang-2-Grafik mit in der Online-Liste stehen haben wollte.
Und so habe ich in der functions.php bei mir dieses Codeschnippsel eingefügt:
http://www.phpbb.com/community/viewtopi ... #p13107579

Und bevor ich den Mod für die globale Userliste installiert habe, hat das mit der Ranggrafik in der Userliste noch funktioniert.
Das Problem ist nur nach wie vor, dass die Ranggrafik in der Userliste immer nur für 10 Min angezeigt wird bzw. nur so lange, bis sich jemand neues ein- oder ausloggt.

Sorry, ich wollte Dir keinen Fehler "unterjubeln". :roll:

Re: Global definierte Online Userliste

Verfasst: 03.07.2012 20:08
von BNa
An der vorhandenen Fehlermeldung des Users hier http://www.phpbb.com/community/viewtopi ... #p13107579 siehst Du doch schon, das die Implemetierung nicht ganz durchdacht ist. Die Einbindung sollte auf eine saubere Art erfolgen, die nicht an allen möglichen Stellen Probleme macht. Bezüglich Deiner gewünschten Implementierung gibt es sicherlich einen sauberen Weg. Ein Tip: Die function get_user_rank2() steht nicht in allen Bereichen des Forums zur Verfügung. So ist die phpbb3 Basisfunktion get_user_rank() auch programmiert, da der Rank normal nicht global zur Verfügung stehen muss. Globalisiere den Code und alles funktioniert.

Zum Beispiel könntest Du das mal versuchen

Öffne

includes/functions.php

Finde
Davor füge ein

Code: Alles auswählen

//Multiple ranks mod by Goz
if (!function_exists('get_user_rank2')){
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'] : '';
    }
}}
//Multiple ranks mod by Goz    

Re: Global definierte Online Userliste

Verfasst: 04.07.2012 03:06
von Knowhow-Sauger
Das funzt leider nicht. :oops:
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!! :)