Erhalt von PN für einzelne user deaktivieren

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
el4efo
Beiträge: 21
Registriert: Di 01.Mär, 2005 12:13
Kontaktdaten:

Erhalt von PN für einzelne user deaktivieren

Beitrag von el4efo »

Hallo,
einzelne User auf meinem Board wollen keine Privatnachrichten erhalten. Wo kann man diese Funktion deaktivieren, damit niemand (außer vielleicht der Admin) ihnen welche schicken kann.

Danke im voraus für eure Lösungshinweise! ;-)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, eine Möglichkeit wäre mein Absent User Mod.
Mit dem können User auf "Abwesent" schalten und andere User (ausser eben Admins und wenn erlaubt auch Mods) können ihnen dann weder Email noch PN's schicken.
Diverse überflüssige Funktionen könnte man da ja weglassen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
el4efo
Beiträge: 21
Registriert: Di 01.Mär, 2005 12:13
Kontaktdaten:

Beitrag von el4efo »

Danke Oxpus,
das mit dem Absent User Mod hat schon mal gut geklappt!
Was muss man nun einstellen, damit man dem betreffenden User trotzdem noch emails schreiben kann?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dazu:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
functions.php

#
#-----[ FIND ]-----
#
	if ( $allow_send == FALSE )
	{
		$pm_img = '';
		$pm = '';
		$email_img = ( $button_pos == 0 ) ? $absence_mode : '';
		$email = '';
	}
	else
	{
		$email_img = str_replace($images['icon_email'], $absence_img, $email_img);
	}

#
#-----[ REPLACE WITH ]-----
#
	if ( $allow_send == FALSE )
	{
		$pm_img = '';
		$pm = '';
	}


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Und die Installation in der includes/page_header.php und templates/subSilver/overall_header.tpl nicht durchführen, bzw. rückgängig machen, wenn der betreffenden User kein Popup haben soll, daß ihn daran erinnert, "abwesend" zu sein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Hallo,


ergänzend dazu habe ich in meinen Text- und Snippetsammlungen Folgendes gefunden:

Code: Alles auswählen

Einem Mitglied zu verbieten, Nachrichten zu versenden, ist möglich. 

Doch trotzdem ist es dann noch möglich, diesem Mitglied Nachrichten zu schicken. 

Wie kann ich es hinbekommen, dass ein User XY KEINE Nachrichten mehr BEKOMMEN kann UND der Versender das auch gleich sieht! 


privmsg.php 
suche nach 
 
Code:	   
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active	 

und füge nach "user_active" noch folgendes ein: 
 
Code:	   
, user_allow_pm	 


suche nach 
 
Code:	   
// 
// See if recipient is at their inbox limit 
//	 

und füge davor ein: 
 
Code:	   
if ($to_userdata['user_allow_pm']=='0') 
{ 
message_die(GENERAL_MESSAGE, 'nichts da'); 
}	 



wie schwierig ist es denn, die Meldung dass der User keine Nachrichten emprfangen darf, schon dann auszugeben wenn eigentlich die Eingabemaske kommt für den Nchrichtentext? Denn es ist uU schon ein wenig frustrierend für nen User, wenn er einen langen Text verfasst und dann erst beim losschicken merkt dass er ihn nicht senden kann. 




Erst wenn die Nachricht abgesendet wird steht endgültig fest an wen sie geschickt werden soll. Daher kann auch erst dann das versenden verhindert werden. 
Wenn Du die ID überprüfen willst die beim Klick auf den PN-Button übergeben wird kannst Du das so machen:   (privmsg.php  ????)
 
 
Code:	   
----- finde ----- 
$template->assign_block_vars('switch_signature_checkbox', array()); 
} 

