Seite 1 von 1
Automatische Einträge in eine Gruppe von aussen
Verfasst: 23.07.2004 08:38
von Firestarter
Wie müsste ein Skript geschrieben sein, um User von aussen anzumelden und gleich in eine bestimmte Benutzergruppe zu stecken?
Mit Rangvergabe und gleichzeitig auch automatische Löschung?
Wenn dies nicht geht, wie müsste dann das Skript aussehen für eine Eintragung von aussen als Benutzer im Forum und Zugang zu einer bestimmten Gruppe.
Verfasst: 23.07.2004 08:53
von ilch
um einen post eintragen zu können ins forum brauchst du die tabellen:
prefix_forums ( dort muss die post zahl nach oben gesetzt werden )
prefix_topic ( dort muss auch die post zahl nach oben gesetzt werden )
prefix_posts ( einträge wie , topicID , forumID, ersteller usw. werden hier angegeben
prefix_posts_texts ( da wird der eintrag eingetragen + die postID von prefix_posts
für eine neue gruppe brauchst du 2 tabellen
prefix_groups
da kommt einfach die id rein kannste leer lassen wird dann automatisch eingetraagen, dann gruppen typ eine 1 , dann gruppen name und gruppen beschreibung, bei group moderator trägste die id des users ein der halt moderator sein soll, und bei group_singel_user machste eine 0 für nein?!
dann noch prefix_user_groups
hier wird definiert wer in einer gruppe ist
also userID und groupID
dann haste eine gruppe erstellet das script dafür ist eigentlich auch net so schwer musste halt erst eintragen in prefix_groups dann die id z.b. mit
last_mysql_id(); holen und in prefix_user_groups diese id eintragen + die userID
Verfasst: 23.07.2004 09:13
von Firestarter
hmmm... entweder versteh ich dasnicht oder ich hab es falsch dargestellt.
Folgende Situation:
Im Forum gibt es eine Gruppe namens "phpBB" Gruppenleiter bzw. Gruppenmoderatoren sind auch vorhanden (Einstelungen und Befugnisse habe ich bereits vorgenommen).
Die Gruppe besitzt auch den Spezialrang "phpBB-User" nun soll mir das Skript etwas Arbeit abnehmen und von aussen für mich durch Eingabe des Benutzer z.B. Hans-Peter den Eintrag in die Gruppe, und gleichzeitig im Account von ihm den Spezialrang "phpBB-User" festlegen, vornehmen.
Ebenso möchte ich auch durch diese Aussenstelle die Löschung aus der Gruppe mit Spezialrang vornehmen können.
Weiterhin müsste das Skripte so gestaltet sein, das mehrere Benutzer auf einmal eintragen bzw. löschen könnte.
Verfasst: 23.07.2004 09:18
von ilch
okay+g+
dann hab ich das wohl missverstanden.
also willst du jetzt das script geschrieben bekommen oder erklärt bekommen wie das gehen müsste?
Verfasst: 23.07.2004 09:23
von Firestarter
beide Wege klingen sehr gut, aber ich bin einfach nur hilflos.
Verfasst: 23.07.2004 10:09
von ilch
gut also ich erklärs dir mal aber ohne garantie das es stimmt und auch geht.
zuerstmal brauchste ein form das könnte so aussehen:
Code: Alles auswählen
<from ... >
user durch komma getrennt:
<br />
<input type="text" name="user" size="200">
<br /><br />
in die gruppe:
<br />
<input type="text" name="gruppe">
<br /><br />
user bekommt dann den rank:
<br />
<input type="text" name="rank">
<br /><br />
<input type="submit" ...
so die datei die das ganze dann auffängt müsste dann in etwa ganz grob geschrieben so aussehn ( bei tabellen prefix steht für dein tabellen prefix was du für phpbb eingegeben hast )
Code: Alles auswählen
<?php
# rank id des spezial ranks wird ermittelt
$ergRANK = mysql_query('SELECT rank_id
FROM prefix_ranks
WHERE rank_title = "'.$rank.'"');
$rowRANK = mysql_fetch_object($ergRANK);
# group id der gruppe wird ermiettlet
$ergGRUP = mysql_query('SELECT group_id
FROM prefix_groups
WHERE group_name = "'.$gruppe.'"');
$rowGRUP = mysql_fetch_object($ergGRUP);
# user werden gesplittet
$userArray = explode(',',$user);
#das gewonnene user array wird durchlaufen
foreach ($userArray as $value) {
# die user id wird erjmittelt
$ergUSER = mysql_query('SELECT user_id
FROM prefix_users
WHERE username = "'.$value.'"');
$rowUSER = mysql_fetch_object($ergUSER);
# der user rank wird geändert
mysql_query('UPDATE prefix_users
SET user_rank = "'.$row->rank_id.'"
WHERE user_id = "'.$rowUSER->user_id');
# der usr wird in die gruppe eingetragen
mysql_query('INSERT INTO prefix_user_group VALUES
(
"'.$rowGRUP->group_id.'",
"'.$rowUSER->user_id.'",
"0"
)');
}
?>
also naja so in etwa müsste das gehen... eben prefix musste durch dein teil ersetzten und halt den form noch vervollständigen, das lsöchen geht dann so ähnlcih.
zuerst wird immer die id gesucht weil damit halt gearbeitet wird +g+ also gruppen id , rank id und user id ... und dann mit foreach wird dann alle eingetragenen user durchlaufen und halt der rank eingetragen und in die gruppe eingetragen.
mhhm hoffe konnte helfen.
EDIT// ich würd nochmal alles durchschauen ob im php teil fehler sind kan nmäclich durchaus sein +g+ und bevor du das scripts benutz auf jeden fall ein backup von den betreffenden tabellen anlegen!!!