WBCE CMS – Way Better Content Editing.
You are not logged in.
Hallöchen in die nette Runde.
Hoffentlich wärme ich hiermit nicht alten Kohl auf, denn ich beschreibe jetzt einen Fehler in WBCE 1.4.0 (mit PHP 7.3) und ich weiß nicht, ob der in 1.4.4 vielleicht eh schon gefixt ist. Da die Homepage aber grade voll in Benutzung ist und einige Anpassungen enthält (eigene Loginseiten), habe ich noch nicht die Zeit gefunden, upzudaten. Jedenfalls taucht der (eventuelle) Fehler mit allen Backend-Templates in neuester Version auf:
Ich habe Redakteure in Benutzergruppen, welche bei den erweiterten Rechten Unterseiten erstellen dürfen, aber nicht auf Ebene null. Soweit sogut, aber das geht nicht. Die Nutzer sehen zwar das Symbol "Unterseiten erstellen" in der Seitenübersicht bei ihren Seiten, aber beim Klick passiert nichts. Unten zu sehen istz auch gar kein Bereich "Seite erstellen".
Nur wenn ich Ebene null in der Gruppenberechtigung dazunehme, können die Benutzer der Gruppe Unterseiten erstellen. Dann erscheint in der Seitenübersicht auch der Bereich "Seite erstellen", der vorher gar nicht zu sehen ist. Die Redakteure klatschen mir aber dann immer wieder neue Seiten auf die oberste Ebene, was ich eben verhindern wollte.
Sollte der Bereich "Seite erstellen" in der Seitenverwaltung nicht schon dann erscheinen, wenn die Berechtigung "Unterseite erstellen" vorliegt, aber eben mit ausgegrauten Bereich überhalb der vorgegebenen Seitenebene, so dass niemand dort eine neue Seite ablegen kann?
LG pfreud01
Offline
Ich kann den Fehler reproduzieren, er ist auch noch in der 1.4.5 enthalten.
Abhilfe:
In der /admin/pages/index.php Zeile 203ff
if($admin->get_permission('pages_add') != true) {
$template->set_var('DISPLAY_ADD', 'hide');
} elseif($admin->get_permission('pages_add_l0') != true AND $editable_pages == 0) {
$template->set_var('DISPLAY_ADD', 'hide');
}
ändern zu
if($admin->get_permission('pages_add') != true) {
$template->set_var('DISPLAY_ADD', 'hide');
}
Für Benutzer, die auf Ebene 0 keine Seiten anlegen können, wird dann auch wieder das Hinzufügen-Formular angezeigt, aber es ist dann immer eine Seite (die oberste von der betr. Gruppe bearbeitbare) Seite als "Übergeordnete Seite" vorausgewählt und es ist dann wie gewünscht nicht möglch, neue seiten auf Ebene 0 anzulegen.
Dev Note:
Hat die Gruppe gar keine Rechte zum Anlegen von neuen Seiten, wird nach oben genannter Änderung wie gewünscht das Formular nicht angezeigt. Deshalb weiß ich gerade nicht, was es mit get_permission('pages_add_l0') und $editable_pages == 0 auf sich hat und wann/warum das da reingekommen ist. Da war wohl mal irgend etwas anderes angedacht, ist aber nicht zu Ende geführt worden.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
pfreud01
@Florian
Hast du die Testumgebung davon noch, würde gerne was testen.
Last edited by colinax (28.10.2020 19:05:38)
Offline
Nee, leider nicht, müsstest Du Dir bitte gerade selbst aufsetzen.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Ok, Danke für die Info. Ich schau es mir am Wochenende an
Offline
Dankeschön!
Kann vermelden, dass es nun wie gewünscht funktioniert!
Noch ein Grund für mich, das nächste Update endlich zu machen
Offline
Ich konnte heraus finden wo das Problem liegt.
elseif($admin->get_permission('pages_add_l0') != true AND $editable_pages == 0) {
$template->set_var('DISPLAY_ADD', 'hide');
}
Diese elseif ist zuständig um das "Seite anlegen Formular" auszublenden falls die Gruppe prinzipiell das Recht zum bearbeiten hat aber für die Gruppe keine Seite zum bearbeiten freigeben ist.
Hinter editable_pages steht eine Funktion die berechnen sollte wie viele Seiten zum bearbeiten vorhanden sind, da es die entsprechende irgendwann zwischen WB 2.8.3 und 2.8.3 SP7 nicht gab fehlt diese auch bei uns.
Last edited by colinax (07.11.2020 11:38:06)
Offline
Ich kann vermelden dass nach Absprache und Tests florians Fix aus #2 als offizieller Fix angewendet werden kann.
Hab das Thema somit mit [gelöst] markiert.
Offline
giz, pfreud01