Seite 4 von 5
Verfasst: 19.09.2005 23:06
von Natheedo
Mal noch was ....
Ich hab das Script eben getesten und einen Spezialrang "Banned" erstellt ...
Doch irgendwie bekommt ein gebannter User gar kein Rang !?!
Hab :
// Hier die ID des Spezialranges einsetzen, den gebannte User erhalten sollen.
Hab die ID auf 3, da Admin 1, Mod 2 und Banned 3 ... Oder ist damit was anderes gemeint? Bzw. wie finde ich die ID raus ?
Natheedo
Verfasst: 08.10.2005 10:19
von maxxo
doch nichts, so wie vermutet?
Mit dem Umzug biste mittlerweile schon fertig, oder?

Verfasst: 08.10.2005 21:57
von maxxo
war klar, hatte ich doch richtig vermutet, wird am ende doch ned geholfen
nach einem monat..
Verfasst: 16.10.2005 01:39
von cYbercOsmOnauT
Man merkt, das Du noch nie selber umgezogen bist. 1 Monat ist da mal gar nichts bis alles wieder "normale Wege" geht.

Ich war 3 Wochen offline und auch dort gibt es etliches nachzuarbeiten. Aber keiner soll sagen, dass ich Versprechen nicht halte. Ich werde es mir nochmal vornehmen, sobald mein Kopf ein wenig frei ist (die Tage irgendwann).
Sorry wegen der Verzögerung, aber Du hast zu einer falschen Zeit gefragt

Tekin
Verfasst: 16.10.2005 09:52
von maxxo
ok, hattest mir das in der PN ja schon geschrieben
Danke!
Werd noch ein bisschen warten
PS: Doch, bin schonmal umgezogen - als ich 2 war

Verfasst: 24.10.2005 02:09
von cYbercOsmOnauT
Heute fand ich endlich mal Zeit mein Versprechen einzulösen.
Zuerst der SQL-Query zum Speichern des alten Ranges.
SQLCode: Alles auswählen
ALTER TABLE phpbb_users ADD COLUMN user_oldrank int(11) NULL DEFAULT '0' AFTER user_rank;
Nun die Änderungen an
admin/admin_user_ban.php
FIND (Zeilen 195,196)Code: Alles auswählen
message_die(GENERAL_ERROR, "Couldn't insert ban_userid info into database", "", __LINE__, __FILE__, $sql);
}
AFTER ADDCode: Alles auswählen
$banrank = 2; // Hier die ID des Spezialranges einsetzen, den gebannte User erhalten sollen.
// Setzen des neuen Spezialranges für den gebannten User
$sql = "UPDATE ". USERS_TABLE ."
SET user_oldrank = user_rank, user_rank = '$banrank'
WHERE user_id = ". $user_list[$i];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't set banrank on the banned user", "", __LINE__, __FILE__, $sql);
}
FIND (Zeile 289)Code: Alles auswählen
$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . intval($user_list[$i]);
AFTER ADDCode: Alles auswählen
// Wie lautet die Userid des Entbannten?
$sql = "SELECT ban_userid FROM ". BANLIST_TABLE ."
WHERE ban_id = ". $user_list[$i];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't gain userid of the unbanned user", "", __LINE__, __FILE__, $sql);
}
$unban = $db->sql_fetchrow($result);
// Userrang wieder auf normal setzen beim Entbannen
$sql = "UPDATE ". USERS_TABLE ."
SET user_rank = user_oldrank
WHERE user_id = ". $unban['ban_userid'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't set normal rank on the unbanned user", "", __LINE__, __FILE__, $sql);
}
Auf meinem Testboard getestet und für funktionsfähig befunden.

Viel Spaß bei der Nutzung und sorry wegen der Umzugsverspätung.
Grüße aus Göttingen,
Tekin
Verfasst: 26.10.2005 09:34
von maxxo
Klasse, des funktioniert.
Ich danke dir echt vielmahls!

Verfasst: 31.10.2005 13:32
von Natheedo
Irgendwie funzt das bei mir nicht ...
Was mache ich denn falsch ?
Also bei :
$banrank = 2; // Hier die ID des Spezialranges einsetzen, den gebannte User erhalten sollen.
Hab ich die ID 3 genommen, die drei weil 1.te spezialrang Administrator ist, der 2.te Moderator ist und 3ten. hab ich nunmal den Spezialrang "Banned" gemacht.
Doch wenn ich jemanden banne, dann hat der _keinen_ Usertitel ... Und wenn ich diesen dann entbanne, hat er immernoch _keinen_ obwohl er ja eigentlich den alten haben müsste !?!
Kann mir jemadn kurz helfen ?
Danke !
Natheedo
Verfasst: 09.12.2006 23:53
von dslmonster
Huhuuu zusammen, is zwar älterer Thread aber vielleicht ja der passende
Also habe den kleinen MOD von cYbercOsmOnauT eingebaut, nun noch eine frage, wie würde das vielleicht aussehen sobald der User gesperrt ist, automatisch alle seine Infos ausgeblendet werden?
So wie Email .. PN usw ...
gruß
dslmonster
Verfasst: 10.12.2006 00:39
von Stefane
also am einfachsten wäre es, wenn die aus seinem Profil gelöscht würden...das ist dann eine einziges Update der DB...was hinzu kommt.
Der Nachteil ist dann aber, dass der User...sollte er mal wieder entbannt werden, alle Daten neu eintragen muss.
Eine andere Möglichkeit wäre die Lösung über einen Switch. Der müsste dann aber im Profil und in der viewtopic erstellt werden. Das ist ein wenig aufwändiger, aber der User behält seine Daten, so dass sie nach einem evtl. Entban noch erhalten bleiben.