Hallo,
Das Problem: Wenn man mit JACL eine neue Usergruppe erstellt, wird diese in der Konfiguration von JEvents nicht berücksichtigt.
Somit haben User der Neuen Usergruppe keine Rechte bei JEvents, sprich sie können keine neue Termine anlegen.
Diese Anleitung gilt für JEvents 1.14 mit Verwendung von JACL Plus 1.0.12
Im folgenden findet Ihr eine Anleitung, wie ihr JEvents mit neuen Usergruppen von JACL verwenden könnt.
Allgemein muss "neueusergruppe" durch den Namen den neuen Usergruppe, welche die jeweiligen Rechte erhalten soll, ersetzt werden.
Bevor Änderungen vorgenommen werden, sollte eine Sicherungskopie der Datei events.php (Ordner: /html/joomla/components/com_events/) erstellt werden.
Folgende zwei Schritte sind bei Bedarf durchzuführen:
1.) Neue Usergruppe soll Termine erstellen können
2.) Neue Usergruppe soll Termine über das Frontend veröffentlichen können
1.) Der neuen Usergruppe soll es möglich sein, neue Termine einzutragen, diese müssen jedoch erst von einem Admin im Backend freigeschaltet werden.
- Datei /html/joomla/components/com_events/events.php öffnen
- Folgende Stelle suchen( ca. Zeile 149):
- Wie folgt abändern:PHP-Code:} else {
$is_event_editor = ( strtolower( $my->usertype ) == 'author' || strtolower( $my->usertype ) == 'publisher'
|| strtolower( $my->usertype ) == 'editor' || strtolower( $my->usertype ) == 'manager' || strtolower( $my->usertype ) == 'administrator'
|| strtolower( $my->usertype ) == 'super administrator' );
- "neueusergruppe" durch entsprechenden Namen ersetzen.PHP-Code:} else {
$is_event_editor = ( strtolower( $my->usertype ) == 'author'
|| strtolower( $my->usertype ) == 'neueusergruppe'
|| strtolower( $my->usertype ) == 'publisher'
|| strtolower( $my->usertype ) == 'editor' || strtolower( $my->usertype ) == 'manager' || strtolower( $my->usertype ) == 'administrator'
|| strtolower( $my->usertype ) == 'super administrator' );
Nun kann die neue Usergruppe Termine erstellen, vorausgesetzt in der Konfiguration von JEvents wurde im Reiter "Komponente"
in der Zeile "Berechtigt" der Eintrag "Nur mit speziellen Rechten und Admins" ausgewählt.
2.) Die neue Usergruppe soll Termine im Frontend eintragen können, ohne das ein Admin den Termin übers Backend freischalten muss.
Dieser Schritt setzt Schritt 1 voraus!!
- Datei /html/joomla/components/com_events/events.php öffnen
- Folgende Stelle suchen( ca. Zeile 383):
- Wie folgt abändern:PHP-Code:$mapping = array(
'registered'=>1,
'author' =>2,
'editor' =>3,
'publisher' =>4,
'manager' =>5,
'administrator'=>6,
'super administrator'=>7);
$frontendPublish = $cfg->get('com_frontendPublish');
if ($frontendPublish==0) $frontendPublish=7; // to protect old config files
if(array_key_exists( strtolower( $my->usertype ),$mapping)){
$frontendPublish = ($frontendPublish <= $mapping[strtolower( $my->usertype )]);
- "neueusergruppe" durch entsprechenden Namen ersetzen.PHP-Code:$mapping = array(
'registered'=>1,
'author' =>2,
'editor' =>3,
'neueusergruppe' =>4,
'publisher' =>5,
'manager' =>6,
'administrator'=>7,
'super administrator'=>8);
$frontendPublish = $cfg->get('com_frontendPublish');
if ($frontendPublish==0) $frontendPublish=8; // to protect old config files
if(array_key_exists( strtolower( $my->usertype ),$mapping)){
$frontendPublish = ($frontendPublish <= $mapping[strtolower( $my->usertype )]);
- den Wertabändern inPHP-Code:$frontendPublish=7
Nun kann die neue Usergruppe Termine erstellen, ohne die Veröffentlichung durch einen Admin.PHP-Code:$frontendPublish=8
Voraussetzung ist, dass in der Konfiguration von JEvents im Reiter "Komponente"
in der Zeile "Frontendveröffentlichungen" der Eintrag "Autoren oder höher" ausgewählt ist.
Anmerkung: Es ist auch möglich die Neue Usergruppe an einer anderen Stelle einzufügen, z.B. nach "author" oder "publisher".
Ausschlag geben hierfür sollte die Stellung innerhalb der jeweiligen Rechtestruktur sein.
Grüße
Daniel


LinkBack URL
About LinkBacks
Zitieren




Lesezeichen