Hallo!
Kann man in der Objektorientierung rekursiv programmieren?
ich hab hier mal mein Problem angeprangert.
Ich habe mehrere Gruppen, die selbst Gruppen erstellen können
diese unter umständen wieder welche erstellen können.
Eine Gruppe soll aber nur die Gruppen bearbeiten können, welche sie erstellt haben und die, die von ihren Gruppen erstellt worden sind usw.
Da sie somit nicht ihre eigene Gruppe verändern können, musste ich abfragen ob die Gruppe, Gruppe der Admins ist, damit der bzw. die sich selbst bearbeiten können.
Rekursiv kein Problem, nun funktioniert das aber hier nicht.
Sieht jemand nen Fehler oder hat jemand nen dollen Vorschlag, wie ich die Methode erneut Aufrufe?
Ich möchte das ganze in PHP4 lösen können
Kann man in der Objektorientierung rekursiv programmieren?
ich hab hier mal mein Problem angeprangert.
Ich habe mehrere Gruppen, die selbst Gruppen erstellen können
diese unter umständen wieder welche erstellen können.
Eine Gruppe soll aber nur die Gruppen bearbeiten können, welche sie erstellt haben und die, die von ihren Gruppen erstellt worden sind usw.
Da sie somit nicht ihre eigene Gruppe verändern können, musste ich abfragen ob die Gruppe, Gruppe der Admins ist, damit der bzw. die sich selbst bearbeiten können.
Rekursiv kein Problem, nun funktioniert das aber hier nicht.
Sieht jemand nen Fehler oder hat jemand nen dollen Vorschlag, wie ich die Methode erneut Aufrufe?
PHP:
function GroupEditRights($GroupToEdit)
{
/* Tabelle groups:
id, name, rechte, created_by
$this->gid = GruppenId der Gruppe, die die Methode benutzt, also die des Benutzers der in der Gruppe ist, welche eine andere bearbeiten will*/
// Die Gruppe holen, die diese Gruppe erstellt hat
$sql = "SELECT
created_by
FROM
".PREFIX."groups
WHERE
id = '".$GroupToEdit."'";
$result = mysql_query($sql) or die(mysql_error());
$tmp = mysql_fetch_assoc($result);
$CreatedBy = $tmp["created_by"];
//Wenn geholte Gruppe == eigene Gruppe ist, dann return true
if($CreatedBy == $this->gid)
{
return true;
}
//Da Admin allerhöchste gruppe ist, kann er alles editieren
if($this->gid != '1')
{
if($CreatedBy == '1')
{
return false;
}
}
//$this->GroupEditRights($CreatedBy) funktioniert nicht!
$RightsRekursiv = new Rights();
$RightsRekursiv->GroupEditRights($CreatedBy);
}
Ich möchte das ganze in PHP4 lösen können