Archiv verlassen und diese Seite im Standarddesign anzeigen : timing-problem beim PN-Popup
MischaHH
15.05.2007, 10:26
Hallo,
vielleicht kein bug, aber ein kleines Problem, das ich gern verstehen möchte:
Das Popup wegen neuer privater Nachrichten (PN) funktioniert in meinem Forum userabhängig mal ja, mal nein. Das Problem scheint ein timing-problem zu sein, denn bei besonders langsamen Internet-Verbindungen passiert es viel öfter, bei DSL läufts zu 75%-100% korrekt.
Das Erscheinungsbild:
Im korrekten Normalfall bekommt der User bei Eingang neuer PNs nach Bestätigung der kleinen Popups(die funktionieren immer korrekt!) das Feld mit den PN-Ordnern in einem neuen Fenster angeboten.
Im Fehlerfall gibts eine Serverfehlermeldung, da die Adresse für die Seite nicht richtig angegeben wird.
Aktuell: Richtig ist bei mir URL
http://forumxyz.net/forum/private.php......
der Ordner "forum" ist der normale Vbulletin-Ordner nach Installation, lediglich umbenannt in "forum". Im Fehlerfall fehlt dieser Ordner in der URL, der Pfad sieht dann aus
http://forumxyz.net/private.php.....
Da der Effekt nur gelegentlich und insbesondere bei langsamen Verbindungen auftritt (zB bei UMTS), sehe ich kein Einstellungsproblem:(, würde aber gern den Hintergrund verstehen. Und vielleicht gibts ja doch änderbare Parameter?
Danke
Michael
MischaHH
16.05.2007, 02:20
Da mein Problem immer noch besteht, bitte ich nochmals um Hilfe/Ideen. Ich habe auch inzwischen weitere Recherchen betrieben und zudem schon mal auf vb3.6.7 erfolgreich geupdatet:), was an dem Fehler nichts änderte.
Das Problem tritt eindeutig nur bei einigen Usern auf (Gemeinsamkeiten sind nicht erkennbar), nur wenige sehen die Serverfehlermeldung 404 im Extrafenster anstatt der "Private Nachricht" im Extrafenster (unter private.php).
D.h. es ist zumindestens kein für alle einheitliches Severproblem und kein Pfad-Einstellungsproblem, denn bei der Mehrzahl der User funktioniert es korrekt.
Weiterhin habe ich bei mir selbst im parallelversuch festgestellt, dass es sowohl beim Browser IE6 als auch Firefox auftritt, dh auch ein Browser-Einstellungsproblem kann man ausschliessen. Natürlich sind in allen Browsern popups erlaubt.
Zur Beurteilung mag noch wichtig sein: Die Original VB-index.php wurde umbenannt in forum.php, da ich vBCMS benutze, dessen jetzige index.php weiter führt zur forum.php.
Ich bin mit meinem Latein (äh.. Html/PHP) am Ende. Aber es ist ausgesprochen nervig, dass ausgerechnet dieses Feature so unzuverlässig ist.
Für jeden Verdacht bin ich dankbar.
Michael
Ohne die Möglichkeit es selbst zu testen, ist es wirklich schwer, was helfendes zu sagen.
Teste es bitte mal mit dem Originalstyle und ohne jegliche Plug-ins, Add-ons oder anderen Modifikationen.
Alternativ kannst du auch ein 2. Testforum installieren.
MischaHH
17.05.2007, 13:37
danke für die Antwort.
Das Testen ist insb. unter Testbedingungen (Testforum zb) sehr schwer, da es ja immer die Interaktion (PNs) zweier User braucht. Und ein plugin-freies Forum auf die Schnelle kriegt man im Laufenden Betrieb ja auch nicht so einfach hin.
Aber ich werde es weiter beobachten und mich ggf wieder melden.
Noch eine "neue" Erkenntnis, die mir auffiel:
Da das ganze auch bei mir selbst passiert, beobachte ich natürlich alles genau. Und ich stellte fest, dass jetzt nach dem Hochfahren des Rechners und Forenaufruf die erste PN, die ich empfange , korrekt im separaten Fenster angezeigt wird. Alle weiteren jedoch erzeugen dann den beschriebenen Fehler.:confused:
Michael
Du könntst ja ohne Weiteres mit dem IE und Firefox mit 2 Benutzern im Testforum angemeldet sein und dir fleißig PNen hin und her schicken.
Hmm, alle Browseraddons, Popupblocker bzw. einfach alles, was dich schützt, kurz deaktivieren und dann testen.
Schraubär
17.05.2007, 18:28
AdminCP -> vBulletin-Einstellungen -> vBulletin-Einstellungen -> Homepage-Titel / URL / Kontaktinfos
URL des Forums richtig gesetzt ?
Es muss bei Dir lauten: http://forumxyz.net/forum (ohne slash am ende)
sonst schau Dir den Quelltext an bei einem PopUp Fenster...
window.open("private.php?do=showpm&pmid=282973"
Das ist ein Teil davon...
je nach Aufenthaltsort (evtl. Portal im darüber liegenden Ordner)
Kann das obiges Problem auslösen...
Alternative wäre, dem script einen Absoluten Pfad zu geben...
(Warum wird das vom VB nicht schon gemacht ?!?!)
MischaHH
17.05.2007, 18:59
Also so ganz trivial ist es leider nicht. Natürlich ist im ACP die URL an der richtigen Stelle richtig angegeben(sonst würde es bei den meisten Usern nicht funktionieren, und auch bei mir klappts ja ab und an mit der richtigen URL fürs Extrafenster).
Und den Weg über Quelltext wäre ich schon gegangen, aber bei den beiden kleinen Popups zur Benachrichtigung (werden aus Windows generiert) kann ich keinen Soucecode aufrufen, um zu sehen wohin die Buttons leiten würden, noch kann ich den Source der endgültigen Popupseite nutzen, denn der wird vom Server generiert bei Error 404. Ich werde also tatsächlich über eingebaute trace-infos und Haltepunkte gehen müssen um mehr rauszukriegen. Aber dazu bin ich eigentlich nicht Profi genug...
Danke für die Infos
Michael
Schraubär
17.05.2007, 19:24
Das Fenster wird vom Browser generiert. Nicht von Windows.
Sonst könnt ich es unter Linux ja nicht sehen ;)
Ist nen JavaScript Pop-Up
Der Quelltext dazu befindet sich im Forum auf der Seite,
wo sich auch das popup gerade öffnet.
Und zwar ganz unten wird es angehängt.
Und dort verweist das Script private.php?do=showpm&pmid=
Wichtig ist in dem moment dann der Aufenthaltsort im Browser.
Befindest Du dich nicht im Unterordner /forum, dann wird er auch nicht richtig linken.
Ist zwar nicht elegant, aber Du könntest den Code anpassen und Deine
URL vorne ran setzen.
Würde Dein Problem erstmal beheben, nicht aber den Fehler.
MischaHH
17.05.2007, 19:57
die Hinweise sind allesamt gut, werde mich mal auf die Suche machen nach den Quelltexten.
Aber das versteh ich nicht:
Befindest Du dich nicht im Unterordner /forum, dann wird er auch nicht richtig linken.
Ich befinde mich meistens auf der Übersichtsseite meines Forums, also http://forumxyz/forum/forum.php (ist meine umbenannte index.php), steh da so rum, refreshe ab und an und kriege dann das Popup bzgl neuer PN.....
Oder ich steige ins Forum ein, logge mich ein, geh auf die Übersichtsseite ... und kriege das kleine Popup wg neuer PN (also auch in /forum/forum.php)
Das ich mit meinem Browser auch in zweiter/dritter Instanz auf anderen Seiten surfe dürfte doch wohl keine Rolle spielen? Hab den Fehler ja auch bei uniquen Aufrufen.
Na, ich steig mal in den Code ein.
Danke
Michael
MischaHH
18.05.2007, 01:36
Irgendwie seh ich kein Land. Ich habe jetzt von Foristen Aussagen gesammelt. Zb hat jemand mit Firefox-Brwoser den Effekt in ungefähr 1-2% aller PN-Eingänge. Ich selbst habs mit IE und mit Firefox in ca 95% aller Fälle.
Und was den Quellcode angeht, so habe ich in keiner Seite, die aktuell dargestellt wird, ein entsprechendes Java-Script gesehen, habe mir sämtliche Scripte genau angesehen. Die einzig "verdächtige" variable ist sessionurl, die werd ich mal ausgeben lassen müssen.:confused::(
Michael
hab das selbe problem. browserunabhängig.
ich weiss nicht ob es an den cookies liegt, aber die erklärung mit dem Pfad und dem Aufenthaltsort auf der Page macht Sinn.
Ich bin mal in die Templates gegangen und hab der Variable $pmpopupurl den wert zugewiesen
$pmpopupurl = "http://www.forumxyz.de/xyz";
wenn das absuluter unsinn ist, bitte erklärt mir wie das gemeint war mit "komplette url übergeben"
Gruss C
MischaHH
18.05.2007, 09:31
Klingt nicht so falsch, das werd ich auch mal testen. Eigentlich suchte ich jetzt auch nur diese Variable, aber man kann als User und Laie ja nicht sämtliche Templates nach sowas durchforsten , von dem man nicht weiß wie es heisst.
Danke für den Hinweis.
Michael
die ist schnell gefunden.
admincp > styles & templates
auf dein geladenes template klicken und im dropdown "templates verämdern"
dort scrollst du zu Private Nachrichten und klick drauf.
pm_popup_script
hast du zufällig ein CMS script drübergelegt?
z.B. VBCMS?
wenn das der fall sein sollte ist die Lösung eine andere.
MischaHH
18.05.2007, 13:22
Ja, das habe ich (VBCMS), ich hatte auch den Eindruck, als wenn es seit dem nicht mehr klappt, aber das war nicht eindeutig.
hm, dann muss ich mal suchen nach "anderer Lösung"..
Danke
das problem ist folgendes. befindest du dich im browser auf der startseite, funktioniert das pmpopup. aber Nützliche Links "private nachrichten" nicht.
andersrum...im browser auf der Forum seite...pmpopup = nein
nützliche links "private nachrichten" = ja
versuch folgendes:
admincp > plugin erstellen.
als Hook wählst du vbcms_replacements
einfügen
$vbulletin->templatecache['pm_popup_script'] = str_replace(
'private.php',
$vbulletin->vbcmsoptions['vbcms_forumfolder'] . '/private.php',
$vbulletin->templatecache['pm_popup_script']
);
Damit die Private nachrichten aus der Nav vom vbcms aus funktioniert:
admincp > Styles & Templates > templates durchsuchen
nimm dir das template "navbar" und such darin
<if condition="$show['pmmainlink']"><tr><td class="vbmenu_option"><a href="private.php$session[sessionurl_q]"
ersetze mit
<if condition="$show['pmmainlink']"><tr><td class="vbmenu_option"><a href="/PfadZumForum/private.php$session[sessionurl_q]"
MischaHH
18.05.2007, 13:59
Danke, das werde ich versuchen.
Allerdings ist deine Vorgabe nicht korrekt. Der Fehler tritt auch auf, wenn ich auf der Foren-startseite bin (Forenübersicht). Er tritt eigentlich immer auf, egal wo ich mich im Forum befinde. Jedenfalls habe ich noch keine Abhängigkeit dabei entdecken können und auf jedenfall tritt er auch auf, wenn ich auf der Startseite bin (denn da bin ich am häufigsten:)).
Aber den Code werde ich mir später genauer ansehen und weiterforschen.
Danke
MischaHH
19.05.2007, 00:56
Nun habe ich doch immerhin eine Regel entdecken können: Das PN-Popup funktioniert einwandfrei , wenn ich mich auf der Startseite von VBCMS befinde, und es funktioniert nicht bzw fehlerhaft, wenn ich mich auf einer Forenseite befinde. Irgendwie unbefriedigend...
Michael
ajo ich habs ja nun anders gelöst
MischaHH
21.05.2007, 20:59
Auch hier leider zunächst noch Fortsetzung.
Ich habe alles wie oben beschrieben implementiert, aber der Fehler/Effekt bleibt bestehen. Im Fehlerhaften Popup fehlt konsequent im Pfad vor private.php das /forum/private.php. Ich kann weder einen Lösungsansatz sehen, habe auch mit dem Replacement der Adressen gespielt sowie dem Plugin, es hat alles keinen Effekt auf die ausgegebene URL für das Extrafenster.:(
Michael
Wenn du im Template pm_popup_script direkt vor $pmpopupurl zweimal die komplette URL zu deinem Forum schreibst, funktioniert es dann?
Also so:
http://www.forumxyz.net/forum/$pmpopupurl
evtl ist es ja ein cookie problem.
pack mal wie beschrieben das vbcms ins selbe verz. wie das vB
MischaHH
21.05.2007, 21:49
CanDee
das VBCMS-Verzeichnis ist schon immer bei mir im selben Verz. wie das Forum (http://forumxyz.net/forum/.) gewesen.
Mystics,
leider hat diese Ergänzung auch nichts bewirkt. Es bleibt dabei, das PN-Popup hat auf der Startseite des VBCMS die richtige adresse http://forumxyz.net/forum/private.php und als Popup auf der Foren-Übersichtsseite sowie allen anderen Forenseiten die adresse http://forumxyz.net/private.php , was eben falsch ist.
Übrigens, bei sämtlichen Änderungen sind die Links zu den PNs unter Willkommen, unter "nützliche Links" und - im Forum - auch im Kontrollzentrum immer richtig gewesen, sowohl auf der Startseiten als auch auf allen Forenseiten. Die Änderung in Navbar wie oben angegebn beeinflusst diese Links ( "<a href="/PfadZumForum/private.php$session[sessionurl_q]"> , aber leider nix anderes.
Änderungen in dem Script dagegen (ich hab zB versucht, dort vor /private.php noch /forum zu setzen) sind nirgends zu sehen gewesen.
Michael
MischaHH
21.05.2007, 22:21
Langsam den Verstand verlierend, habe ich eine umfangreiche Testreihe gemacht.
Vorweg möchte ich schicken, dass der Text der Hinweis-popups auf neue PNs doch erwarten lässt, dass bei Annahme, egal in welchem Format, die auslösende PN direkt dargestellt wird (1.Popup: Sie haben eine neue PN erhalten....klicken Sie auf OK um sie anzusehen oder auf Abbrechen, um dieses Fenster zu schliessen...2.Popup: Die Nachricht in einem neuen Fenster öffnen (Klicken sie auf Abbrechen, um sie im aktuellen Fenster zu zeigen) . Das jedoch passiert bei mir in KEINEM Fall, es wird immer nur die PN-Übersichtsseite geöffnet.
Nun zu der Testreihe. Zwei Fälle wurden unterschieden:
1) Änderungen wie hier vorgeschlagen eingebaut, dh navbar, pm_popup_script geändert und plugin installiert
a) Ausgangspunkt VBCMS-Startseite
- Darstellung als Extrafenster: Es wird die PN-Übersichtsseite dargestellt, seiten URL lautet http://forumxyz.net/forum/private.php
- Darstellung im aktuellen Fenster: Fehler 404, SeitenURL lautet http://forumxyz.net/forum//forum/private.php
b) Ausgangspunkt Forum-Seite
- Darstellung als Extrafenster: Fehler 404, SeitenURL lautet http://forumxyz.net/private.php?do=showpm&pmid=1599 (nummer variiert)
- Darstellung im aktuellen Fenster: Es wird die PN-Übersichtsseite dargestellt, obwohl die URL lautet http://forumxyz.net/forum//private.php
2) Ohne jede Änderung, also Originalzustand:
a) Ausgangspunkt VBCMS-Seite
- Darstellung als Extrafenster: Es wird die PN-Übersichtsseite dargestellt, SeitenURL lautet http://forumxyz.net/forum/private.php
- Darstellung im aktuellen Fenster: Es wird die PN-Übersichtsseite dargestellt, SeitenURL ist http://forumxyz.net/forum/private.php
b) Ausgangspunkt Forumsseite
- Darstellung als Extrafenster: Fehler 404, SeitenURL ist http://forumxyz.net/private.php
- Darstellung im aktuellen Fenster: Fehler 404, SeitenURL ist http://forumxyz.net/private.php
weiterhin habe ich rausgefunden, dass die variable $pmpopupurl im template pm_popup_script tatsächlich unterschiedlichen Inhalt hat, je nachdem, ob man auf der VBCMS-Startseite steht (/forum/private.php) oder im Forum (/private.php). Wenn diese Variable dort ersetzt wird durch die absolute adresse, dann funktioniert es, dass immerhin in allen Fällen die PN-Übersichtsseite dargestellt wird. Allerdings würde ich schon erwarten (s.o.) dass die PN direkt dargestellt wird, nicht nur die Übersichtsseite.
Tja, ob damit was anzufangen ist? Irgendwie mehr als seltsam, dieses Durcheinander. Ich habe aber nichts in anderen PN-Templates geändert, alles original.
Übrigens, die URLs oben sind alle genauestens geprüft, die teilweise vorhandenen // entsprechen dem aktuellen Stand!
Michael
Erstelle bitte ein Support-Ticket mit Admin-Zugang (alle Rechte), FTP- und phpMyAdmin-Daten, sowie einem Link zu phpMyAdmin:
Support-Ticket erstellen (http://members.vbulletin-germany.com/membersupport_contactform.php)
Wie schon vermutet, lag es natürlich am vBCMS.
Das muss auf "Ja" stehen:
Administrator-Kontrollzentrum -> vBCMS Verwaltung -> Forum-Einstellungen -> vBCMS im Forum aktivieren
Ansonsten wird die Variable $vbulletin->vbcmsoptions['vbcms_forumfolder'] nicht gesetzt und es kommt zu diesem Fehler.
Wenn man das Plug-in vBCMS global replacements deaktiviert, funktioniert es auch.
vBulletin® v3.7.4, Copyright ©2000-2008, Jelsoft Enterprises Ltd.