[Problem]Umlimited PM Space for Admins and Moderators

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!
Antworten
Benutzeravatar
nightowl
Beiträge: 327
Registriert: Mo 16.Feb, 2004 18:47
Wohnort: Bielefeld
Kontaktdaten:

[Problem]Umlimited PM Space for Admins and Moderators

Beitrag von nightowl »

Ich hab mal diesen Hack eingebaut, doch leider musste ich mir noch von meinen Moderatoren sagen lassen, das viele PM´s einfach ins Nichts verschwinden, wenn die Anzahl der PM´s über die Seitenanzahl überschreitet.

Kann mir jemand sagen, ob er das Problem vielleicht auch hat oder eine Lösung kennt?

Code: Alles auswählen

##############################################################
## MOD Title:      Umlimited PM Space for Admins and Moderators
## MOD Author:      itst < n/a > (Sascha Carlin) http://www.phpbb.de
## MOD Description:   Configure the space for PMs to give Admins and Moderators
##         the chance to write, send and save an umlimited count of
##         private messages
## MOD Version:      1.0.0
##
## Installation Level:   Easy
## Installation Time:   1.2 Minutes
## Files To Edit:   1
##         privmsgs.php
##
## Included Files:   n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## Mod description written by:
## oxpus < webmaster@oxpus.de > (Karsten Ude) http://www.oxpus.de
##
##############################################################
## MOD History:
##
##   2004-01-06 - Version 1.0.0
##      - First release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
privmsgs.php

#
#-----[ FIND ]------------------------------------------
#
         if ( $sent_info['sent_items'] >= $board_config['max_sentbox_privmsgs'] )

#
#-----[ REPLACE WITH ]------------------------------------------
#
         if ( $sent_info['sent_items'] >= $board_config['max_sentbox_privmsgs'] && $userdata['user_level'] == USER )

#
#-----[ FIND ]------------------------------------------
#
   if ( $saved_info['savebox_items'] >= $board_config['max_savebox_privmsgs'] )

#
#-----[ REPLACE WITH ]------------------------------------------
#
         if ( $saved_info['savebox_items'] >= $board_config['max_savebox_privmsgs'] && $userdata['user_level'] == USER )

#
#-----[ FIND ]------------------------------------------
#
            if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] )

#
#-----[ REPLACE WITH ]------------------------------------------
#
            if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] && $userdata['user_level'] == USER )

#
#-----[ FIND ]------------------------------------------
#
//
// Output data for inbox status
//
if ( $folder != 'outbox' )

#
#-----[ REPLACE WITH ]------------------------------------------
#
//
// Output data for inbox status
//
if ( $folder != 'outbox' && $userdata['user_level'] == USER )


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie PM's die Seitenanzahl überschreitet???
Der Mod hebt für Nicht-User jede Sperre auf, die den PM-Platz beschränken.
Mehr wird nicht gemacht. Da wäre es schon mal angebracht zu prüfen, ob auch User PM's "verlieren" ;)
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
nightowl
Beiträge: 327
Registriert: Mo 16.Feb, 2004 18:47
Wohnort: Bielefeld
Kontaktdaten:

Beitrag von nightowl »

Das Problem stellt sich so dar:

