welche datei erzeugt das ucp menue
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
welche datei erzeugt das ucp menue
hallo,
ich suche die datei in der das obere ucp menue erzeugt wird
(Einstieg | Profil | Einstellungen | Private Nachrichten | Benutzergruppen | Freunde und ignorierte Mitglieder)
ich möchte das ein von mir geschriebenes modul nur eine bestimmte
benutzergruppe zu sehen bekommt.
kann mir jemand einen tipp geben wo ich suchen muss ?
danke
gruss panama
ich suche die datei in der das obere ucp menue erzeugt wird
(Einstieg | Profil | Einstellungen | Private Nachrichten | Benutzergruppen | Freunde und ignorierte Mitglieder)
ich möchte das ein von mir geschriebenes modul nur eine bestimmte
benutzergruppe zu sehen bekommt.
kann mir jemand einen tipp geben wo ich suchen muss ?
danke
gruss panama
hi panama,
also was die Anzeige des ganzen in den templates angeht so würde ich sagen in der ucp_header.html (dein_forum/styles/prosilver/)
naja und der php code sicherlich in der ucp.php (dein_forum/)
Hoffe das meintest Du!
also was die Anzeige des ganzen in den templates angeht so würde ich sagen in der ucp_header.html (dein_forum/styles/prosilver/)
Code: Alles auswählen
<div id="tabs">
<ul>
<!-- BEGIN t_block1 -->
<li <!-- IF t_block1.S_SELECTED -->class="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
<!-- END t_block1 -->
</ul>
</div>
Hoffe das meintest Du!
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
nein,issjut hat geschrieben:naja und der php code sicherlich in der ucp.php (dein_forum/)
includes/functions_module.php
Code: Alles auswählen
/**
* Build navigation structure
*/
kein Support per PN
Re: welche datei erzeugt das ucp menue
Der oben genannte Verweis hatte mir zu demselben Problem gelinde gesagt überhaupt nichts gebracht. Die jeweils angesprochenen Anforderungen sind vollkommen verschieden.
Da ich weder hier in phpbb.de noch in .com geschweige denn im Entwickler-Wiki etwas zu dem Thema gefunden habe, hab ich mich mal durch die Dateien gefuchst und viel zeit in denselben und der Tabelle verbracht.
Im folgenden nun der Weg den ich genommen habe, um im UCP bestimmte Bereiche nur für bestimmte Benutzergruppen zugänglich zu machen, damit falls zukünftig noch jemand vor diesem Problem steht, ein wenig schneller zu des Rätsels Lösung kommt
Ich muss aber warnen, das ist ein wenig Handarbeit, vor allem bei der Datenbank weswegen ich dringendst empfehle die folgenden Schritte zuerst auf einem lokalen (XAMPP-) Clone auszuprobieren, bevor es böse Überraschungen gibt und eure Datenbank hinüber ist!
Voraussetzung:
Das UCP-Modul ist fertig entwickelt und bereits im UCP integriert.
phpmyAdmin- bzw SSH-Zugriff besteht.
Schritt 1 - Einrichten einer neuen Rolle
In der Tabelle 'phpbb_acl_roles' wird ein neuer Eintrag erstellt. Wichtigste Spalte ist hierbei die "role_id", diese ist fortlaufend (und eindeutig), also solltet ihr euch nach dem letzten Eintrag orientieren und eure id um eines erhöhen.
role_name und role_description können entweder direkt eingetragen werden oder durch eine Sprachvariable ersetzt werden.
role_order wird benötigt, damit phpbb das Menü sortieren kann.
Die nun erstellte Rolle kann im ACP bereits Gruppen zugewiesen werden. (Gruppeneinstellungen und dann das Auswahlfeld Rollen)
Schritt 2 - Einrichten der Auth-Option
In der Tabelle 'phpbb_acl_options' wird ein neuer Eintrag erstellt, der den String enthält der in dem info-File des UCP Mods eingefügt werden muss, am Ende zeige ich euch ein Beispiel.
Wichtig ist hier wieder, dass die auth_option_id eindeutig ist, also heißt es, sich wieder den letzten Eintrag in der Datenbank anzuschauen und eins hinzuzählen
Ein Beispiel für die auth_option wäre beispielsweise "u_tolles_modul", ein anderer "u_testing_module". Wichtig ist, dass der bereits weiter oben bei role_typ angegebene Präfix (hier 'u_') derselbe ist.
Die oben eingegebene auth_option setzen wir nun wie folgt in der ucp-info-Datei des eigenen Moduls (root/includes/ucp/info/*.php) ein:
Hier habe ich das oben aufgezeigte Beispiel "u_tolles-modul" eingesetzt. Wie man sieht wird diesem in der UCP-Info-Datei noch ein 'acl_' vorangesetzt! Bloß nicht vergessen
Dies taucht auch in der Datenbank nicht wieder auf!
Schritt 3: Verknüpfen
Nun verknüpfen wir noch die Rolle mit der Auth-Option.
Dazu wird in der Tabelle 'phpbb_acl_roles_data' ein neuer Eintrag erstellt:
Schritt 4: Gruppe mit den entsprechenden Rechten ausstatten
Nun, um der Gruppe die entsprechenden Rechte zu geben, um das UCp-Modul im menü aufrufen/sehen zu können, weist man der entsprechenden Gruppe noch die oben erstellte Rolle zu.
Dies kann man wie bereits erwähnt entweder direkt im ACP machen ('Benutzer und Gruppen' -> 'Gruppenrechte' ->Gruppe auswählen -> Nun bei Benutzer-Berechtigung die oben erstellte Rolle auswählen) oder auch per Datenbank/SQL-Befehl.
Da ich letzteres bevorzuge um diese nur in einem Schwung bearbeiten zu müssen hier auch nochmal der entsprechende Schritt:
Neuen Eintrag unter 'phpbb_acl_groups' erstellen mit folgenden Werten:
wenn man wie oben vollzogen die Rollen-Variante benutzt, muss man auth_option_id nicht ausfüllen (deswegen habe ich es auch mal in Klammern gesetzt), sondern lässt es frei. Andernfalls muss wohl auth_setting dann 1 sein, das, muss ich gestehen, habe ich jetzt nicht ausprobiert, müsste aber von der Logic her so sein 
So, ich hoffe ich habe nichts vergessen oder falsch wiedergegeben (Menschen machen nunmal Fehler), sollte dem so sein schreibt mir eine PN oder berichtigt mich direkt hier
Eine Gewähr für's funktionieren übernehme ich nicht (bei mir tut es das aber, keine Sorge
) und denkt daran nicht an eurer im Einsatz befindlichen Datenbank das auszuprobieren, sondern erst einen Clone zu benutzen.
Tipp: Schreibt euch gleich die SQL-Befehle raus (wird beim Absenden bei phpmyadmin in einem Fenster angezeigt), dann gehts schneller und vermutlich fehlerfreier
Da ich weder hier in phpbb.de noch in .com geschweige denn im Entwickler-Wiki etwas zu dem Thema gefunden habe, hab ich mich mal durch die Dateien gefuchst und viel zeit in denselben und der Tabelle verbracht.
Im folgenden nun der Weg den ich genommen habe, um im UCP bestimmte Bereiche nur für bestimmte Benutzergruppen zugänglich zu machen, damit falls zukünftig noch jemand vor diesem Problem steht, ein wenig schneller zu des Rätsels Lösung kommt

Ich muss aber warnen, das ist ein wenig Handarbeit, vor allem bei der Datenbank weswegen ich dringendst empfehle die folgenden Schritte zuerst auf einem lokalen (XAMPP-) Clone auszuprobieren, bevor es böse Überraschungen gibt und eure Datenbank hinüber ist!
Voraussetzung:
Das UCP-Modul ist fertig entwickelt und bereits im UCP integriert.
phpmyAdmin- bzw SSH-Zugriff besteht.
Schritt 1 - Einrichten einer neuen Rolle
In der Tabelle 'phpbb_acl_roles' wird ein neuer Eintrag erstellt. Wichtigste Spalte ist hierbei die "role_id", diese ist fortlaufend (und eindeutig), also solltet ihr euch nach dem letzten Eintrag orientieren und eure id um eines erhöhen.
Code: Alles auswählen
role_id = eindeutige ID, letzten Eintrag beachten!
role_name = Name der später im ACP als Überschrift verwendet wird
role_description = Beschreibung
role_type = 'a_' -> Admin; 'u_' -> User; 'f_' -> Forum; 'm_' -> Mod; (UCP zB also 'u_')
role_order = Ordnungsnummer des jeweiligen role_type, einfach letzten Eintrag des selben role_type anschauen
role_order wird benötigt, damit phpbb das Menü sortieren kann.
Die nun erstellte Rolle kann im ACP bereits Gruppen zugewiesen werden. (Gruppeneinstellungen und dann das Auswahlfeld Rollen)
Schritt 2 - Einrichten der Auth-Option
In der Tabelle 'phpbb_acl_options' wird ein neuer Eintrag erstellt, der den String enthält der in dem info-File des UCP Mods eingefügt werden muss, am Ende zeige ich euch ein Beispiel.
Wichtig ist hier wieder, dass die auth_option_id eindeutig ist, also heißt es, sich wieder den letzten Eintrag in der Datenbank anzuschauen und eins hinzuzählen

Code: Alles auswählen
auth_option_id = Eindeutige ID, letzten Eintrag beachten
auth_otion = String welcher später in der UCP-Info-Datei bei "'auth' =>" eingetragen werden muss. Dabei beginnt der String mit der jeweiligen oben verwendeten role_type.
is_global = 1
is_local = 0
founder_only = 0
Die oben eingegebene auth_option setzen wir nun wie folgt in der ucp-info-Datei des eigenen Moduls (root/includes/ucp/info/*.php) ein:
Code: Alles auswählen
'modes' => array(
'user' => array('title' => 'UCP_TEST', 'auth' => 'acl_u_tolles_modul', 'cat' => array('')),
),

Schritt 3: Verknüpfen
Nun verknüpfen wir noch die Rolle mit der Auth-Option.
Dazu wird in der Tabelle 'phpbb_acl_roles_data' ein neuer Eintrag erstellt:
Code: Alles auswählen
role_id = role_id der aus Schritt 1 angelegten Rolle
auth_option-id = auth_option_id der aus Schritt 2 angelegten Auth-Option
auth_setting = 1
Nun, um der Gruppe die entsprechenden Rechte zu geben, um das UCp-Modul im menü aufrufen/sehen zu können, weist man der entsprechenden Gruppe noch die oben erstellte Rolle zu.
Dies kann man wie bereits erwähnt entweder direkt im ACP machen ('Benutzer und Gruppen' -> 'Gruppenrechte' ->Gruppe auswählen -> Nun bei Benutzer-Berechtigung die oben erstellte Rolle auswählen) oder auch per Datenbank/SQL-Befehl.
Da ich letzteres bevorzuge um diese nur in einem Schwung bearbeiten zu müssen hier auch nochmal der entsprechende Schritt:
Neuen Eintrag unter 'phpbb_acl_groups' erstellen mit folgenden Werten:
Code: Alles auswählen
group_id = ID der Gruppe
forum_id = foren-ID oder 0 = Global (?)
[auth_option_id = ID zu auth_option ]
auth_role_id = ID der Rolle
auth_setting = 0

So, ich hoffe ich habe nichts vergessen oder falsch wiedergegeben (Menschen machen nunmal Fehler), sollte dem so sein schreibt mir eine PN oder berichtigt mich direkt hier

Eine Gewähr für's funktionieren übernehme ich nicht (bei mir tut es das aber, keine Sorge

Tipp: Schreibt euch gleich die SQL-Befehle raus (wird beim Absenden bei phpmyadmin in einem Fenster angezeigt), dann gehts schneller und vermutlich fehlerfreier

Heute funktioniert es... bestimmt!
Re: welche datei erzeugt das ucp menue
Wow, da hast du dir aber Mühe gemacht, für ein knapp 2 1/2 Jahre altes Thema 

Re: welche datei erzeugt das ucp menue
Würdest du dir auch, wenn du über eine Stunde lang nach Informationen suchst und das einzige viel versprechende Thema das hier ist ;P
Heute funktioniert es... bestimmt!