Rechteverwaltung: Content -> Template wechseln
Verfasst: Mi 28. Dez 2005, 11:11
Hallo zusammen,
vielleicht ein Bug, vielleicht einfach auch nur eine falsche Erwartungshaltung
Zur Sache: Wenn über die Gruppenrechte folgendes erlaubt wird
Bereiche: nur Zugriff auf den Artikelbereich
Content: Template wechseln, keine Berechtigung zum Template bearbeiten
erwarte ich, dass ein entsprechend zugeordneter Benutzer das Template eines zugänglichen Artikels wechseln kann, das Template selbst aber jedoch nicht konfigurieren kann.
Weiterhin sollte er nicht die Templatekonfiguration der Kategorie verändern dürfen.
Das ist/war in meiner Installation v4.6.4 ohne Beispielmandant nicht möglich, da das entsprechende Symbol zur Artikel-Templatekonfiguration in den Aktionen zum Artikel fehlt.
Als Workaround habe ich dazu folgendes eingebaut:
Zum Einblenden des Templatesymbols in der Artikelübersicht
contenido/includes/include.con_art_overview.php
Zeile 613, statt nur die Permissions zum Template bearbeiten abzufragen
werden jetzt auch die Rechte zum Template wechseln geprüft
In der Templatekonfiguration selbst:
contenido/includes/include.tplcfg_edit_form.php
Zeile 88, statt
auch hier wieder die entsprechenden Berechtigungen ergänzen
Da mit diesen Änderungen auch die Konfiguration des Templates möglich wäre, habe ich alle Einstellmöglichkeiten der Modulinputs deaktiviert
unter Zeile 428
dies einfügen
Der Cancelbutton wird dann auch noch mangels Funktion rausgeschmissen
Zeile 505, statt
dies hier
Die geänderten beiden Dateien habe ich nochmal gezippt bereitgestellt. Download
Gutes Gelingen
vielleicht ein Bug, vielleicht einfach auch nur eine falsche Erwartungshaltung
Zur Sache: Wenn über die Gruppenrechte folgendes erlaubt wird
Bereiche: nur Zugriff auf den Artikelbereich
Content: Template wechseln, keine Berechtigung zum Template bearbeiten
erwarte ich, dass ein entsprechend zugeordneter Benutzer das Template eines zugänglichen Artikels wechseln kann, das Template selbst aber jedoch nicht konfigurieren kann.
Weiterhin sollte er nicht die Templatekonfiguration der Kategorie verändern dürfen.
Das ist/war in meiner Installation v4.6.4 ohne Beispielmandant nicht möglich, da das entsprechende Symbol zur Artikel-Templatekonfiguration in den Aktionen zum Artikel fehlt.
Als Workaround habe ich dazu folgendes eingebaut:
Zum Einblenden des Templatesymbols in der Artikelübersicht
contenido/includes/include.con_art_overview.php
Zeile 613, statt nur die Permissions zum Template bearbeiten abzufragen
Code: Alles auswählen
# Template conf button
if ($perm->have_perm_area_action("con","con_tplcfg_edit") ||
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat)
)
{
Code: Alles auswählen
# Template conf button
if ($perm->have_perm_area_action("con","con_tplcfg_edit") ||
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat) ||
$perm->have_perm_area_action("con", "con_changetemplate") ||
$perm->have_perm_area_action_item("con", "con_changetemplate", $idcat)
)
{
In der Templatekonfiguration selbst:
contenido/includes/include.tplcfg_edit_form.php
Zeile 88, statt
Code: Alles auswählen
if ($perm->have_perm_area_action("con","con_tplcfg_edit") ||
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat)
) {
Code: Alles auswählen
if ($perm->have_perm_area_action("con","con_tplcfg_edit") ||
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat) ||
$perm->have_perm_area_action("con", "con_changetemplate") ||
$perm->have_perm_area_action_item("con", "con_changetemplate", $idcat)
) {
unter Zeile 428
Code: Alles auswählen
$modulecode = ob_get_contents();
ob_end_clean();
Code: Alles auswählen
//wenn keine Berechtigung zum Template bearbeiten vorhanden ist
//werden die Eingabemöglichkeiten deaktiviert
if (!$perm->have_perm_area_action("con","con_tplcfg_edit") &&
!$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat))
{
$modulecode = preg_replace('/\<(input|select|textarea)/i', '<\\1 disabled="disabled" ', $modulecode);
}
Zeile 505, statt
Code: Alles auswählen
if ($idart)
{
$buttons = '<a accesskey="c" href="'.$sess->url("main.php?area=con&frame=4&idcat=$idcat").'"><img src="images/but_cancel.gif" border="0"></a>
<input accesskey="s" type="image" src="images/but_ok.gif">';
} else {
$buttons = '<a accesskey="c" href="'.$sess->url("main.php?area=str&frame=4&idcat=$idcat").'"><img src="images/but_cancel.gif" border="0"></a>
<input accesskey="s" type="image" src="images/but_ok.gif">';
}
Code: Alles auswählen
if ($idart)
{
$buttons = "";
if ($perm->have_perm_area_action("con","con_tplcfg_edit") &&
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat))
{
$buttons = '<a accesskey="c" href="'.$sess->url("main.php?area=con&frame=4&idcat=$idcat").'"><img src="images/but_cancel.gif" border="0"></a> ';
}
$buttons = $buttons . '<input accesskey="s" type="image" src="images/but_ok.gif">';
} else {
if ($perm->have_perm_area_action("con","con_tplcfg_edit") &&
$perm->have_perm_area_action_item("con","con_tplcfg_edit",$idcat))
{
$buttons = '<a accesskey="c" href="'.$sess->url("main.php?area=str&frame=4&idcat=$idcat").'"><img src="images/but_cancel.gif" border="0"></a> ';
}
$buttons = $buttons . '<input accesskey="s" type="image" src="images/but_ok.gif">';
}
Die geänderten beiden Dateien habe ich nochmal gezippt bereitgestellt. Download
Gutes Gelingen