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