TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

Beitrag von modernist »

Hallo!

Ich habe auf meiner Startseite die unsichtbaren Mitglieder gänzlich rausgenommen, jetzt fällt mir aber auf, daß die noch in der viewonline.php in der Überschrift auftauchen: Es sind X Mitglieder und Y unsichtbare Mitglieder online.
Ich möchte dort aber nur stehen haben: Es sind X Mitglieder online.

Laut viewonline_body.html von prosilver erfolgt die Anzeige durch TOTAL_REGISTERED_USERS_ONLINE.

Diese Variable habe ich auch in der viewonline.php gefunden:

Code: Alles auswählen

	'TOTAL_REGISTERED_USERS_ONLINE'	=> sprintf($l_r_user_s, $logged_visible_online) . sprintf($l_h_user_s, $logged_hidden_online),
Lösche ich dort allerdings

Code: Alles auswählen

. sprintf($l_h_user_s, $logged_hidden_online)
dann steht dort: Es sind X Mitglieder und

Nun könnte ich natürlich in der Sprachdatei common.php rumwurschteln und bei REG_USERS_XXX jeweils das und entfernen. Da ich aber nicht sicher bin, wo das noch überall benötigt wird, würde ich es aber gern anders lösen, damit die Anzeige mit Es sind X Mitglieder online ohne die unsichtbaren Mitglieder erfolgt und sprachlich korrekt ist.

Kann mir da jemand weiterhelfen?
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

Beitrag von Frank1604 »

Hallo,

ich wüsste nicht wo das noch verwendet wird, aber wenn du ganz sicher gehen willst, kannst du ja eine neue Sprachvariable erstellen, und die alte unberührt lassen.
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

Beitrag von modernist »

Die Frage ist nur, wie erstelle ich eine neue Sprachvariable, denn so recht ist mir nicht klar, wie

Code: Alles auswählen

sprintf($l_r_user_s, $logged_visible_online) . sprintf($l_h_user_s, $logged_hidden_online)
umgesetzt wird, daß daraus die Anzeige der Mitglieder und Unsichtbaren generiert wird, um nicht zu sagen, es ist mir völlig unklar. :(
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

Beitrag von Frank1604 »

Das wird an dieser Stelle gemacht:

Code: Alles auswählen

// Generate reg/hidden/guest online text
$vars_online = array(
    'REG'    => array('logged_visible_online', 'l_r_user_s'),
    'HIDDEN'=> array('logged_hidden_online', 'l_h_user_s'),
    'GUEST'    => array('guest_counter', 'l_g_user_s')
);

foreach ($vars_online as $l_prefix => $var_ary)
{
    switch ($$var_ary[0])
    {
        case 0:
            $$var_ary[1] = $user->lang[$l_prefix . '_USERS_ZERO_ONLINE'];
        break;

        case 1:
            $$var_ary[1] = $user->lang[$l_prefix . '_USER_ONLINE'];
        break;

        default:
            $$var_ary[1] = $user->lang[$l_prefix . '_USERS_ONLINE'];
        break;
    }
}
unset($vars_online); 
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: TOTAL_REGISTERED_USERS_ONLINE ohne Unsichtbare

Beitrag von modernist »

Danke!

Ich habe dann den switch geändert zu

Code: Alles auswählen

switch ($$var_ary[0])
	{
		case 0:
			$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ZERO_ONLINE_CH'];
		break;

		case 1:
			$$var_ary[1] = $user->lang[$l_prefix . '_USER_ONLINE_CH'];
		break;

		default:
			$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ONLINE_CH'];
		break;
	}
Die _USERS_XXX_CH für REG, GUEST und HIDDEN entsprechend in der common.php ergänzt und TOTAL_REGISTERED_USERS_ONLINE verkürzt zu:

Code: Alles auswählen

'TOTAL_REGISTERED_USERS_ONLINE'	=> sprintf($l_r_user_s, $logged_visible_online),
Funktioniert jetzt wie gewünscht. :)

Komischerweise klappte es aber nicht, statt TOTAL_REGISTERED_USERS_ONLINE einfach eine andere Variable wie z.B. TOTAL_REGISTERED_USERS_ONLINE_CH festzusetzen, um diese dann in viewonline_body.html anzuwenden.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“