Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: CPG 1.6.09 und PHP 8.0.0  (Read 800 times)

0 Members and 1 Guest are viewing this topic.

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
CPG 1.6.09 und PHP 8.0.0
« on: January 02, 2021, 12:31:30 pm »

Hallo zusammen !

Ich habe kurz vor dem Jahreswechsel auf meinem Rechner testweise die neueste XAMPP-Version mit PHP 8 installiert. Nach Aufruf der Coppermine Gallery 1.6.09 und erfolgtem Login erscheint unterhalb der aufgelisteten Alben folgende Fehlermeldung:

Quote
Fatal error: Uncaught TypeError: array_keys(): Argument #1 ($array) must be of type array, null given in F:\xampp\htdocs\cpg\include\functions.inc.php:968 Stack trace: #0 F:\xampp\htdocs\cpg\include\functions.inc.php(968): array_keys(NULL) #1 F:\xampp\htdocs\cpg\themes\dark_velvet\theme.php(4233): template_eval('<div id="vanity...', NULL) #2 F:\xampp\htdocs\cpg\themes\dark_velvet\theme.php(1651): theme_vanity() #3 F:\xampp\htdocs\cpg\index.php(1196): pagefooter() #4 {main} thrown in F:\xampp\htdocs\cpg\include\functions.inc.php on line 968

Betroffen sind demnach die Dateien \index.php, \include\functions.inc.php und \themes\dark_velvet\theme.php.
Die zuletzt genannte Datei wurde zwar nach meinen persönlichen Vorstellungen angepaßt, funktionierte so aber jahrelang bis einschließlich PHP 7.4.13. Kann es sein, daß unter PHP 8 ein weiteres Update nötig ist? Ähnliche Probleme gibt es nämlich auch bei anderen Scripten unter der neuen PHP-Version.

Viele Grüße
Radioven
Logged

ron4mac

  • Administrator
  • Coppermine addict
  • *****
  • Country: us
  • Offline Offline
  • Posts: 1732
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #1 on: January 02, 2021, 09:45:10 pm »

Replace the function in include/functions.inc.php
Code: [Select]
function template_eval($template, $vars)
{
    if (!is_array($vars)) return $template;
    return str_replace(array_keys($vars), array_values($vars), $template);
}
Logged

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #2 on: January 03, 2021, 11:22:36 am »

Hat funktioniert, vielen Dank !

Gruß
Radioven
Logged

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #3 on: January 08, 2021, 06:18:32 pm »

Habe heute noch einmal ausgiebig getestet und folgendes festgestellt:
Die Login-Seite läßt sich aufrufen und man kann sich als Administrator anmelden. Anschließend werden auch alle Alben korrekt angezeigt. Rufe ich aber die Galerie ohne Anmeldung direkt auf, erscheint ein Error 500 bzw. lokal unter XAMPP eine leere weiße Seite.
Getestet habe ich die CPG-Version 1.6.09 mit der Änderung in der Datei include/functions.inc.php vom 02.01.2021. Verwendet wurden die Themes curve, eyeball, rainy_day und water_drop. Überall das gleiche Resultat. Nach Rücksetzung auf PHP 7.4.13 funktionierte alles wieder einwandfrei.

Woran könnte das liegen?

Gruß
Radioven
Logged

ron4mac

  • Administrator
  • Coppermine addict
  • *****
  • Country: us
  • Offline Offline
  • Posts: 1732
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #4 on: January 09, 2021, 01:50:03 am »

CPG has not yet been prepared for PHP 8.
But try ...

file include/functions.inc.php ; about line 3092, replace:
Code: [Select]
    if (count($pic_data) > 0) {with:
Code: [Select]
    if (is_array($pic_data) && $pic_data) {
and file index.php ; about line 908, replace:
Code: [Select]
    if (MODERATOR_MODE && in_array($aid, $USER_DATA['allowed_albums'])) {with:
Code: [Select]
    if (defined('MODERATOR_MODE') && MODERATOR_MODE && in_array($aid, $USER_DATA['allowed_albums'])) {
« Last Edit: January 09, 2021, 05:20:37 am by ron4mac »
Logged

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #5 on: January 09, 2021, 03:29:29 pm »

Auch diese Änderungen haben Erfolg gezeigt, aber sicher sind noch einige andere Änderungen notwendig. Ich habe bei der Neuinstallation folgendes bemerkt:

Datei install.php ; Zeile 2032
Code: [Select]

@imagedestroy($source_a);
Logged

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #6 on: January 09, 2021, 03:36:30 pm »

Auch diese Änderungen haben Erfolg gezeigt, aber sicher sind noch einige andere Korrekturen notwendig. Ich habe bei der Neuinstallation folgendes bemerkt:

Datei install.php ; Zeile 2032

Code: [Select]

   @imagedestroy($source_a);
 

ersetzen durch

Code: [Select]

   unset($source_a);
 

Warten wir also auf die neue CPG-Version !


Radioven
Logged

Radioven

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: CPG 1.6.09 und PHP 8.0.0
« Reply #7 on: January 09, 2021, 03:43:23 pm »

siehe nächster Post  ;)
Logged
Pages: [1]   Go Up
 

Page created in 0.019 seconds with 19 queries.