Seite 1 von 2

User sperren und im forum "gesperrt" anzeigen

Verfasst: 06.04.2006 14:34
von F0ur3y3
Da ich User nicht löschen möchte, weil das dann ja Probleme mit den Beiträgen gibt, möchte ich diese User einfach sperren. Das ist kein Problem, einfach auf inaktiv stellen.

Nun wäre es schön wenn im Forum dann wo der user name steht "gesperrt" drunter steht und die restlichen userdetails ausgeblendet werden.
Gibt es irgendwo so ein Mod?

Ich hab schon gegoogled, aber ich weis nicht nach was ich genau suchen müsste, um so einen Mod zu finden.

Verfasst: 06.04.2006 14:43
von Julschy
Du kannst ja einen Spezialrang erstellen und den dann den Inaktiven geben...

Verfasst: 06.04.2006 14:49
von F0ur3y3
Wäre ne idee, kann ich denn irgendwie die userdetails ausblenden, wie das Anmeldedatum und schön wäre es auch, wenn man die user details im profil auch nicht mehr aufrufen kann. Wenn das nicht geht, erstelle ich halt einen Spezail rang.
Aufjedenfall thx

Verfasst: 28.07.2006 06:14
von IPB_Flüchtling
Ahoi,

ich hätte auch gerne so einen ähnlichen Mod wie im 1. Beitrag beschrieben.

Ist es möglich, dass bei gesperrten Usern anstelle des "normalen" Rangs einfach das Wort "gesperrt" erscheint?

Das ist der bislang beste Beitrag, den ich zu diesem Thema gefunden habe:

http://www.phpbb.de/viewtopic.php?t=96178

Es wäre halt toll, wenn sich das Vorhaben ohne Änderung der Gruppenzugehörigkeit verwirklichen ließe. Im Falle einer Sperrung soll einfach nur statt z.B. "Mitglied" das Wort "gesperrt" angezeigt werden.

LG, IPB_Flüchtling

Verfasst: 30.07.2006 05:33
von IPB_Flüchtling
Wie ist dieses Problem denn eigentlich auf phpBB.de gelöst worden? Hier gibt es ja auch einige gesperrte User, bei denen in der Viewtopic unterhalb des Benutzernamens "gesperrt" angezeigt wird, ebenso im Profil:

http://www.phpbb.de/viewtopic.php?p=713534#713534
http://www.phpbb.de/profile.php?mode=vi ... le&u=46507

Ist das ein Spezialrang, den gesperrte User automatisch erhalten? (Dann müsste ich mir wohl noch einmal Tekins oben verlinkten Mod ansehen und versuchen, das Ganze auch für den Bantron-Mod umzuschreiben.)

Oder ist auf phpBB.de eine andere Lösung im Einsatz?

Schönen Sonntag!
IPB_Flüchtling

Verfasst: 30.07.2006 11:44
von roger
Natürlich kann man alles programmieren... (z.B. in der viewtopic.php)

Bezogen auf den Aufwand (wie viele sind zu sperren?), würde ich einen "Spezialrang" anlegen und dann sind eben 2 Handgriffe notwendig: User (1) auf inaktiv setzen und (2) Rang ändern...


roger

Verfasst: 30.07.2006 11:57
von IPB_Flüchtling
Danke für die Antwort, roger!

Es gibt also keine einfache Lösung. Schade. Zumindest die Verleihung des Spezialrangs geht aber schon automatisch (dank Tekin):

http://www.phpbb.de/viewtopic.php?t=96178

Es ist nur ein bisschen blöde, weil ich mehrere Mods eingebaut habe, die sich diesbezüglich etwas überschneiden. Und im Bantron-Mod habe ich keine Stelle gefunden, wo ich Tekins Code hätte einfügen können, dass nach der Entsperrung wieder der ursprüngliche Rang verliehen wird (über den Umweg über die ursprüngliche Benutzergruppe und einen Mod - ich glaube, es war der Group Rank Hack).

