CPO+ Upgrade: Another one

Allgemeine Infos zu ConPressoPlus.
Zweck, Änderungen, etc.
Gesperrt
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

CPO+ Upgrade: Another one

Beitrag von MarkusR »

Hier ein weiteres Upgrade,
diesmal von CPO 4.1.6 auf CPO+4.0
sowie von PHP 7.4.30 auf PHP 8.1.8

Ergebnisse der Voruntersuchung nach erfolgter vollständiger Datensicherung
Produkt-Version: 4.1.6

Zusätzliche Rubrikverzeichnisse

Gesamt: 0

Modulverzeichnisse
mod_parser
mod_maintenance
mod_copy_rights
mod_imagesize
mod_calendar
Entsorgung (mod_vacancy)
mod_track
mod_search
mod_functions

Gesamt: 9

Datei-Integrität

Beachten Sie, dass nur die originalen ConPresso-Dateien geprüft werden. Module oder sonstige hinzugefügte Dateien können nicht geprüft werden.

Die folgenden Dateien entsprechen nicht der originalen Prüfsumme und wurden möglicherweise verändert.
_admin/articles.php
_admin/modules.php
_admin/templates.php
_editor/editor.php
_include/common.inc.php
_include/db_mysql.inc.php
_include/form_fields.inc.php
_include/message.php
_include/parser.php
_include/parser_c_text.inc.php
_include/sessiondb.inc.php
_includesite/i_archive.php
_includesite/i_file_upload.php
_includesite/i_manage_files.php
mod_search/includes/inc_search_function.inc.php

Gesamt: 15

Zusätzliche PHP-Dateien

Die folgenden Dateien sind nicht Teil der Original-Installation und müssen geprüft werden!
Dies können zusätzliche Module, zusätzliche Rubrikverzeichnisse oder zusätzliche Skripte sein.

mod_parser/lang/deutsch/parser.inc.php [module]
mod_parser/doXHTML.inc.php [module]
mod_parser/producer.inc.php [module]
mod_parser/hide_emails.inc.php [module]
mod_parser/tags2lower.inc.php [module]
mod_parser/common-module.inc.php [module]
mod_parser/settings.php [module]
_cfg/common-local.inc.php
mod_maintenance/lang/index.php [module]
mod_maintenance/lang/deutsch/maintenance.inc.php [module]
mod_maintenance/lang/deutsch/index.php [module]
mod_maintenance/producer.inc.php [module]
mod_maintenance/index.php [module]
mod_maintenance/edit.php [module]
mod_maintenance/common-module.inc.php [module]
_include/cpo_parser.php
mod_copy_rights/lang/deutsch/navigation.inc.php [module]
mod_copy_rights/producer.inc.php [module]
mod_copy_rights/user_navigation.inc.php [module]
mod_copy_rights/edit.php [module]
mod_copy_rights/common-module.inc.php [module]
mod_imagesize/lang/deutsch/translation.inc.php [module]
mod_imagesize/index.php [module]
mod_imagesize/includes/license.inc.php [module]
mod_imagesize/includes/actions.inc.php [module]
mod_imagesize/includes/producer.inc.php [module]
mod_imagesize/includes/inc_del.php [module]
mod_imagesize/includes/inc_options.inc.php [module]
mod_imagesize/includes/inc_resize.php [module]
mod_imagesize/includes/click_images.inc.php [module]
mod_imagesize/includes/inc_form.php [module]
mod_imagesize/includes/functions.inc.php [module]
mod_imagesize/edit.php [module]
mod_imagesize/common-module.inc.php [module]
mod_check/lang/deutsch/check.inc.php
mod_check/index.php
mod_calendar/_local_header.php [module]
mod_calendar/member.php [module]
mod_calendar/lang/deutsch/calendar.inc.php [module]
mod_calendar/waste_appointments.inc.php [module]
mod_calendar/calendar_appointments.inc.php [module]
mod_calendar/http_calendar.php [module]
mod_calendar/producer.inc.php [module]
mod_calendar/search.inc.php [module]
mod_calendar/index.php [module]
mod_calendar/_local_footer.php [module]
mod_calendar/common-module.inc.php [module]
mod_calendar/loadfooters.php [module]
mod_calendar/search.php [module]
mod_calendar/test_appointments.inc.php [module]
mod_calendar/loadheaders.php [module]
mod_calendar/settings.php [module]
_data/index.php
Entsorgung/license.inc.php [module]
Entsorgung/export.php [module]
Entsorgung/lang/deutsch/translation.inc.php [module]
Entsorgung/producer.inc.php [module]
Entsorgung/index.php [module]
Entsorgung/parser_r_vacancy.inc.php [module]
Entsorgung/table.inc.php [module]
Entsorgung/dateedit.php [module]
Entsorgung/parser_c_vacancy.inc.php [module]
Entsorgung/edit.php [module]
Entsorgung/setup.inc.php [module]
Entsorgung/common-module.inc.php [module]
Entsorgung/permission.php [module]
Entsorgung/settings.php [module]
mod_track/track.inc.php [module]
mod_track/lang/deutsch/track.inc.php [module]
mod_track/producer.inc.php [module]
mod_track/hash.inc.php [module]
mod_track/update.php [module]
mod_track/edit.php [module]
mod_track/common-module.inc.php [module]
mod_track/md5.php [module]
mod_track/settings.php [module]
phpinfo.php
mod_functions/actions.inc.php [module]
mod_functions/lang/deutsch/functions.inc.php [module]
mod_functions/producer.inc.php [module]
mod_functions/parser_r_functions.inc.php [module]
mod_functions/post_parse_functions.inc.php [module]
mod_functions/parser_c_functions.inc.php [module]
mod_functions/setup_functions.php [module]
mod_functions/edit.php [module]
mod_functions/common-module.inc.php [module]

