diff --git a/serendipity_event_karma/ChangeLog b/serendipity_event_karma/ChangeLog index 12228369..42255de6 100644 --- a/serendipity_event_karma/ChangeLog +++ b/serendipity_event_karma/ChangeLog @@ -1,3 +1,4 @@ +2.14.2: Fix errors in PHP 8 2.14.1: Fix error in PHP 7 by casting variables 2.14: Added legal gdpr/dsgvo info 2.12: Iconfont a11y fix (yellowled) diff --git a/serendipity_event_karma/serendipity_event_karma.php b/serendipity_event_karma/serendipity_event_karma.php index c7ad9470..7e8274b7 100644 --- a/serendipity_event_karma/serendipity_event_karma.php +++ b/serendipity_event_karma/serendipity_event_karma.php @@ -44,7 +44,7 @@ class serendipity_event_karma extends serendipity_event $propbag->add('description', PLUGIN_KARMA_BLAHBLAH); $propbag->add('stackable', false); $propbag->add('author', 'Garvin Hicking, Grischa Brockhaus, Judebert, Gregor Voeltz, Ian'); - $propbag->add('version', '2.14.1'); + $propbag->add('version', '2.14.2'); $propbag->add('requirements', array( 'serendipity' => '1.6', 'smarty' => '2.6.7', @@ -482,7 +482,7 @@ class serendipity_event_karma extends serendipity_event } if ($get) { - return $exits[$entries]; + return $exits[$entries] ?? null; } return true; @@ -493,7 +493,9 @@ class serendipity_event_karma extends serendipity_event static $karma_exits = null; if ($karma_exits === null) { - $karma_exits = ' | ' . TOP_EXITS . ' (%d)'; + // TOP_EXITS is a language constant of serendipity_plugin_entrylinks. To keep old behaviour we use it here, but + // check for its existence to make PHP 8 happy + $karma_exits = ' | ' . (defined('TOP_EXITS') ? TOP_EXITS : 'TOP_EXITS') . ' (%d)'; } if ($get_prepared) { @@ -770,7 +772,10 @@ function vote(karmaVote,karmaId) { // Hook for ajax calls case 'external_plugin': - $theUri = (string)str_replace('&', '&', $eventData); + $theUri = ""; + try { + $theUri = (string)str_replace('&', '&', $eventData); + } catch (Error $e) {} $uri_parts = explode('?', $theUri); // Try to get request parameters from eventData name @@ -1279,7 +1284,7 @@ END_IMG_CSS; $pairs = explode('&', $url_parts['query']); foreach($pairs as $pair) { $parts = explode('=', $pair); - $q_parts[$parts[0]] = $parts[1]; + $q_parts[$parts[0]] = ($parts[1] ?? null); } foreach($q_parts as $key => $value) { if (in_array($key, $exclude)) { @@ -1416,12 +1421,12 @@ END_IMG_CSS; */ // Substitute the % stuff and add it to the footer - $eventData[$i]['properties']['myvote'] = $myvote; - $eventData[$i]['properties']['points'] = $points; - $eventData[$i]['properties']['votes'] = $votes; - $eventData[$i]['properties']['visits'] = $visits; + $eventData[$i]['properties']['myvote'] = ($myvote ?? ''); + $eventData[$i]['properties']['points'] = ($points ?? ''); + $eventData[$i]['properties']['votes'] = ($votes ?? ''); + $eventData[$i]['properties']['visits'] = ($visits ?? ''); - $footer .= sprintf($karma_block, $myvote, $points, $votes, $visits, $url); + $footer .= sprintf($karma_block, $myvote ?? '', $points ?? '', $votes ?? '', $visits ?? '', $url); } // foreach key in entries }// End switch on karma voting status @@ -1562,7 +1567,7 @@ END_IMG_CSS;