if ( $mode == 'post' ) 
{ 

----- füge danach ein ----- 
if ( isset ($HTTP_GET_VARS[POST_USERS_URL])) 
{ 
if ($HTTP_GET_VARS[POST_USERS_URL] == 3) // hier die User-ID 
{ 
message_die(GENERAL_MESSAGE, 'Nachrichten gehen bei diesem User nicht'); 
} 
}	 
Das sind alles Ergebnisse aus einem Thread von www.????.??, leider habe ich mir den Link aufs Topic nicht gespeichert, Fakt ist nur, dass ich keinerlei Aktien daran habe.
Ich denke mal, dass das trotzdem für Leute ohne Absentuser-MOD und der selben Frage recht interessant ist.



Gruß Max
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja schön, aber dazu muss der User auch einstellen können, daß er keine Nachrichten empfangen will und das ist nur mit einem weitern Mod möglich ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

jepp, stimmt, habe ich übersehen - war wohl mit knapp 3,5 Stunden heute zu lange auf´m Zahnarztstuhl.

So kann man das ja nur als Admin regeln, und für den User fehlt die eigene Flexibilität.


Gruß Max
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

war wohl mit knapp 3,5 Stunden heute zu lange auf´m Zahnarztstuhl.
Uiuiui :( War es schlimm?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

oje max du armer ¦9 der hat bestimmt einen fetten bohrer ausgepackt :lol:
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

och nö, erstens hatte ich noch nie Angst vorm Zahnarzt und zweitens ist es eine wirklich hübsche Studentin die zu allem auch noch sehr gut in dem Fach ist :-)

Das einzig Unangenehme ist, dass die Behandlungsstühle im Studentenkurs recht spartanisch gehalten sind und man so äußerst unbequem sitzt, so bekommt man Verspannungen im Rücken.


Und übrigens, da waren so ca 6 oder 7 verschiedene Bohrer im Spiel ;-)
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

[quote="Max - Mi 13.Apr, 2005 10:32";p="28516"]Hallo,


ergänzend dazu habe ich in meinen Text- und Snippetsammlungen Folgendes gefunden:

Code: Alles auswählen

Einem Mitglied zu verbieten, Nachrichten zu versenden, ist möglich. 

Doch trotzdem ist es dann noch möglich, diesem Mitglied Nachrichten zu schicken. 

Wie kann ich es hinbekommen, dass ein User XY KEINE Nachrichten mehr BEKOMMEN kann UND der Versender das auch gleich sieht! 


privmsg.php 
suche nach 
 
Code:	   
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active	 

und füge nach "user_active" noch folgendes ein: 
 
Code:	   
, user_allow_pm	 


suche nach 
 
Code:	   
// 
// See if recipient is at their inbox limit 
//	 

und füge davor ein: 
 
Code:	   
if ($to_userdata['user_allow_pm']=='0') 
{ 
message_die(GENERAL_MESSAGE, 'nichts da'); 
}	 



wie schwierig ist es denn, die Meldung dass der User keine Nachrichten emprfangen darf, schon dann auszugeben wenn eigentlich die Eingabemaske kommt für den Nchrichtentext? Denn es ist uU schon ein wenig frustrierend für nen User, wenn er einen langen Text verfasst und dann erst beim losschicken merkt dass er ihn nicht senden kann. 




Erst wenn die Nachricht abgesendet wird steht endgültig fest an wen sie geschickt werden soll. Daher kann auch erst dann das versenden verhindert werden. 
Wenn Du die ID überprüfen willst die beim Klick auf den PN-Button übergeben wird kannst Du das so machen:   (privmsg.php  ????)
 
 
Code:	   
----- finde ----- 
$template->assign_block_vars('switch_signature_checkbox', array()); 
} 

if ( $mode == 'post' ) 
{ 

----- füge danach ein ----- 
if ( isset ($HTTP_GET_VARS[POST_USERS_URL])) 
{ 
if ($HTTP_GET_VARS[POST_USERS_URL] == 3) // hier die User-ID 
{ 
message_die(GENERAL_MESSAGE, 'Nachrichten gehen bei diesem User nicht'); 
} 
}	 
Das sind alles Ergebnisse aus einem Thread von www.????.??, leider habe ich mir den Link aufs Topic nicht gespeichert, Fakt ist nur, dass ich keinerlei Aktien daran habe.
Ich denke mal, dass das trotzdem für Leute ohne Absentuser-MOD und der selben Frage recht interessant ist.



Gruß Max[/quote]

funktioniert dass ... würde ich auch gerne haben diese funktion :-))
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sicher. Musst nur diesen Mod einbauen inkl. der Änderungen, die ich in #4 gepostet habe ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

