Bestimmte Gruppen verstecken - easy mod?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Antworten
Fragga
Mitglied
Beiträge: 6
Registriert: 02.07.2008 19:18

Bestimmte Gruppen verstecken - easy mod?

Beitrag von Fragga »

Hi Leute ich versuche folgenenden Mod zu schreiben, da ich aber nicht besonders gut in php bin und ich mich auch nicht sehr gut mit Datenbank-Zugriffen auskenne, hoffe ich ,dass mir jemand behilflich sein kann! :-)

Da ich besonders viele Gruppen in meinem Forum habe , die dann auch noch aufeinander aufbauen, möchte ich einige Gruppen als Vorraussetzung für andere Gruppen setzen.
Dass heisst, ich versuche ein Mod zu schreiben, der bestimmte Gruppen nur für Mitglieder einer bestimmen anderen bzw einer "Hauptgruppe" sichtbar bzw zugänglich macht.

Ich habe dazu folgenden "Quelltext" geschreiben, der es euch vieleicht näher verständlich macht, wie ich mir vorstelle, dass der mod gecodet werden könnte!
Wie gesagt ich bin nicht besonders gut in php daher hab ich den Code nur in einer pseudo script sprache geschrieben aber vielleicht ist mir ja jemand behilflich diesen in php umzusetzten ! :-)

1.
///Änderungen im "Admin control Center" dort wo mann Gruppen erstellt oder ändert(ich weiß nicht genau die Seite in dem der Source Code geändert werden muss)
///Es muss ein neues Feld erstellt werden in das die ID der Gruppe geschrieben werden kann, welche nötig ist um diese Gruppe zu sehen

Code: Alles auswählen

Schreibe in dieses Feld die ID der Gruppe die nötig sein muss um diese Gruppe zu sehen:
[Field]
///Änderungen am php Code
///Ich denke, dass ein neues Feld in der msql database für die Gruppen angelegt werden muss, in denen die für den Zutritt benötige ID geschreiben wird bzw die ID die nötig ist um die Gruppe zu sehen!

//Dann muss aus dem Feld aus der Templatefile die ID herrausgelesen werden und in die Datenbank geschrieben werden:

Code: Alles auswählen

get from tempalte [Field]
write into database group_maingroup-needed-to-acsess_id-->[Field] 
2.
///Änderungen im Benutzermenue für die Gruppen(ich glaub das müsste diese Datei sein: \includes\ucp\ucp_groups.php)

//Hier muss kontroliert werden, ob der Benutzer in der Gruppe mit der ID ist, die benötigt wird, um die andere Gruppe zu sehen; wenn er sie nicht hat muss die Gruppe versteckt werden!
//Ich glaube an dieser stelle der php Datei wäre ein guter Platz um die änderungen vorzunehmen:

Code: Alles auswählen

\includes\ucp\ucp_groups.php
// Hide hidden groups unless user is an admin with group privileges
$sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')';
->> Es müsste so geändert werden:(achtung pseudo code)

Code: Alles auswählen

///Hide hidden groups unless user is an admin with group privileges or hide groups if the the user does not have the needed "maingroup" for this group
//dies muss ergänzt werden

Code: Alles auswählen

check ob du die gruppe sehen darfst
boolean:=groupisallowed;
count_forall_user groups [id_of_joined_guser_group]
      if[id_of_joined_guser_group] = [group_maingroup-needed-to-acsess_id]
           groupisallowed:=true;


if(check ob du die gruppe sehen darfst[id_of_group]) = true
	{show group}
else	
	{hide group}
//Hier wird also kontroliert ob der Benutzer in der Gruppe ist, die benötigt wird damit die gerade kontrolierte Gruppe angezeigt wird
Ich glaube eigentlich das es keine alzu großen schwierigkeiten machen sollte diese änderungen vorzunehmen, deshalb hoffe ich, dass mir jemand behilflich ist :-)

Fragga
Fragga
Mitglied
Beiträge: 6
Registriert: 02.07.2008 19:18

Beitrag von Fragga »

Okay ich hab die "ganzen" Rechtschreibfehler und ein paar andere Sachen von Gestern berichtigt ;-)

Hoffentlich kann mir jetz jemand dabei helfen, oder zumindest diese Idee und die ausführung des Codes kommentieren!

Eigentlich müsste dieser Code doch eine Sache von Minuten sein oder?!?!?! 8)

LG :grin:
Fragga
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Fragga hat geschrieben:Eigentlich müsste dieser Code doch eine Sache von Minuten sein oder?!?!?! 8)
Es ist ein Mod, der stramme Tage bis Wochen dauert :wink:
Fragga
Mitglied
Beiträge: 6
Registriert: 02.07.2008 19:18

Beitrag von Fragga »

Oha :D

Und wieso, funktioniert das nicht so einfach wie ich mir das vorstelle?

Also ich kenn mich mit php nicht aus aber nach dem prinzip wie ich das oben aufgeschreiben habe müsste das einfach sein, oder?

Aber schon mal danke für eine erste einschätzung!
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“