Pagina 1 van 1
PM uitschakelen ?? Is dat mogelijk ?
Geplaatst: 23 jun 2006, 21:23
door jongeren
Is er een mogelijkheid of een MOD om bij een gebruiker de PM button (of de code er achter) uit te schakelen.
Het is namelijk zo dat 1 van de leden enorm veel PM berichten krijgt en van hem wordt verwacht dat hij ze beantwoord. Zodra de mensen door hebben dat zijn PM mogelijkheid er niet meer (mogelijk) is, wordt die verwachting ook niet meer gewekt.
Ik ben zeer benieuwd
Geplaatst: 23 jun 2006, 21:32
door Bee
Hij kan wel beperkt worden dat hij geen pb's mag sturen, maar niet dat hij niet mag ontvangen. Heb je ook al gezocht op een mod, of?
Geplaatst: 23 jun 2006, 22:32
door jongeren
Inderdaad daar heb ik al op gezocht, maar ik kon niets vinden tussen de MOD's. Maar je weet nooit..... Soms weet iemand wel weer een MOD of een andere oplossing, vandaar dit onderwerp.
Ik ben zeer benieuwd of iemand een oplossing heeft.
Geplaatst: 23 jun 2006, 22:47
door Derky
Ik heb zelf iets aangepast zodat je de gebruiker Bot geen privé berichten kan sturen.
OPEN
FIND
Code: Selecteer alles
$to_username = phpbb_clean_username($HTTP_POST_VARS['username']);
AFTER, ADD
Code: Selecteer alles
// No PMs to Bot MOD begin
if (strtolower($to_username) == strtolower("GEBRUIKERSNAAM"))
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['No_to_this_user'];
}
// No PMs to Bot MOD end
OPEN
FIND
AFTER, ADD
Code: Selecteer alles
$lang['No_to_this_user'] = 'Je kan deze gebruiker geen privé berichten sturen.'
En verander dan GEBRUIKERSNAAM in de naam van diegene die geen privé berichten meer mag krijgen.
Succes

Geplaatst: 24 jun 2006, 02:04
door Nymphy
als beheerder van een forum zijnde heb je bij iedere gebruiker zowieso al deze mogelijkheden in het admin paneel :
Speciale alleen-beheerder velden
Deze velden kunnen niet worden aangepast door gebruikers. Hier kun je hun status instellen en andere opties die niet beschikbaar zijn voor gebruikers.
Gebruiker is actief Ja Nee
Kan prive berichten versturen Ja Nee
Kan avatar weergeven Ja Nee
dus als het je enkel daarom gaat kun je dit gewoon instellen in de admin

bij user management
Geplaatst: 24 jun 2006, 09:40
door Bee
Nymphy, daarmee kan hij nog wel privéberichten ontvangen

Dat had ik al gezegd
Geplaatst: 24 jun 2006, 14:29
door Insomnia
ik denk dat nyhmpy de boos doeners wilt uitzetten
Geplaatst: 25 jun 2006, 18:59
door jongeren
Volgens mij gaat het niet meer over de oorspronkelijke vraag. De vraag is dat iemand GEEN PM KAN ONTVANGEN.
Heeft iemand daar een oplossing voor!
Geplaatst: 25 jun 2006, 19:47
door N_Perfors
Derky schreef:Ik heb zelf iets aangepast zodat je de gebruiker Bot geen privé berichten kan sturen.
Volgens mij kun je dat ook zeggen als:
Ik heb zelf iets aangepast zodat de gebruiker Bot geen prive berichten kan ontvatvangen.

Geplaatst: 25 jun 2006, 20:33
door Derky
N_Perfors schreef:Ik heb zelf iets aangepast zodat de gebruiker Bot geen prive berichten kan
ontvatvangen.

Ja wat jij wil joh.
ontvatvangen?

Geplaatst: 25 jun 2006, 20:43
door N_Perfors
jah ik las daarvoor een post van iemand die dronken was toen hij typte...
Ik waande me ook in die zin

Geplaatst: 25 jun 2006, 20:50
door Derky
Whaha
Maar snapt de topicstarter het nou eigenlijk?

Geplaatst: 25 jun 2006, 21:34
door N_Perfors
hij reageert niet.....

Geplaatst: 25 jun 2006, 22:06
door jongeren
De code werkt. Super!
Heeft iemand ook een idee, dat je de code kan plaatsen zodra iemand op de knop "send PM" klikt. Nu typt iemand het volledige bericht in, en daarna krijg je pas de melding.
Geplaatst: 25 jun 2006, 22:09
door Derky
jongeren schreef:De code werkt. Super!
Heeft iemand ook een idee, dat je de code kan plaatsen zodra iemand op de knop "send PM" klikt. Nu typt iemand het volledige bericht in, en daarna krijg je pas de melding.
Das leuk toch?
Maar als je dat wilt, moet je volgens mij op aardig wat bestanden wijzigingen toepassen.