Wenn ich mal mehr Zeit habe, sehe ich mir das Ganze noch einmal an. Derzeit baue ich gerade folgenden Mod ein und hoffe, dass er die Datenbank nicht über Gebühr belastet...
##############################################################
## MOD Title: Rating system
## MOD Description: Users rate individual posts to produce overall ranks for posts, topics and users. Highly-configurable admin system, allows ranking labels and graphics, negative voting, rate on first post only, ranks based on totals or averages, see who rated (+ allow anonymity). Designed to minimise performance impact on viewtopic and viewforum screens.
## MOD Version: 1.1
## MOD Author: Gentle Giant < phpbb@mywebcommunities.com > (Richard Yendall) www.mywebcommunities.com
Schönen Sonntag noch!
IPB_Flüchtling

Verfasst: 30.07.2006 13:41
von roger
Hallo Flüchtling,

'mal ein "schneller" Vorschlag für die viewtopic.php:

Vorausgesetzt wird:
- Das Snippet von Tekin ist eingebaut, und
- Der "Rang" für Verbannung ist 99 (ist natürlich änderbar):

Find:

Code: Alles auswählen

	else if ( $postrow[$i]['user_rank'] )


Add, before:

Code: Alles auswählen

		else if ( $postrow[$i]['user_rank'] == 99)
		{
			$poster_rank = $lang['Banned'];
		}


Find:

Code: Alles auswählen

	$temp_url = '';

	if ( $poster_id != ANONYMOUS )
	{


Replace with:

Code: Alles auswählen

	$temp_url = '';

	if ( $poster_id != ANONYMOUS && $postrow[$i]['user_rank'] != 99 )
	{
und dann noch für die lang_main.php:

Add (german):

Code: Alles auswählen

$lang['Banned'] = 'gesperrt';
Add (english):

Code: Alles auswählen

$lang['Banned'] = 'banned';

roger

Verfasst: 31.07.2006 09:46
von IPB_Flüchtling
Ahoi roger,

herzlichen Dank für die Hilfe - klappt ausgezeichnet! :P

Zumindest unter der Voraussetzung, dass ich User mit der phpBB-eigenen Bannfunktion banne. Wenn ich stattdessen zum Bannen den Mod Bantron benutze, haut es nicht hin.

Ich probiere jetzt schon fast zwei Stunden herum, aber schaffe es einfach nicht, dass User, die ich mit dem Bantron wieder entsperre oder die nach einer gewissen Zeit automatisch entsperrt werden, wieder ihren alten Rang bekommen. Es steht immer noch "gesperrt" unter dem Benutzernamen. :( (Werde das jetzt direkt in der Datenbank beheben.)

Den 1. Teil - also das Setzen des banranks 99 - habe ich noch selbst hinbekommen:

admin_user_bantron.php

SUCHE:

Code: Alles auswählen

		if (!$db->sql_query ($sql)) {
			message_die (GENERAL_ERROR, "Couldn't update ban information", "", __LINE__, __FILE__, $sql);
		}
AFTER, ADD:

Code: Alles auswählen

         $banrank = 99; // 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);
         }
SUCHE:

Code: Alles auswählen

				if (!$db->sql_query ($sql)) {
					message_die (GENERAL_ERROR, "Couldn't insert ban_userid info into database", "", __LINE__, __FILE__, $sql);
				}
AFTER, ADD:

Code: Alles auswählen

        $banrank = 99; // 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);
         }
Das Problem besteht darin, dass ein entsperrter (Test-) User nach wie vor als gesperrt angezeigt wird. Ich checke es einfach nicht, wo ich den 2. Teil von Tekins Snippet einbauen muss.

Wenn Du mir noch einmal helfen magst, findest Du den Bantron - Mod hier: bantron.rar

Der Mod ist übrigens recht kurz, aber gut! Man kann z.B. einstellen, zu welchem Zeitpunkt ein User automatisch wieder entsperrt werden soll. Und auch ein individueller Sperrgrund, den der gesperrte Benutzer beim Einloggversuch präsentiert bekommt, kann angegeben werden (optional).

Wäre sehr nett, wenn Du Dir die Sache vielleicht einmal anschauen könntest.

Schönen Wochenanfang!
IPB_Flüchtling

Verfasst: 31.07.2006 15:32
von roger
Nur 'mal eine kurze Zwischenmeldung:

Das Problem bei der admin_user_bantron.php ist, dass die Löschung der Bans über eine Liste erfolgt. --> Zeilen 49-57
und der Befehl dazu ist elegant gepackt...
das heisst: man müsste diesen Befehl erst auseinanderdruseln, damit man weitere Befehle hinzufügen kann...

Ich melde mich später noch einmal....


roger