Seite 1 von 1

Fehler bei Rechte Vergabe für Benutzer

Verfasst: Fr 5. Sep 2008, 22:00
von Peer
Hallo,

ich arbeite mit der Version 4.8.8 wo bei der Fehler auch schon bei der Version 4.8.7 aufgetreten ist.

Es geht um Folgendes.
Ich haben verschieden Benutzer die auf unterschiedliche Bereiche der Homepage Zugriff haben um dort Inhalte und Co zu bearbeiten.

Jetzt habe ich festgestellt das diese Benutzer keine Kategorie mehr erstellen können. Die Einstellungen schauen folgendermassen aus:
Unter Bereiche haben sie Zugriff auf die Kategorien alle weiteren Punkte habe ich nicht angekreuzt


Unter Kategorie habe ich bei den Kategorien in den sie Arbeiten dürfen alles Angekreuzt.

Bei den älteren Version 4.6 hat das auch immer gereicht.

Kann mir da jemand Helfen.

Vielen Danke

Gruß

Peer

Verfasst: Di 9. Sep 2008, 11:03
von Peer
Hallo,

ich weiß das ich in vielen Punkten etwas nervig bin aber es geht hier doch um eine Sache die eventuell falsch läuft.

Gruß

Peer

Verfasst: Di 9. Sep 2008, 16:33
von timo.trautmann_4fb
Sieht nach einem Bug aus:

contenido/includes/str_overview.php

Zeilen ~886

Code: Alles auswählen

$tpl->set('s', 'PERMISSION_NEWTREE', 'disabled');
$tpl->set('s', 'PERMISSION_NEWTREE_DISPLAY', 'none');
$tpl->set('s', 'NEW_ACTION', 'str_newcat');
Ersetzen durch:

Code: Alles auswählen

$oActionNew = new cHTMLHiddenField ('action', 'str_newcat', 'cat_new_action');
$tpl->set('s', 'PERMISSION_NEWTREE', 'disabled');
$tpl->set('s', 'PERMISSION_NEWTREE_DISPLAY', 'none');
$tpl->set('s', 'NEW_ACTION', 'str_newcat');
$tpl->set('s', 'INPUT_ACTION_NEW', $oActionNew->render());
Somit wird die Action richtig gesetzt und die Überprüfung auf die Berechtigung kann erfolgen ...

Verfasst: Di 9. Sep 2008, 16:53
von timo.trautmann_4fb
contenido/includes/functions_rights.php

Zeile 85:

Code: Alles auswählen

$statement_where2[] = "user_id = '".Contenido_Security::toInteger($key)."' ";
ersetzen durch

Code: Alles auswählen

$statement_where2[] = "user_id = '".Contenido_Security::escapeDB($key, $db)."' ";
Zeile: 135

Code: Alles auswählen

'".Contenido_Security::toInteger($db->f("user_id"))."', '".Contenido_Security::toInteger($db->f("idarea"))."', '".Contenido_Security::toInteger($db->f("idaction"))."',
ersetzen durch

Code: Alles auswählen

              '".Contenido_Security::escapeDB($db->f("user_id"), $db)."', '".Contenido_Security::toInteger($db->f("idarea"))."', '".Contenido_Security::toInteger($db->f("idaction"))."',
Basis 4.8.8 danach get es wieder bei mir. Checkin für nächste Version

Verfasst: Mi 10. Sep 2008, 01:11
von Peer
Vielen Dank!!!

Hat alles geklappt.

Gruß

Peer

Verfasst: Mi 10. Sep 2008, 08:53
von timo.trautmann_4fb
Danke für die Rückmeldung. Kein Problem. :-)