Seite 1 von 1
[erledigt] Mailfunktion für einzelne User sperren
Verfasst: 03.05.2007 18:29
von dopppeldecker
Ich suche eine MOD mit der es mir möglich ist einzelnen Usern das Schreiben von Mails aus dem Forum heraus zu verbieten.
Die Suche hat mir da zwar schon ein paar Treffer gebracht aber die Links zu der MOD waren alle tot.
Danke für eure Hilfe.
Verfasst: 05.05.2007 10:50
von dopppeldecker
Wie ??? Niemand weis was ? Warten anscheinend alle auf phpBB3, was ?

Verfasst: 05.05.2007 11:06
von Stefane
hi,
meinst du e-mails direkt, oder pn's?
Mal sehen, was sich da dann finden lässt...ansonsten progge ich dir evtl. was, wenn ich Zeit finde.
Verfasst: 05.05.2007 16:06
von dopppeldecker
Hallo Stefane,
danke für deine Antwort. Das macht wieder Hoffnung.
Ich möchte die Möglichkeit haben einzelnen Usern das versenden von E-Mails über das Forum zu verbieten. Das mit PN geht schon.
Es ist mir ein Anliegen weil ich Mitglieder, mit eigenem Forum habe, welche alle Neuankömmlinge gleich mit einer E-Mail, in der die URL und ein Hinweis deren Forum zu besuchen, begrüßen. Dadurch verliert mein Forum laufend Mitglieder.
Da bei mir die Mail-Adresse nicht öffentlich angezeigt wird würde ein Verbot der Mailnutzung einen guten Schritt in Richtung Usererhaltung tun.
Verfasst: 05.05.2007 17:52
von Stefane
hi,
okay, da ich momentan nicht sooo viel Zeit habe, hier zunächst eine schnelle Lösung auf Code-Basis.
öffne: profile.php
suche:
fürge danach ein:
Code: Alles auswählen
$unallowed_email = array ('2', '3', '4', '5', '6');
if ( in_array ($userdata['user_id'], $unallowed_email) )
{
message_die (GENERAL_ERROR, 'Du bist nicht befugt, e-Mails über das Board zu verschicken.');
}
Bei dieser Variante gibst du die User-IDs der User in dieses Array
ein, die keine Mails schreiben dürfen.
Wahlweise kannst du auch die Usernamen verwenden. Dazu dann den Code einfügen:
Code: Alles auswählen
$unallowed_email = array ('Rüdiger', 'Horst', 'Lachnicht', 'Icke', 'Schnippel');
if ( in_array ($userdata['username'], $unallowed_email) )
{
message_die (GENERAL_ERROR, 'Du bist nicht befugt, e-Mails über das Board zu verschicken.');
}
Das Array kannst du beliebig erweitern.
Das ist die schnellste Lösung ohne Eingabemaske via ACP oder so.
Vlt bau ich dir das noch mal irgendwann als MOD um.
Teste es und wenns Probleme gibt, melde dich einfach.
Lg
Stefane
Verfasst: 05.05.2007 18:22
von Miriam
Schöner Ansatz, Stefane.
Meinst Du nicht, dass es (auch mit Hinblick auf die kommende ACP-Freundlichkeit) günstiger wäre mit einer Spalte der Usertabelle zu arbeiten? Die heisst z.B.
no_email. Wenn der User keine Mails schicken darf, steht dann 1 drin ansonsten 0,
Dann wäre das in Anlehnung an Deine Idee ->
Code: Alles auswählen
if ( $userdata['no_email'] )
{
message_die (GENERAL_ERROR, 'Du bist nicht befugt, e-Mails über das Board zu verschicken.');
}
Diese "Userdata"-Geschichte könnte man/frau fast im ganzen Board benutzen.
Verfasst: 05.05.2007 19:40
von dopppeldecker
Hallo Stefane,
danke für die schnelle Arbeit. Ich bin echt beeindruckt. Und es funzt einwandfrei. Damit bin ich schon mal zufrieden.
Eine Möglichkeit das ganze übers ACP zu regulieren würde das Ganze bestimmt nocht toppen. Vielleicht hast du ja irgendwann mal Lust das zu machen...ich denke das es noch mehr Leute geben wird die diese Funkion für nützlich halten und auch brauchen werden.
So wie der Code jetzt ist könnte man ihn aber auch als Snippet zur Verfügung stellen, oder ?
Nachmal tausend Dank.
Verfasst: 05.05.2007 23:41
von Stefane
@Miriam:
kA, wie ich das lösen werde. Sicher ist eine Userspalte mehr schon was feines, aber auch bei jeder "SELECT * FROM phpbb_users ..."-Abfrage ein weiterer Zeitaufwand.
Ich hätte vlt gesagt, es wird eine input in der allgemeinen Konifguration geben, wo auch entweder die Usernamen z.B. aus einer Mehrfach-Auswahl liste gewählt werden. Alle, die markiert sind, werden in "phpbb_config" unter email_not_allowed mit Trennzeichen gespeichert.
In der profile.php wird diese Zeile dann wieder ausgelesen und nach Trennzeichen in ein Array exploded. Und dann wieder die Abfrage, wie ich die schon oben gemacht habe...
Fertig...
Sicher haben beide Versionen ihre Vor- und Nachteile. Ich finde, es muss nicht immer alles, was mit nur wenigen Usern zu tun haben könnte, unbedingt gleich via. phpbb_users-Tabelle geschrieben werden. Aber vlt ist das auch Progger-Geschmackssache.

Verfasst: 06.05.2007 00:01
von Miriam
Hm, naja, ich habe es mir noch nicht angeschaut. Aber meinst Du nicht, dass es letztendlich aufwendiger ist, den Wert für den Key email_not_allowed aus dem Array $board_config, der ja nun mal da ist, auszulesen, den zu exploden und zu überprüfen, ob der Wert aus $userdata['username'] in diesem neu gebauten Array drin ist?
Aber Du hast Recht: Es ist irgendwie doch Geschmackssache.
