MyBB.de Forum

Normale Version: [NG] PN-Versand möglich obwohl PN-Deaktivierung durch Mitglied
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo!

Folgendes Problem: Wenn ein Mitglied die PN-Funktion bei sich selbst deaktiviert, so hat es dennoch die Möglichkeit, selbst PNs an andere zu versenden.

Wenn nun das angeschriebene Mitglied antworten möchte, so ist das nicht möglich, wenn in den APC-Einstellungen gleichzeitig "Kann Private Nachrichten senden, auch wenn der Empfänger dies deaktiviert hat" nicht aktiviert ist (damit das Mitglied auch tatsächlich Ruhe hat) - so kann es zu ziemlich argen Missverständnissen kommen...
Ich halte die Einstellung "Private Nachrichten empfangen." für eindeutig. Empfangen und Senden sind schließlich 2 verschiedene Dinge.
Sollte man meinen, dennoch kam es genau deshalb wohl dazu; Ev hat betreffendes Mitglied gleich nach der Registrierung in seinen Optionen herumprobiert und dann übersehen/vergessen, die PNs wieder zu aktivieren - da wäre es schon hilfreich, wenn so ein Mitglied beim verfassen von PNs zB darauf hingewiesen wird, dass niemand auf die gleich abgesendete PN antworten kann...
Versuch mal folgendes.

Öffne die private.php und Suche darin nach

PHP-Code:
if($mybb->input['action'] == "send")
{
    if(
$mybb->usergroup['cansendpms'] == 0)
    {
        
error_no_permission();
    } 

füge darunter dies ein.

PHP-Code:
    if($mybb->user['receivepms'] == 0)
    {
        
$send_errors inline_error("Du hast den Empfang privater Nachrichten deaktiviert. Du kanns privaten Nachrichten Versenden, aber keine erhalten. Aktiviere \"Private Nachrichten empfangen.\" in den Benutzer Optionen, um privaten Nachrichten erhalten zu können.");
    } 

Du kannst nun statt des Textes eine Sprachvariable anlegen, die dann für deutsch_du und deutsch_sie greift. Diese Variable müsstest Du in der datahandler_pm.lang.php anlegen.
Vielen lieben Dank, Mr.Br.!

Der Hinweis wird sofort angezeigt, wenn man den Empfang in den Optionen deaktiviert hat und auf "(PN) Erstellen" klickt - wobei ich mir bei manchen Leuten denke dass die ein all-over Pop-up bräuchten (ums zu lesen)...  Rolleyes

Nachtrag: eine PN kann trotzdem versendet werden, besser wäre es sicherlich, dass man erst eine versenden kann, wenn man das Empfangen auch aktiviert hat...
Mach mal den oberen Schritt rückgängig, und stattdessen machst Du das so.

Suchen nach

PHP-Code:
eval("\$send = \"".$templates->get("private_send")."\";"); 

ersetzen mit

PHP-Code:
if($mybb->user['receivepms'] == 1)
{
eval(
"\$send = \"".$templates->get("private_send")."\";");
}else{
$send_errors inline_error("Du hast den Empfang privater Nachrichten deaktiviert. Du kannst erst wieder privaten Nachrichten Versenden, wemm Du unter <strong>Optionen ändern</strong> \"Private Nachrichten empfangen.\" aktivierst.");
eval(
"\$send = \"".$templates->get("private_send_error")."\";");


speichern.

Neues Template anlegen.

Name:

private_send_error

Inhalt:

Code:
<html>
<head>
<title>{$lang->compose_pm}</title>
{$headerinclude}
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/usercp.js?ver=1808"></script>
</head>
<body>
{$header}
<table width="100%" border="0" align="center">
<tr>
{$usercpnav}
<td valign="top">
{$send_errors}
</td>
</tr>
</table>
{$footer}
</body>
</html>
(25.05.2017, 20:09)MrBrechreiz schrieb: [ -> ]... stattdessen machst Du das so...

Du bist ein Schatz!  Love
Noch ein Nachtrag dazu für die Quickreply.

Suchen in selbiger Datei nach

PHP-Code:
eval("\$quickreply = \"".$templates->get("private_quickreply")."\";"); 

ändern zu

PHP-Code:
        if($mybb->user['receivepms'] != 0)
        {
            eval(
"\$quickreply = \"".$templates->get("private_quickreply")."\";");
        } 
(26.05.2017, 07:36)MrBrechreiz schrieb: [ -> ]... die Quickreply....

Huh  Was ist denn das überhaupt?
Schnellantwort. Diese kann man noch immer verwenden, wenn man eine PN liest. Mit der Änderung dann aber nicht mehr.
Seiten: 1 2 3