Bestimmte Gruppen verstecken - easy mod?
Verfasst: 07.07.2008 16:56
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
///Ä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:
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:
->> Es müsste so geändert werden:(achtung pseudo code)
//dies muss ergänzt werden
Ich glaube eigentlich das es keine alzu großen schwierigkeiten machen sollte diese änderungen vorzunehmen, deshalb hoffe ich, dass mir jemand behilflich ist 
Fragga

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]
///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]
///Ä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 . ')';
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
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

Fragga