Hi @all
ich habe ein Problem mit meinem Administrationsaufbau. Hier im Forum wurde vor Kurzem eine, wie mir anfangs schien, gute Möglichkeit besprochen, eine Administration aufzubauen - über DB.
http://www.php-resource.de/forum/sho...threadid=21167
Ich hatte diesen Gedanken weiterverfolgt bis ich zur Schlußfolgerung kam, dass dieser Aufbau usw nicht das richtige für meine Zwecke sind. Jedoch habe ich es so ähnlich gemacht:
Ich habe verschiedene Kategorien die von Usern administriert werden, mit verschiedenen Rechten.
Als Beispiel: Es gibt eine Newsgroup die von "Teamleitern" und von "Teammitarbeitern" geleitet wird. Die Aufgabe von den Teamleitern (so wie ich sie jetzt bspw. nenne) ist, die Angelegenheiten der einzelnen Teammitarbeitern zu klären usw - es gibt also so etwas wie eine Hierachie. Unter einem Teamleiter stehen vielleicht 3 oder 4 Mitarbeiter, die sich eben um News und Artikel kümmern.
Ich hoffe ihr konntet mir bisher folgen. Mein Prinzip also:
Systemadministrator >> Teamleiter >> Teammitarbeiter
Anstatt Newsgroup hat es noch die Administration, die von einem Systemadministrator (in der Hierarchie der Oberste) und einem Systemmoderator, der stellvertretend für den admin ist. Dieses Prinzip soll später auf Forum und Chat ausgeweitet werden.
Hier mein Versuch das in die DB einzubauen:
TABELLE cw_userrechte:
gid
sid
uid
ziemlich unspektakulär:
gid ist die gruppen-id, d.h. Administration ist gruppe 1, Newsgroup ist Gruppe 2, Chat ist Gruppe 3 usw...
sid ist die status-id, d.h. für NEwsgroup bspw ist sid = 1 Teamleiter, sid = 2 ist Teammitarbeiter
uid ist user-id, die aus einer anderen Tabelle stammt (cw_user)...
Bsp.: der User mit der uid 4 hat den Status 1 in der Gruppe 2 = CrazyPip ist Teamleiter in der Newsgroup.
Wenn ich nun in mein Admin-Panel gehe, von wo aus alles gesteuert werden kann, dann stellt sich bei mir die Frage, wie ich das alles unter einen Hut bekomme, so wie ich das möchte.
wenn ich die WErte aus der DB hole, dann speicher ich diese in ein assoziatives Array ab:
nun stehen der status mit der dazugehörigen gruppe in einem array. Somit ist sichergestellt, dass ein Benutzer mehreren Kategorien mit verschiedenen Rechten angehören kann.
Ab hier komme ich nicht mehr weiter. Ich habe nichts weiter wie statusid und gruppenid. Wie mache ich nun am besten weiter, damit ich aus diesen Werten ein panel aufbauen kann, das diese Hierachie beinhaltet. Mein Versuch war es sehr viele Arrays zu erstellen, deren Namen aus sid und gid zusammensetzt, sodass ich damit dann explizit auf den entsprechenden zugreifen kann. Aber das werden dann im endeffekt zu viele Arrays und das ist, wenn ich was ändern möchte, viel zu umständlich.
Weis einer von euch, wie ich mein Panel am besten aufbauen könnte? (Kategorien > an status angepasste optionen bsp. teamleiter hat mehr optionen wie teammitarbeiter)
Wäre echt dankbar
cya CrazyPip
p.s. sorry wegen dem langen text...
ich habe ein Problem mit meinem Administrationsaufbau. Hier im Forum wurde vor Kurzem eine, wie mir anfangs schien, gute Möglichkeit besprochen, eine Administration aufzubauen - über DB.
http://www.php-resource.de/forum/sho...threadid=21167
Ich hatte diesen Gedanken weiterverfolgt bis ich zur Schlußfolgerung kam, dass dieser Aufbau usw nicht das richtige für meine Zwecke sind. Jedoch habe ich es so ähnlich gemacht:
Ich habe verschiedene Kategorien die von Usern administriert werden, mit verschiedenen Rechten.
Als Beispiel: Es gibt eine Newsgroup die von "Teamleitern" und von "Teammitarbeitern" geleitet wird. Die Aufgabe von den Teamleitern (so wie ich sie jetzt bspw. nenne) ist, die Angelegenheiten der einzelnen Teammitarbeitern zu klären usw - es gibt also so etwas wie eine Hierachie. Unter einem Teamleiter stehen vielleicht 3 oder 4 Mitarbeiter, die sich eben um News und Artikel kümmern.
Ich hoffe ihr konntet mir bisher folgen. Mein Prinzip also:
Systemadministrator >> Teamleiter >> Teammitarbeiter
Anstatt Newsgroup hat es noch die Administration, die von einem Systemadministrator (in der Hierarchie der Oberste) und einem Systemmoderator, der stellvertretend für den admin ist. Dieses Prinzip soll später auf Forum und Chat ausgeweitet werden.
Hier mein Versuch das in die DB einzubauen:
TABELLE cw_userrechte:
gid
sid
uid
ziemlich unspektakulär:
gid ist die gruppen-id, d.h. Administration ist gruppe 1, Newsgroup ist Gruppe 2, Chat ist Gruppe 3 usw...
sid ist die status-id, d.h. für NEwsgroup bspw ist sid = 1 Teamleiter, sid = 2 ist Teammitarbeiter
uid ist user-id, die aus einer anderen Tabelle stammt (cw_user)...
Bsp.: der User mit der uid 4 hat den Status 1 in der Gruppe 2 = CrazyPip ist Teamleiter in der Newsgroup.
Wenn ich nun in mein Admin-Panel gehe, von wo aus alles gesteuert werden kann, dann stellt sich bei mir die Frage, wie ich das alles unter einen Hut bekomme, so wie ich das möchte.
wenn ich die WErte aus der DB hole, dann speicher ich diese in ein assoziatives Array ab:
PHP-Code:
$ur = $usr->sql("SELECT gid, sid FROM cw_userstatus WHERE uid = " . $login['uid']);
if (mysql_num_rows($ur) > 0)
{
$arr = array();
while ($get = mysql_fetch_array($ur))
{
$arr[$get['sid']] = $get['gid'];
}
}
else
{
header("Location:".$path."/index.php");
}
Ab hier komme ich nicht mehr weiter. Ich habe nichts weiter wie statusid und gruppenid. Wie mache ich nun am besten weiter, damit ich aus diesen Werten ein panel aufbauen kann, das diese Hierachie beinhaltet. Mein Versuch war es sehr viele Arrays zu erstellen, deren Namen aus sid und gid zusammensetzt, sodass ich damit dann explizit auf den entsprechenden zugreifen kann. Aber das werden dann im endeffekt zu viele Arrays und das ist, wenn ich was ändern möchte, viel zu umständlich.
Weis einer von euch, wie ich mein Panel am besten aufbauen könnte? (Kategorien > an status angepasste optionen bsp. teamleiter hat mehr optionen wie teammitarbeiter)
Wäre echt dankbar
cya CrazyPip
p.s. sorry wegen dem langen text...
Kommentar