Das Forum gibt 25 PN´s pro Posteingangsfach vor. Der Hack sollte nun dies für die bestimmten User (Admin und Mods) übergehen, doch macht es nicht. Auch bei den Moderatoren werden nicht mehr als 25 PN´s im Posteingang dargestellt und wenn die Moderatoren das Postfach entlerren, werden die restlichen PN`s nicht nachgereicht.

Getestet mit vielen Usern und einem PN-Volumen von 50 PN´s auf ein Postfach eines Moderators => 25 PN´s kamen an und 25 PN´s verschwanden ins Nichts.
Das ist das Rätsel, ich finde einfach den Fehler nicht.
Daher bitte ich hier um Hilfe, vielleicht kann es einer von euch mal ausprobieren auf seinem Board, der Einbau dauert ja nicht sehr lange.

Ich hab leider alle Boards auf einem Server, daher macht der Forenwechsel bei mir keinen Sinn.

plz help me. THX
Zuletzt geändert von nightowl am Mi 21.Apr, 2004 08:17, insgesamt 1-mal geändert.
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hänge mal Deine privmsg.php hier an. Ich hatte die Änderungen von itst mehr als einmal getestet und keine Fehler damit bekommen.
Irgendwo scheint ein Bug drinnen zu sein.
Frage dazu: Was hast Du noch in die provmsg.php eingebaut? Dann fällt die Fehlersuche leichter und genauer aus...
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
nightowl
Beiträge: 327
Registriert: Mo 16.Feb, 2004 18:47
Wohnort: Bielefeld
Kontaktdaten:

Beitrag von nightowl »

hier nun die gewünschte Datei "privmsgs.php"
Dort drin müsste sich nur der oben genannte Mod plus Massen-PN!sich befinden (mehr fällt mir nun net ein)!
Zuletzt geändert von nightowl am Do 22.Apr, 2004 03:25, insgesamt 2-mal geändert.
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also bei mir funktioniert Deine privmsg.php wie vorgesehen!
Was geht:
Admins und Mods können sich selber und anderen mehr als die maximale Anzahl an Privatnachrichten schicken, User hingegen nur maximal z.B. 25.
Das betrifft Ausgang und Eingang und dabei wird die älteste Nachricht gelöscht!
Hier sollte man vielleicht eher mal ansetzen und dem User das Senden von PNs bei erreichen seines Postausganglimits unterbinden und dem Absender beim Versand an ein volles Postfach auch eine entsprechende Nachricht geben. Ansonsten läuft man Gefahr, bei vollen Postfächern altes und damit wichtige Nachrichten ggf. zu verlieren.
Ich schau die Tage mal nach, ob es dazu einen Mod gibt, ansonsten versuche ich mein Glück selber...
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
KaptnIGLO
Beiträge: 93
Registriert: Di 07.Dez, 2004 09:47
Kontaktdaten:

Beitrag von KaptnIGLO »

oxpus hat geschrieben:Ich schau die Tage mal nach, ob es dazu einen Mod gibt, ansonsten versuche ich mein Glück selber...
Was gefunden oder mal selber was geschrieben? Würde mich interessieren.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Noch nicht. Zeitmangel (akut und permanent).
Steht aber auf meiner ToDo-Liste.

EDIT
Also einen Mod hab ich nicht gefunden, es sollte aber eigentlich eine Meldung angezeigt werden, wenn ein Postfach bereits voll ist.
Probiere es dann mal so:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
privmsg.php

#
#-----[ FIND ]------------------------------------------
#
			if ( $inbox_info = $db->sql_fetchrow($result) )
			{
				if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] )
				{
					$sql = "SELECT privmsgs_id FROM " . PRIVMSGS_TABLE . "
						WHERE ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
								OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
								OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "  )
							AND privmsgs_date = " . $inbox_info['oldest_post_time'] . "
							AND privmsgs_to_userid = " . $to_userdata['user_id'];
					if ( !$result = $db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not find oldest privmsgs (inbox)', '', __LINE__, __FILE__, $sql);
					}
					$old_privmsgs_id = $db->sql_fetchrow($result);
					$old_privmsgs_id = $old_privmsgs_id['privmsgs_id'];

					$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TABLE . "
						WHERE privmsgs_id = $old_privmsgs_id";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs (inbox)'.$sql, '', __LINE__, __FILE__, $sql);
					}

					$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TEXT_TABLE . "
						WHERE privmsgs_text_id = $old_privmsgs_id";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs text (inbox)', '', __LINE__, __FILE__, $sql);
					}
				}
			}

			$sql_info = "INSERT INTO " . PRIVMSGS_TABLE . " (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_html, privmsgs_enable_bbcode, privmsgs_enable_smilies, privmsgs_attach_sig)
				VALUES (" . PRIVMSGS_NEW_MAIL . ", '" . str_replace("\'", "''", $privmsg_subject) . "', " . $userdata['user_id'] . ", " . $to_userdata['user_id'] . ", $msg_time, '$user_ip', $html_on, $bbcode_on, $smilies_on, $attach_sig)";

#
#-----[ REPLACE WITH ]------------------------------------------
#
			if ( $inbox_info = $db->sql_fetchrow($result) )
			{
				if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] && $userdata['user_level'] == USER )
				{
					message_die(GENERAL_MESSAGE, $lang['No_more_private_messages']);
				}
			}

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['No_more_private_messages'] = 'The inbox from the user is full. Retry to send a pm later.';

#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['No_more_private_messages'] = 'Der Posteingang des Benutzers ist voll. Versuche später eine PN zu senden.';

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ich muss dies nochmal ausgraben.
Ich finde in meiner privmsgs.php dies nicht:

Code: Alles auswählen

         if ( $sent_info['sent_items'] >= $board_config['max_sentbox_privmsgs'] )
Hänge meine privmsgs.php mal an.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Such nach dieser Zeile:

Code: Alles auswählen

			if ($board_config['max_sentbox_privmsgs'] && $sent_info['sent_items'] >= $board_config['max_sentbox_privmsgs'])
Kleiner Tipp am Rande:
Immer nach Teilen einer Zeile suchen, wenn man die komplette nicht findet.
Ist es nur eine Fundstelle und wurde diese vermeindlich durch andere MODs erweitert, hat man auch einen Treffer gelandet...
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ja, das weiss ich eigentlich, aber bei diesen Codes hatte ich angst, das etwas danach nicht mehr funktioniert.

Danke erstmal ... werden dies mal so ausprobieren!

/H

EDIT: sagt mal, kann es sein, dass sich durch diesen Mod der Attachment Mod in PMs "deaktiviert"?
Ich kann Attachments hochladen und sie werden beigefügt angezeigt. Der Empfänger (Admin/Mod/User) sieht aber keine Attachments.
Zuletzt geändert von Holger am Mo 10.Apr, 2006 15:59, 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 »

Wäre mir neu...
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