Gesamt: 86 [80]

Zusammenfassung
Zusätzlich zur originalen Installation gibt es:
0 zusätzliche Rubrikverzeichnisse
8 zusätzliche Modulverzeichnisse
15 geänderte Dateien
86 zusätzliche PHP-Dateien
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Ergebnisse der Analyse der vorhandenen Änderungen

grüne Einträge sind bereits in CPO+ vorhandene Änderungen

_admin/articles.php -> break statt continue viewtopic.php?f=17&t=4743
_admin/modules.php -> break statt continue viewtopic.php?f=17&t=4743
_admin/templates.php -> wrong $v[name]
_editor/editor.php -> ereg_replace() wird zu preg_replace()
_include/common.inc.php -> force ISO
_include/db_mysql.inc.php -> mysqli support
_include/form_fields.inc.php -> return statt continue in Zeile 48
_include/message.php -> $message = array() in Zeile 43
_include/parser.php -> mod_parser
_include/parser_c_text.inc.php -> loggedInUser und archive Placeholders
_include/sessiondb.inc.php -> session garbage collection
_includesite/i_archive.php -> $cpoRubricSettings['sorting'] = 'verfallsdatum DESC' ??? Wozu?
_includesite/i_file_upload.php -> mod_imagesize
_includesite/i_manage_files.php -> mod_imagesize
mod_search/includes/inc_search_function.inc.php -> FIX for PHP7 - ereg() replaced by stripos()

Auch hier zeigt sich, dass durch ein premodded CPO+ der Update-Aufwand deutlich sinkt.
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Bei den Modulen gilt folgendes

mod_parser
mod_maintenance
mod_copy_rights
mod_imagesize
mod_calendar -> ToDo
Entsorgung (mod_vacancy) -> ToDo
mod_track
mod_search
mod_functions
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Nach dem Einspielen der neuen Dateien und Einarbeitung der bekannten Änderungen wurde auf PHP 8.1.8 umgestellt und damit erwartungsgemäß aufgrund der beiden veralteten Module geschrottet.

Erste (und zu diesem Zeitpunkt einzige) Meldung:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in /var/www/vhosts/domain.de/httpdocs/Entsorgung/common-module.inc.php on line 138
Ok, ja, die "curly braces" (geschweifte Klammern) für den Zugriff auf einzelne Zeichen eines Strings waren eben eine der veralteten Easy-Living-Funktionen für Faule, die eben entsorgt wurden.
Glücklicher weise kann man die geschweiften Klammen einfach durch eckige ersetzen und erhält die gleiche Funktionalität:

Code: Alles auswählen

		$permission_to_see = $rights{0};
		$permission_to_edit = $rights{1};
		$permission_to_admin = $rights{2};
wird zu

Code: Alles auswählen

		$permission_to_see = $rights[0];
		$permission_to_edit = $rights[1];
		$permission_to_admin = $rights[2];
Nun läuft der Auftritt zumindest und wird geflutet mit WARNINGS...

Dabei ist folgende wichtig, da sie zu dem in CPO+ integrierten Module mod_functions gehört:
Warning: Undefined variable $pagereplacer in /var/www/vhosts/domain.de/httpdocs/mod_functions/post_parse_functions.inc.php on line 85
Dies gilt es noch weiter zu untersuchen, aber eine erste Lösung ist am Anfang der Datei folgendes hinzuzufügen

Code: Alles auswählen

initVar($pagereplacer, array());
Dieser muss also noch auf die ToDo-Liste für CPO+!