Geplaatst: 25 jun 2006, 22:45
door N_Perfors
Dat denk ik ook,
Die knop is namelijk op vele manieren te vinden dus je zal het overal moeten aanpassen.
Maar goed, iemand idee??
Ik wil het ook wel weten....
Geplaatst: 26 jun 2006, 16:45
door Bee
Zoiets als
Code: Selecteer alles
if ($poster_id != XX)
{
$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$poster_id");
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
}
else
{
$pm_img = '';
$pm = '';
}
Dit werkt waarschijnlijk alleen in viewtopic.php, en dan nog ben ik niet zeker!
Geplaatst: 28 jun 2006, 14:06
door klaask
Ik heb het als volgt opgelost:
Voeg allereerst aan de database in de tabel
phpbb_user het veld
user_DisablePM - tinyint(1) toe, met als standaardwaarde = 0.
Vervolgens moeten op alle linken, waarmee een gebruiker een PM gestuurd kan worden, afgevangen worden dat er geen bericht naar een gebruiker met een ‘disabledPM’ verzonden kan worden. De knoppen blijven wel zichtbaar, maar wanneer hier op geklikt wordt krijgt de bezoeker een melding.
Ook bij het daadwerkelijk verzenden van een bericht wordt het nog een keer gecontroleerd, zodat langs geen enkele manier een bericht verzonden kan worden.
OPEN language/lang_dutch/lang_main.php
FIND
AFTER, ADD
Code: Selecteer alles
$lang['No_PM_to_this_user'] = 'Je kan deze gebruiker geen privé berichten sturen. Stuur eventueel een e-mail naar deze gebruiker.';
OPEN privmsg.php
-> Wanneer een bezoeker klikt op de knop PM van een gebruiker, dan wordt er gecontroleerd of er wel een bericht naar deze gebruiker gestuurd mag worden. Zo nee, dan verschint er een melding.
query aanpassen:
FIND
Code: Selecteer alles
$sql = "SELECT username
FROM " . USERS_TABLE . "
WHERE user_id = $user_id
AND user_id <> " . ANONYMOUS;
REPLACE
Code: Selecteer alles
$sql = "SELECT username, user_DisablePM
FROM " . USERS_TABLE . "
WHERE user_id = $user_id
AND user_id <> " . ANONYMOUS;
Toon eventueel melding bij klikken op PM:
FIND
Code: Selecteer alles
if ( $row = $db->sql_fetchrow($result) )
{
$to_username = $row['username'];
}
REPLACE
Code: Selecteer alles
if ( $row = $db->sql_fetchrow($result) )
{
//uitschakelen PM, bij klikken op ‘PM’
if ($row['user_DisablePM'])
{
$message = $lang['No_PM_to_this_user'];
message_die(GENERAL_MESSAGE, $message);
}
//end uitschakelen PM
else
{
$to_username = $row['username'];
}
}
-> Ook bij het klikken op ‘quote’ bij berichten die al eerder verzonden zijn krijgt de gebruiker een melding
Query aanpassen
FIND
Code: Selecteer alles
$sql = "SELECT pm.privmsgs_subject, pm.privmsgs_date, pmt.privmsgs_bbcode_uid, pmt.privmsgs_text, u.username, u.user_id
FROM " . PRIVMSGS_TABLE . " pm, " . PRIVMSGS_TEXT_TABLE . " pmt, " . USERS_TABLE . " u
WHERE pm.privmsgs_id = $privmsg_id
AND pmt.privmsgs_text_id = pm.privmsgs_id
AND pm.privmsgs_to_userid = " . $userdata['user_id'] . "
AND u.user_id = pm.privmsgs_from_userid";
REPLACE
Code: Selecteer alles
$sql = "SELECT pm.privmsgs_subject, pm.privmsgs_date, pmt.privmsgs_bbcode_uid, pmt.privmsgs_text, u.username, u.user_DisablePM, u.user_id
FROM " . PRIVMSGS_TABLE . " pm, " . PRIVMSGS_TEXT_TABLE . " pmt, " . USERS_TABLE . " u
WHERE pm.privmsgs_id = $privmsg_id
AND pmt.privmsgs_text_id = pm.privmsgs_id
AND pm.privmsgs_to_userid = " . $userdata['user_id'] . "
AND u.user_id = pm.privmsgs_from_userid";
Bij klikken op “ quote” een melding
FIND
Code: Selecteer alles
$privmsg_subject = ( ( !preg_match('/^Re:/', $privmsg['privmsgs_subject']) ) ? 'Re: ' : '' ) . $privmsg['privmsgs_subject'];
BEFORE, ADD
Code: Selecteer alles
//uitschakelen PM, bij klikken op ‘quote’
if ( ($privmsg['user_DisablePM']) )
{
$message = $lang['No_PM_to_this_user'];
message_die(GENERAL_MESSAGE, $message);
}
//end uitschakelen PM
-> Afvangen van het daadwerkelijk versturen. Dit is een extra controle. Als het goed is komt hij hier niet als de gebruiker geen berichten mag ontvangen.
FIND
Code: Selecteer alles
if (!($to_userdata = $db->sql_fetchrow($result)))
{
$error = TRUE;
$error_msg = $lang['No_such_user'];
}
AFTER, ADD
Code: Selecteer alles
//uitschakelen PM, controle bij versturen
if ($to_userdata['user_DisablePM'])
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['No_PM_to_this_user'];
}
//end uitschakelen PM
Geplaatst: 28 jun 2006, 22:35
door jongeren
Super!!!! Je hebt een geweldig antwoord. Werkt ook perfect!!!!!