Hallo, Gast! (Registrieren)

Letzte Ankündigung: Sicherheitsupdate: MyBB 1.8.30 veröffentlicht (09.03.22)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Template mit <if canview> ergänzen
#1
Hallo,

im Template forumbit_depth1_cat wird mit der Variable
Code:
{$lang->forumbit_forum}
der Text "Forum" angezeigt.

Ich würde gerne dahinter eine weitere Textvariable für Benutzer anzeigen lassen, welche den Inhalt des Forums nicht sehen dürfen.

Die Definition der (Nicht-)Berechtigung zu den jeweiligen Foren ist in der Tabelle mybb-forumpermissons in der Spalte canview gegeben.

Meine Versuche:
Code:
<if $forum['fid'] && $forum['canview'] == 0 then>{$lang->textvariable}</if>
bzw.
Code:
<if $forum['fid'] && $mybb-forumpermissions['canview'] == 0 then>{$lang->textvariable}</if>
schlugen fehl.

Könnte mir jemand sagen wie die IF-Bedingung hierzu korrekt lauten muss?

Vorab besten Dank für Tipps und Hinweise.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.30 | PHP: 7.4.28 | SQL: 5.7.37
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#2
Wenn ich mich recht erinnere, müsste die Benutzerberechtigung hier $permissions['canview'] sein.
Zitieren
#3
Zuerst einmal besten Dank für Dein Engagement.

Mit:
Code:
<if $forum['fid'] && $permissions['canview'] == 1 then>{$lang->Textvariable}</if>
und
Code:
<if $forum['fid'] && $mybb->permissions['canview'] == 1 then>{$lang->Textvariable}</if>
und
Code:
<if $forum['fid'] && $mybb->$permissions['canview'] == 1 then> {$lang->Textvariable}</if>
habe ich keinen Erfolg.
Nur mit
Code:
<if $permissions['canview'] == 1 then>{$lang->Textvariable}</if>
wird der gewünschte Zusatztext bei allen Foren (ob User darin lesen darf oder nicht) angezeigt
mit:
Code:
<if $permissions['canview'] == 0 then>{$lang->Textvariable}</if>
wird der gewünschte Zusatztext bei allen Foren (ob User darin lesen darf oder nicht) nicht angezeigt.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.30 | PHP: 7.4.28 | SQL: 5.7.37
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#4
(08.05.2022, 17:48)Gerti schrieb: Mit:
Code:
<if $forum['fid'] && $permissions['canview'] == 1 then>{$lang->Textvariable}</if>
habe ich keinen Erfolg.

Du gibst doch in deiner if-Anweisung gar keine fid an. Wie soll das dann funktionieren?!

Die richtige Variable sollte eigentlich $fpermissions['canview'] heißen, wenn ich´s richtig herausgelesen habe. Wink
Zitieren
#5
(08.05.2022, 18:21)Schnapsnase schrieb: Wie soll das dann funktionieren?!
Wenn ich es genau wüßte wie es zu funktionieren hat, hätte sich meine Fragestellung erübrigt.
(08.05.2022, 18:21)Schnapsnase schrieb: Die richtige Variable sollte eigentlich $fpermissions['canview'] heißen, wenn ich´s richtig herausgelesen habe. Wink
Leider brachte auch dieser angedachte Lösungsansatz keinen Erfolg.

Trotzdem besten Dank für die Anregung.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.30 | PHP: 7.4.28 | SQL: 5.7.37
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#6
Ich bin mir nicht sicher, ob die Variable dich überhaupt ans Ziel führt.

Wenn ein Forum nicht sichtbar ist ( $permission['canview']==0 ), dann brauchts du ja eigentlich auch keine zusätzliche Sprachvariable dafür. Wink 

Ich vermute mal, dass es dir eher um die Variable $permission['canthreadview'] geht?!
Anderenfalls sollte es auch über die Usergruppen in deiner if-Anweisung funktionieren, da es sich ja um Gruppenrechte handelt.
Zitieren
#7
(09.05.2022, 08:24)Schnapsnase schrieb: Wenn ein Forum nicht sichtbar ist ( $permission['canview']==0 ), dann brauchts du ja eigentlich auch keine zusätzliche Sprachvariable dafür. Wink 
Oops, da habe ich mich falsch ausgedrückt. Die Kategorien sind sichtbar, die Foren nicht. Darum der Zusatzhinweis siehe Ursprungspost. Wobei ich jedoch schrieb:
<Zitat>
Ich würde gerne dahinter eine weitere Textvariable für Benutzer anzeigen lassen, welche den Inhalt des Forums nicht sehen dürfen.
</Zitat>
(09.05.2022, 08:24)Schnapsnase schrieb: Ich vermute mal, dass es dir eher um die Variable $permission['canthreadview'] geht?!
Anderenfalls sollte es auch über die Usergruppen in deiner if-Anweisung funktionieren, da es sich ja um Gruppenrechte Haandelt.
Gleichfalls keinen Erfolg, vermutlich weil ich die inkorrekte Definition Foren anstelle Kategorien nannte.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.30 | PHP: 7.4.28 | SQL: 5.7.37
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#8
Eigentlich brauchst du doch nur die Gruppen und fid´s abfragen, da es sich um Gruppenrechte handelt.
Versuche doch mal das:

PHP-Code:
<if in_array($mybb->user['usergroup'], array('1''4')) && $forum['fid'] == xx then>
Sprachvariable
</if> 
Zitieren
#9
Danke für den weiteren funktionierenden Lösungsansatz.

Was mich an der finalen Umsetzung hindert ist,
a) das es sehr aufwändig ist alle Möglichkeiten einzupflegen
b) man die Abfrage fortlaufend inhaltlich pflegen muss.
Dies ist dann doch problematisch, wenn man z.B.: über eine Aktionszeit bestimmte Foren lesbar machen möchte.

In der Tabelle mybb_forumpermissions sind doch alle erforderlichen Angaben in den Spalten:
fid = Kategorie
gid = Gruppe
canview = Leseberechtigung: 1 = ja, 0 = Nein
gegeben.

Daher dachte ich das man die bestehenden Angaben miteinander verknüpfen könnte, gerade weil alle Angaben bereits gegeben sind.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.30 | PHP: 7.4.28 | SQL: 5.7.37
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#10
(09.05.2022, 09:01)Gerti schrieb: canview = Leseberechtigung: 1 = ja, 0 = Nein

Canview ist nicht die Leseberechtigung, sondern die Sichtbarkeit - ist aber auch egal...
Ob Kategorie oder Forum ist an der Stelle auch egal. Jedes hat eine eigene fid.
Wenn diese fid mit canview = 0 belegt ist, kann auch keine Sprachvariable angezeigt werden.
Du müsstest also die Foren sichtbar machen und nur die Leseberechtigung entziehen.

Dann würde das meiner Meinung nach auch funktionieren, wenn du mit canthreadview arbeitest.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  BBCode - Schriften ergänzen oder ändern Solid Gold 2 1.420 24.07.2006, 00:27
Letzter Beitrag: Solid Gold