Seite 1 von 1
eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 12:04
von forant
Hallo Community,
Ich habe im "ACP > Beiträge > BBCodes" neue Tags definiert. Schalte ich diese frei, sehen diese ja alle Benutzer. Ich möchte aber einige nur für die Globalen Moderatoren bzw. für den Admin anzeigen lassen.
Frage 1: Kann man dieses Anliegen verwirklichen?
Frage 2: Gibt es eigentlich eine Liste was, wie, wer bzgl. der Bedingungen (<!-- IF ?????????? --><!-- ENDIF -->) bzgl. Gäste/Bots/Benutzer/u.s.w. bedeutet? (Man ist als Laie echt auf ein Rate- und Versuchsspiel angewiesen.)
Zusatz:
Anmerkung: Bei den selbst erstellten TAGs ist in der Beschreibung ist der 1. Buchstabe GROSS geschrieben, in der Anzeige wird er aber klein angezeigt.
Frage 3: Wie bekommt man den ersten Buchstaben GROSS angezeigt?
Danke für Hinweise
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 12:33
von DeepSurfer
Original stammt hier aus dem Forum, habe es bei mir eingebaut und arbeite damit ständig um Inhalte (besonders Zusatzfunktionen für Admins bzw. Gründer) nur Bestimmten Gruppen zugänglich zu machen.
Hallo
Manchmal möchte man diverse Dinge im Template nur bestimmten Gruppen zur Verfügung stellen (also für bestimmte Gruppen sichtbar oder unsichtbar machen).
Aus diesem Grunde stelle ich hier mal die Anleitung zur Erstellung einer Template Variable zur Prüfung der Gruppen Mitgliedschaft zur Verfügung.
Öffne
includes/functions.php
Suche
Code: Alles auswählen
'SITE_LOGO_IMG' => $user->img('site_logo'),
'A_COOKIE_SETTINGS' => addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),
));
Füge danach ein
Code: Alles auswählen
if ( !function_exists('group_memberships') )
{
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
}
$groups = group_memberships(false,$user->data['user_id']);
foreach ($groups as $grouprec)
{
$template->assign_vars(array(
'S_GROUP_' . $grouprec['group_id'] => true
));
}
Jetzt kannst du S_GROUP_xxx im Template verwenden, wobei x mit der Gruppen ID zu ersetzen ist.
Beispiel:
Code: Alles auswählen
<!-- IF S_GROUP_xxx and S_USER_LOGGED_IN -->
html code
<!-- ENDIF -->
Kannst benötigten Gruppen ID mit phpmyadmin direkt in der Datenbank auslesen.
Oder über das ACP --> Gruppenverwaltung, dort mit der Maus auf "Einstellungen" rechts vom Gruppenname schieben (NICHT KLICKEN), es erscheint unten in der Browserstatusleiste ein LINK das am ende "g=xx" stehen hat, die Zahl für das -xx- bedeutet die Gruppen-ID.
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 13:46
von forant
DeepSurfer hat geschrieben:
Beispiel:
Code: Alles auswählen
<!-- IF S_GROUP_xxx and S_USER_LOGGED_IN -->
html code
<!-- ENDIF -->
zunächst einmal DANKE für die sehr hilfreiche Anleitung.
Wo aber stehen die von mir selbst erstellten TAGs damit ich eine Abfrage gemäß Deinem Beispiel durchführen kann?
wo und was muss man an stelle von "html code" eintragen damit die TAGs (für die Berechtigten) angezeigt werden?
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 14:36
von forant
DeepSurfer hat geschrieben:
Öffne includes/functions.php
Füge danach ein
Code: Alles auswählen
if ( !function_exists('group_memberships') )
{
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
}
$groups = group_memberships(false,$user->data['user_id']);
foreach ($groups as $grouprec)
{
$template->assign_vars(array(
'S_GROUP_' . $grouprec['group_id'] => true
));
}
ops - eingebaut und die Seite ist nicht mehr erreichbar. Nach dem entfernen war wieder alles ok. Und nu?
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 14:40
von DeepSurfer
checke ich nochmal nach.
Dann musst Du ein Fehler gemacht haben, auf meinem Testboard ist das Einfügen der beschriebenen Zeilen (ab Zeile #4282) in der functions.php ohne Probleme eingebunden und kein Fehlverhalten im Board spürbar.
(und ja, Foren Cache und Browser Cache sind geleert)
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 04.07.2010 19:32
von DeepSurfer
Zu frage 3.
Beim Überfliegen der Dateien müsstest Du dir die bbcode.html im template Pfad deines benutzten Styles mal anschauen.
Dort sind die fertig definierten BBcodes vorhanden, kannst ja da Deine eigenen hinzufügen.
Und die BBcodes für die Moderatoren mit dem Groupcheck umhüllen.
Code: Alles auswählen
<!-- IF S_GROUP_xxx and S_USER_LOGGED_IN -->
BBcodes-begin und BBcodes-end
BBcodes-begin und BBcodes-end
BBcodes-begin und BBcodes-end
<!-- ENDIF -->
Hab dieses Konstrukt noch nicht getestet, also wenn es klappt ist das cool.
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 05.07.2010 08:53
von forant
Fehler gefunden:
Zeile 4281 = .....secure')),
Zeile 4282 = ));
Zeile 4283 = Deine Angaben, dann wird alles wieder angezeigt.
Werde mal in den nächsten Tagen das mit den Tags testen. (habe da sicherlich noch fragen)
Re: eigene TAGs > Anzeige und Rechte
Verfasst: 05.07.2010 09:59
von forant
Hallo DeepSurfer,
in der "bbcode.html" kann ich ja die Definitionen festlegen. In der "posting_buttons.html" steht z.B.:
Code: Alles auswählen
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
Welche Werte muss man nun für die
neuen TAGs eintragen damit die Definitionen aus "bbcode.html" ausgeführt/angezeigt werden können?
Die Fragezeichen sind für mich unklar:
- type="button"
>> klar
- class="button2"
>> klar
- accesskey="i"
>> eine eigene Definition z.B. "w"
- name="addbbcode
?"
- value=" i "
>> wie accesskey
- style="font-style:italic; width: 30px"
>> klar
- onclick="bbstyle(
?)"
- title="{L_BBCODE_I_HELP}"
>> wie accesskey ! = L_BBCODE_!_HELP - wo wird die Help definiert?
für Hinweise besten Dank