|
Kann keine PN mehr empfangen - Posteingang voll ?!
|
| gozoc |
Geschrieben am 26. Januar 2009 17:50:52
|

Stammgast

Posts: 98
Registriert seit: 19.11.08
Erfahrener BenutzerNächstes Level: 102/250 Scores: gesperrt
Verwarnstatus:    
|
Ich denke nicht, das es mit der DB zu tun hat ...
Meiner Meinung nach liegts irgendwie in der messages .... müsste ich aber selber genauer ansehen .... da fehlts einfach an der Zeit
Extboard, the very extended Forum.
COMBRIX CMS better, faster, safer ... |
 |
|
|
|
|
| Gr@n@dE |
Geschrieben am 26. Januar 2009 18:08:49
|


Posts: 850
Registriert seit: 09.09.08
ProfiNächstes Level: 893/1000 Scores: gesperrt
|
Dann wollen wir mal. *fg* Als aller erstes, deine messages.php ist in Ordnung, nur leider ist ein kleiner Denkfehler drin.
Hier mal meine These mit einen kleinen Rechenbeispiel:
1. Nehmen wir mal folgenden Sachverhalt an:
- User Id 2 will User Id 1 eine PN schicken
- User Id 2 darf 50 PN`s im Eingang haben
- User Id 1 darf 100 PN`s im Eingang haben
- User Id 2 hat 20 PN`s im Eingang
- User Id 1 hat 70 PN`s im Eingang
2. Wir stellen fest er sollte die PN ohne Probleme verschicken können.
3. Jetzt kommt folgende Abfrage die das ganze Regelt und bei Überschreiten die PN blocken soll.
Code if ($msg_settings['pm_inbox'] == "0" || ($data['message_count'] + 1) <= $msg_settings['pm_inbox']) {
- Der erste Vergleich bringt ein false (Falsch), Grund dafür ist das diese Variable nicht 0 ist sondern Individuell.
- Zweiter Versuch, $data['message_count'] hat aktuell 70 und wird um eins erweitert. $msg_settings['pm_inbox'] hat hingegen aktuell 50. Schlussfolgerung, auch dieser Versuch bringt ein false (Falsch).
4. Fehlerbeseitigung:
Füge vor diesen Kommentar:
Code // neu fuer PM erweiterung ENDE
folgenden Code ein:
Code if (isset($_POST['send_message']) && isset($msg_send) && isNum($msg_send)) {
$result = dbquery("SELECT pm_inbox FROM ".$db_prefix."messages_options WHERE user_id='".$msg_send."'");
if (dbrows($result)) {
$data = dbarray($result);
$msg_settings['pm_inbox'] = $data['pm_inbox'];
$msg_settings['pm_sentbox'] = $data['pm_sentbox'];
}
}
5. Gründe warum es mal geht und mal nicht geht erklärt sich dann von selbst. Wenn 2 User die gleiche Anzahl haben bzw. die Grenze nicht erreichen, dann kommt die PN durch.
Sollte es noch nicht 100% dann bitte melden. Den das ist eigentlich ein sehr schöner Mod. :)
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN ! |
 |
|
|
|
|
| -Basti- |
Geschrieben am 26. Januar 2009 18:52:25
|
Anfänger

Posts: 36
Registriert seit: 06.01.09
LehrlingNächstes Level: 36/50 Scores: gesperrt
Verwarnstatus:    
|
Hallo Ralf,
du machst deinem Nicknamen alle Ehre :-)
Vielen Dank.... es funktioniert nun!
... auch wenn ich die Erklärung noch nicht so ganz verstanden habe :-D
edit:
Versteh ich das richtig, dass der eigene Posteingang mit dem des Empfängers verglichen wird?
Welchen Sinn hat das denn?
edit2:
Stop! Geht doch nich ganz...
Ich kann von dem Dummy-Account (Eingang: 10/100, Ausgang 10/50) keine Nachrichten an einen andren Benutzer senden (Eingang: 148 / 300 , Ausgang 94/150 )
Ne Idee?
Editiert von -Basti- am 26. Januar 2009 20:11:26 |
 |
|
|
|
|
| Gr@n@dE |
Geschrieben am 26. Januar 2009 20:23:11
|


Posts: 850
Registriert seit: 09.09.08
ProfiNächstes Level: 893/1000 Scores: gesperrt
|
Habe noch eine Zeile übersehen 
Man muss die Variable $msg_settings['pm_sentbox'] noch anpassen. Habe oben das noch einmal angepasst.  
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN ! |
 |
|
|
|
|
| -Basti- |
Geschrieben am 26. Januar 2009 20:30:19
|
Anfänger

Posts: 36
Registriert seit: 06.01.09
LehrlingNächstes Level: 36/50 Scores: gesperrt
Verwarnstatus:    
|
Jetzt ists aber wieder so wie anfangs... :-/
Im Anhang die aktuelle messages.php als Zip
-Basti- hat folgende Datei hinzugefügt:
messages_1.zip [5.63Kb - 61 mal heruntergeladen] |
 |
|
|
|
|
| -Basti- |
Geschrieben am 28. Januar 2009 21:37:52
|
Anfänger

Posts: 36
Registriert seit: 06.01.09
LehrlingNächstes Level: 36/50 Scores: gesperrt
Verwarnstatus:    
|
Leider funktionierts immernoch nicht...
Kann jemand bitte nachschauen? :-/
Update:
Nach einigen Tests, auch ohne die o.g. Hacks habe ich gemerkt, dass der Fehler auch auftritt, wenn ich die Angaben in der table messages_options manuell eintrage.
Alle Benutzer, die nicht die Standard-Werte (=> 0) drin haben, scheinen Probleme zu haben...
Das Skript scheint auch die Standard-Werte fix in die Tablle zu schreiben, sodass auch bei Benutzern, die die Default-Angabe nutzen sollen, fixe Werte eingetragen werden.
Vielleicht hängts damit zusammen?
Habs mal vorläufig deaktiviert,
würde mich aber über Hilfe freuen!
Editiert von -Basti- am 28. Januar 2009 23:52:05 |
 |
|
|
|
|
| -Basti- |
Geschrieben am 01. Februar 2009 23:50:52
|
Anfänger

Posts: 36
Registriert seit: 06.01.09
LehrlingNächstes Level: 36/50 Scores: gesperrt
Verwarnstatus:    
|
Tritt das bei andren auch auf? |
 |
|