Nun folgenden modulbezogene Fehler
Warning: Undefined variable $month in /var/www/vhosts/domain.de/httpdocs/mod_calendar/common-module.inc.php on line 150
Warning: Undefined variable $year in /var/www/vhosts/domain.de/httpdocs/mod_calendar/common-module.inc.php on line 151
in diesem Fall habe ich beim vermutlich ausschließlich von mir genutzten Modul in der Funktion printCalendar() am Anfang die Variablen definiert, damit diese als Nullwert existieren und im weiteren mit den korrekten Werten gefüllt werden

Code: Alles auswählen

    $month = 0;
    $year = 0;
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Und kaum schraubt man einer Ecke, da poppen die nächsten Fehler auf:
Warning: Undefined array key "SID_user" in /var/www/vhosts/domain.de/httpdocs/Entsorgung/common-module.inc.php on line 161
Warning: Trying to access array offset on value of type null in /var/www/vhosts/domain.de/httpdocs/Entsorgung/common-module.inc.php on line 161
Warning: Undefined array key "SID_user" in /var/www/vhosts/domain.de/httpdocs/mod_copy_rights/common-module.inc.php on line 67
Warning: Trying to access array offset on value of type null in /var/www/vhosts/domain.de/httpdocs/mod_copy_rights/common-module.inc.php on line 67
Warning: Undefined array key "id" in /var/www/vhosts/domain.de/httpdocs/mod_functions/common-module.inc.php(157) : eval()'d code on line 2
Interessanterweise verschwinden die ersten 4 Fehler, die wohl mit den Session-Daten zu tun haben, nach mehrfachem Neuladen der Seite und scheinen am automatischen Logout zu liegen. Das sind natürlich die fiesesten Fehler, weil man sie schwer reproduzieren kann.
Daher erst zum letzten Fehler, der aus einer in mod_functions definierten Funktion resultiert. Hier sind die Zeilenangaben (2) weni hilfreich, weil das immer da steht. Außerdem wird nicht klar, welche der in diesem Fall 10 Funktionen das Problem erzeugt. Lediglich "id" gibt einen Hinweis und lässt vermuten, dass eine der Funktionen mit Session-Daten arbeitet.
Daher habe ich dort die schreibfaule Zeile

Code: Alles auswählen

if ($_SESSION['SID_user']['id']) {
ergänzt zu

Code: Alles auswählen

if (isset($_SESSION['SID_user']['id'])) {
und damit diese Warnung beseitigt.

Dann in mod_copy_rights/common-module.inc.php on line 67

Code: Alles auswählen

if ($_SESSION['SID_user']['admin']>=ROLE_SUPERUSER) {
geändert zu

Code: Alles auswählen

if (isset($_SESSION['SID_user']['admin']) && $_SESSION['SID_user']['admin']>=ROLE_SUPERUSER) {
und in Entsorgung/common-module.inc.php on line 161

Code: Alles auswählen

if ($_SESSION['SID_user']['admin']>=ROLE_EDITOR)  {
geändert zu

Code: Alles auswählen

if (isset($_SESSION['SID_user']['admin']) && $_SESSION['SID_user']['admin']>=ROLE_EDITOR)  {
Auch das muss auf die ToDo-Liste, weil es vermutlich noch weitere Module betreffen wird, die in die Navigation eingehängt 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
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Eine endlose Liste weiterer Fehler machte klar, dass eines der neuen Features ebenfalls unsauber programmiert ist.
In _admin/frame_titel.php muss an gleich zwei Stellen

Code: Alles auswählen

                    $secIcon = ' '.$secIcons[$notInNavigation[$v['rubric']['id']]['rubric']['seclevel']];
                    $secText = $secTexts[$notInNavigation[$v['rubric']['id']]['rubric']['seclevel']];
ergänzt werden zu

Code: Alles auswählen

                    if (isset($notInNavigation[$v['rubric']['id']]['rubric']['seclevel']))  {
                        $secIcon = ' '.$secIcons[$notInNavigation[$v['rubric']['id']]['rubric']['seclevel']];
                        $secText = $secTexts[$notInNavigation[$v['rubric']['id']]['rubric']['seclevel']];
                    }
Und auch das muss auf die ToDo-Liste
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: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: CPO+ Upgrade: Another one

Beitrag von MarkusR »

Dann ist erst mal Ruhe... bis
Warning: Undefined array key "caption" in /var/www/vhosts/domain.de/httpdocs/_admin/modules.php on line 51
Hm, da gibt es vermutlich ein Modul mit fehlender "caption".
Das ist zu finden und zu ändern, dennoch wird auch die Zeile

Code: Alles auswählen

foreach($modules AS $mk=>$mv) $sortArray[$mk] = __($modules[$mk]['caption']);
zu

Code: Alles auswählen

foreach($modules AS $mk=>$mv)  $sortArray[$mk] = (isset($modules[$mk]['caption'])) ? __($modules[$mk]['caption']) : $mk;
Auf die ToDo-Liste!
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
Gesperrt