mod_newsletter: php-warning

Diskussion zum Modul Newsletter für ConPresso 4
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

mod_newsletter: php-warning

Beitrag von hscha »

Hallo Markus,
diese Warnung tritt immer wieder auf, wenn ich Newsletter versende:
PHP Warning: Undefined array key "SID_rubric_id" in /www/htdocs/.../gesangskreis-nordspandau.de/cms/mod_newsletter/common-module.inc.php on line 604
Kann man das schadlos mit "initVar" abfangen?
Grüße von
Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Leider kann ich das Verhalten nicht nachvollziehen.

Die Variable $_SESSION['SID_rubric_id'] ist eigentlich IMMER gefüllt, wenn man im Backend eingeloggt ist.

Allerdings gibt es ja tausende verschiedene Wege beim Newsletter-Versand, so dass es möglich wäre, dass bei einem von diesen - auch wenn es in Zeile 604 um etwas völlig anderes geht - in deiner nur zu erahnenden Vorgehensweise die Warnung auftritt.

initVar() ist die schlechtere Lösung.

Bei Prüfungen sollte diese verbessert werden, also

Code: Alles auswählen

if ($_SESSION['SID_rubric_id'] != $db_rubric->v('id'))  {
zu

Code: Alles auswählen

if (isset($_SESSION['SID_rubric_id']) && $_SESSION['SID_rubric_id'] != $db_rubric->v('id'))  {
werden
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

Re: mod_newsletter: php-warning

Beitrag von hscha »

Ich habe angenommen, dass der Fehler beim Versenden auftritt. Leider konnte ich nicht genau nachvollziehen, bei welcher Aktion genau...
Nachdem ich deinen Code in die Datei kopiert habe, vermute ich eher, dass der Fehler beim Aufruf des Links "im Browser öffnen" direkt von der Newsletter-Mail aus aufgetreten ist, was nur wenige Adressaten machen. Dann ist man nicht eingeloggt.
Vielen Dank, Markus
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Die Mail-Vorschau bzw. Browseransicht ist eine Möglichkeit,
Eine andere das Arbeiten mit Zeitplänen statt direktem Versand.

Witzigerweise erhalte ich auch da keine solche Warnung.
Da spielen wohl noch andere Bedingungen eine Rolle...

Mal weiter beobachten...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Nachtrag:
Es muss sich allerdings doch um einen eingeloggten User handeln, da die Zeile 604 zu Newsletter_navigation() gehört, das nur bei eingeloggten Redakteuren (oder höher) ausgeführt wird (siehe Zeile 703)

Allerdings ist dieser User NUR im Frontend eingeloggt, (noch) nicht im Backend, daher gibt es auch keine $_SESSION['SID_rubric_id'] und klickt nun den Link im Mail oder in einer Bereitstellungsrubrik an.
So konnte ich die Warnung reproduzieren,

Witzigerweise gibt es in _include/member.inc.php einen auskommentierten Block, wo zahlreiche Session-Variablen vorbelegt wurden...

Die oben genannte Änderung sollte es aber bestens fixen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

Re: mod_newsletter: php-warning

Beitrag von hscha »

MarkusR hat geschrieben: 05.12.2025 20:43 Die oben genannte Änderung sollte es aber bestens fixen...
Das tut es! Bislang trotz eines neuen Newsletter-Versands und entsprechenden Tests noch keine neuen Fehlermeldungen!
Danke und Grüße von
Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Und im Grunde könnte man sowas zusätzlich umschiffen, wenn man die Konstante CPOBACKEND abfragt, um die Backend-Navigation eben auch nur dort zu erzeugen.
Muss mal schauen, wo genau der Navigations-Handler überhaupt eingelesen wird, wegen dem die Warnung ausgegeben wird. Möglicherweise ist nämlich nicht der Aufruf des Newsletters durch den Redakteur das Problem, sondern der anschließende Aufruf des Backends...
Ggf. funken da auch die neuen Title-Icons dazwischen, die für die Nutzung der Tastenkürzel mehrfach eingebunden werden und auch im Quelltext der Newsletter-Vorschau erscheinen...

edit: es sind wohl wirklich die Titel-Icons bzw. deren versteckte Pendants.
Was ich neben der beschriebenen Änderung machen werde ist in _include/footer.php die Zeile

Code: Alles auswählen

if(file_exists(CPO_BASEDIR.'_include/title_icons.inc.php')) include(CPO_BASEDIR.'_include/title_icons.inc.php');
zu ergänzen zu

Code: Alles auswählen

if(defined('CPOBACKEND') && file_exists(CPO_BASEDIR.'_include/title_icons.inc.php')) include(CPO_BASEDIR.'_include/title_icons.inc.php');
und zur Sicherheit werde ich das auch in _include/title_icons.inc.php wiederholen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

Re: mod_newsletter: php-warning

Beitrag von hscha »

Ich habe die Codeergänzung in die _include/footer.php kopiert.
Bislang ist aber die php-Warnung nicht wieder aufgetreten...
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Im Grunde ist das Problem recht vielschichtig.

Zum Einen bindet die Newsletter-Vorschau den Footer des Backends ein, was weder sinnvoll noch auf Dauer gewollt ist -> werde ich ändern

Zum Anderen werden die Titel-Icons, damit die Tastenkürzel immer funktionieren, in jedem Frame eingebunden -> hier werde ich ggf. eine vereinfachte Form bauen oder ganz auf die Tastenkürzel verzichten (ich persönlich nutze sie nie, da je nach Browser andere Kombinationen notwendig sind oder einzelne auch gar nicht funktionieren...)
Die Frames stehen allerdings auch ganz oben auf der Liste der zu entsorgenden Altlasten...

Und ggf. sollte man die auskommentierte Vorbelegung in _include/member.inc.php einfach wieder reaktivieren. da sind aber erst mögliche Folgen zu untersuchen...


Hilfreich könnte eine Erweiterung des Error-Reporting sein, da sich das PHP-Standardverhalten ändern und erweitern lässt, womit sich genauer die im Fehlerfall angemeldeten User und deren Einstellungen sowie die aufgerufene URL protokollieren lassen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

Re: mod_newsletter: php-warning

Beitrag von hscha »

Hallo Markus,
du schriebst:
hier werde ich ggf. eine vereinfachte Form bauen oder ganz auf die Tastenkürzel verzichten
Einen Verzicht darauf kann ich verstehen, aber ich fänd's schade (bin halt Tastaturfreak und verwalte meine Webseiten mittels Desktop-Computer. Auch an die geänderte Bedienung mit Safari habe ich mich schnell gewöhnt.)
Hast du mal deine Kunden gefragt, ob sie Tastaturkürzel nutzen? Wenn ich der einzige bin, dann schmeiß' sie raus :) ...
Auch anderen Ballast abzuwerfen, ist gut - es fliegt sich leichter :wink:
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7505
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 942 Mal

Re: mod_newsletter: php-warning

Beitrag von MarkusR »

Leichtsinnigerweise habe ich gerade mal ausprobiert, wie ich die Frames endlich loswerde, was dann auch die mehrfache Einbindung wegen fehlendem Fokus erübrigen würde.
Tatsächlich geht das recht gut, bedeutet aber das Neudenken vieler Abläufe.
Das wird aber nicht mehr in eine 4.1.x einfließen.

Aber mit den aktuellen Modifikationen läuft es ja erst mal und Du kannst die Tastenkürzel nutzen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 821
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 225 Mal
Danksagung erhalten: 32 Mal

Re: mod_newsletter: php-warning

Beitrag von hscha »

8) Danke!