aja dann werd ich das gleich mal machen...

den abwesende user mod von dir meinst du doch, oder...
kann ich den in die dim basteln... oder muss da was geändert werden?
Zuletzt geändert von blondi am Fr 15.Apr, 2005 00:47, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

KA, probieren. Und ja, ich meine diesen Mod.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

bin schon darüber.... so ein mist schon 1:46 uhr und ich muss morgen wieder bald raus... oje oje, aber wem sag ich dass :hh:
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

oxpus das finde ich in meiner viewtopic nicht...

#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid

#
#-----[ IN-LINE FIND ]------------------------------------------
#
u.username

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, u.user_absence, u.user_absence_mode
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn die bei Dir heisst:
$sql = "u.*, ......
dann kanns Du diese Stelle überspringen.
Wichtig aber, daß diese SQl-Abfrage in dem Array $postrow[] mündet!!!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

halli hallo oxpus...

ich bekomm es einfach nicht gebacken die stelle in der viewtopic zu finden vom abwesende user mod...

alles andere ging wunderbar einzubauen aber in der DIM viewtopic sieht das ganz anders aus...



lieben gruss
Zuletzt geändert von blondi am Fr 15.Apr, 2005 19:35, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Gehe ich später durch...

EDIT
:lol:
Das habe ich gerade in Deiner viewtopic.php gefunden:

Code: Alles auswählen

	if ( $postrow[$i]['user_absence'] == TRUE )
	{
		$absence_mode = create_absence_mode($postrow[$i]['user_absence_mode'], $pm_img, $pm, $email_img, $email, $poster);
	}
Hattest Du das eingebaut oder war das im dimension schon drinnen?
Jedenfalls ist diese Datei "fertig" :D
Zuletzt geändert von oxpus am Fr 15.Apr, 2005 22:05, insgesamt 1-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

das ist lieb von dir.... hab alles schon eingebaut nur die viewtopic fehlt mir noch dann kann ich es hochladen...

freu mich schon :-))
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

das hab ich glaube ich gestern mit rein... ist doch von deinem mod ein stück code, oder?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Yepp. Und vollkommen korrekt eingebaut!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

und das muss wohl nicht mit rein? funktioniert das dann ohne dem stück

#
#-----[ OPEN ]------------------------------------------ ------- Noch mal nachschauen! Code nicht gefunden!!! - MD ---------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim,

u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type,

u.user_allowavatar, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid

#
#-----[ IN-LINE FIND ]------------------------------------------
#
u.username

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, u.user_absence, u.user_absence_mode


sorry oxpus, war zu schnell mit dem klicken.... wollte eigentlich editieren :-))
Zuletzt geändert von blondi am Fr 15.Apr, 2005 22:14, insgesamt 1-mal geändert.
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

dann kann ich ja beruhig alles hochladen, oder :-)) ... ich hoffe du bist noch bisle da, falls was schief geht...


@edit...

in dem attachment oben ist noch eine session.php mit drinnen... die ist aber nicht von mir, hmmm? hatte doch nur die viewtopic gepostet....


noch mal @edit...

funktioniert einwandfrei... dankeschön für den tollen mod :-))
Zuletzt geändert von blondi am Fr 15.Apr, 2005 23:38, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ursache.
Und BTW:
Der SELECT bei Dir in der viewtopic.php fragt aus der User-Tabelle mit "u.*" bereits alle Felder ab. Daher müssen diese gemäß der "Standard"-Mod-Anleitung nicht noch extra da rein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten