From 14027ae04e4aee6cf1c3a4ff9a390ec266c0fb09 Mon Sep 17 00:00:00 2001 From: David Edler Date: Tue, 30 Nov 2021 21:50:09 +0100 Subject: [PATCH 1/2] various fixes vor php 8.1 compatibility --- classes/config.php | 2 +- classes/debug.php | 2 +- classes/feeditem/atom.php | 2 +- classes/feedparser.php | 2 +- classes/feeds.php | 2 +- classes/pref/system.php | 2 +- composer.lock | 2 +- lib/jimIcon.php | 2 +- vendor/j4mie/idiorm/idiorm.php | 44 ++++++++++++++++++++-------------- 9 files changed, 34 insertions(+), 26 deletions(-) diff --git a/classes/config.php b/classes/config.php index 95e2dd3ac..4c8d79ac8 100644 --- a/classes/config.php +++ b/classes/config.php @@ -359,7 +359,7 @@ class Config { if ($check == "version") { - $rv["version"] = strftime("%y.%m", (int)$timestamp) . "-$commit"; + $rv["version"] = date("%y.%m", (int)$timestamp) . "-$commit"; $rv["commit"] = $commit; $rv["timestamp"] = $timestamp; diff --git a/classes/debug.php b/classes/debug.php index e20126b86..1b9d499e5 100644 --- a/classes/debug.php +++ b/classes/debug.php @@ -88,7 +88,7 @@ class Debug { if (!self::$enabled || self::$loglevel < $level) return false; - $ts = strftime("%H:%M:%S", time()); + $ts = date("%H:%M:%S", time()); if (function_exists('posix_getpid')) { $ts = "$ts/" . posix_getpid(); } diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php index 36a2e91f5..cac6d8c54 100755 --- a/classes/feeditem/atom.php +++ b/classes/feeditem/atom.php @@ -70,7 +70,7 @@ class FeedItem_Atom extends FeedItem_Common { * * @return string the rewritten XML or original $content */ - private function rewrite_content_to_base(?string $base = null, string $content) { + private function rewrite_content_to_base(?string $base = null, ?string $content = '') { if (!empty($base) && !empty($content)) { diff --git a/classes/feedparser.php b/classes/feedparser.php index 6ce69cc89..3821c15d8 100644 --- a/classes/feedparser.php +++ b/classes/feedparser.php @@ -201,7 +201,7 @@ class FeedParser { // libxml may have invalid unicode data in error messages function error() : string { - return UConverter::transcode($this->error, 'UTF-8', 'UTF-8'); + return UConverter::transcode($this->error ?? '', 'UTF-8', 'UTF-8'); } /** @return array - WARNING: may return invalid unicode data */ diff --git a/classes/feeds.php b/classes/feeds.php index a9afb70f2..ebffe3269 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -23,7 +23,7 @@ class Feeds extends Handler_Protected { */ private function _format_headlines_list($feed, string $method, string $view_mode, int $limit, bool $cat_view, int $offset, string $override_order, bool $include_children, ?int $check_first_id = null, - bool $skip_first_id_check, string $order_by): array { + ?bool $skip_first_id_check = false, ? string $order_by = ''): array { $disable_cache = false; diff --git a/classes/pref/system.php b/classes/pref/system.php index 10f196b55..806291c72 100644 --- a/classes/pref/system.php +++ b/classes/pref/system.php @@ -138,7 +138,7 @@ class Pref_System extends Handler_Administrative { $sth->execute($errno_values); while ($line = $sth->fetch()) { - foreach ($line as $k => $v) { $line[$k] = htmlspecialchars($v); } + foreach ($line as $k => $v) { $line[$k] = htmlspecialchars($v ?? ''); } ?> diff --git a/composer.lock b/composer.lock index 4dde84cd2..dbbb1de5a 100644 --- a/composer.lock +++ b/composer.lock @@ -21,7 +21,7 @@ "shasum": "" }, "require": { - "php": "^7" + "php": "^8" }, "require-dev": { "friendsofphp/php-cs-fixer": "*", diff --git a/lib/jimIcon.php b/lib/jimIcon.php index eaa768272..eb9a51458 100644 --- a/lib/jimIcon.php +++ b/lib/jimIcon.php @@ -31,7 +31,7 @@ class jimIcon { } if ($a != 127) $this->all_transaprent = 0; - return imagecolorallocatealpha($img, $r, $g, $b, $a); + return imagecolorallocatealpha($img, $r, $g, $b, (int) $a); } // Given a string with the contents of an .ICO, diff --git a/vendor/j4mie/idiorm/idiorm.php b/vendor/j4mie/idiorm/idiorm.php index 2b1f38ca0..74fc7fcc7 100644 --- a/vendor/j4mie/idiorm/idiorm.php +++ b/vendor/j4mie/idiorm/idiorm.php @@ -2209,24 +2209,24 @@ // --- ArrayAccess --- // // --------------------- // - public function offsetExists($key) { - return array_key_exists($key, $this->_data); + public function offsetExists(mixed $offset): bool { + return array_key_exists($offset, $this->_data); } - public function offsetGet($key) { - return $this->get($key); + public function offsetGet(mixed $offset): mixed { + return $this->get($offset); } - public function offsetSet($key, $value) { - if(is_null($key)) { + public function offsetSet(mixed $offset, mixed $value): void { + if(is_null($offset)) { throw new InvalidArgumentException('You must specify a key/array index.'); } - $this->set($key, $value); + $this->set($offset, $value); } - public function offsetUnset($key) { - unset($this->_data[$key]); - unset($this->_dirty_fields[$key]); + public function offsetUnset(mixed $offset): void { + unset($this->_data[$offset]); + unset($this->_dirty_fields[$offset]); } // --------------------- // @@ -2445,7 +2445,7 @@ * Get the number of records in the result set * @return int */ - public function count() { + public function count(): int { return count($this->_results); } @@ -2454,7 +2454,7 @@ * over the result set. * @return \ArrayIterator */ - public function getIterator() { + public function getIterator(): Traversable { return new ArrayIterator($this->_results); } @@ -2463,7 +2463,7 @@ * @param int|string $offset * @return bool */ - public function offsetExists($offset) { + public function offsetExists(mixed $offset): bool { return isset($this->_results[$offset]); } @@ -2472,25 +2472,33 @@ * @param int|string $offset * @return mixed */ - public function offsetGet($offset) { + public function offsetGet(mixed $offset): mixed { return $this->_results[$offset]; } /** * ArrayAccess - * @param int|string $offset + * @param mixed $offset * @param mixed $value */ - public function offsetSet($offset, $value) { + public function offsetSet(mixed $offset, mixed $value): void { $this->_results[$offset] = $value; } /** * ArrayAccess - * @param int|string $offset + * @param mixed $offset */ - public function offsetUnset($offset) { + public function offsetUnset(mixed $offset): void { unset($this->_results[$offset]); + } + + public function __serialize() { + return $this->serialize(); + } + + public function __unserialize($data) { + $this->unserialize($data); } /** From 72e21f89ce2465fafc08a92dc2d216b55f355f28 Mon Sep 17 00:00:00 2001 From: David Edler Date: Tue, 30 Nov 2021 22:07:11 +0100 Subject: [PATCH 2/2] replace strftime with date --- classes/config.php | 2 +- classes/debug.php | 2 +- classes/rssutils.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/config.php b/classes/config.php index 4c8d79ac8..11d2a1bb7 100644 --- a/classes/config.php +++ b/classes/config.php @@ -359,7 +359,7 @@ class Config { if ($check == "version") { - $rv["version"] = date("%y.%m", (int)$timestamp) . "-$commit"; + $rv["version"] = date("Y.m", (int)$timestamp) . "-$commit"; $rv["commit"] = $commit; $rv["timestamp"] = $timestamp; diff --git a/classes/debug.php b/classes/debug.php index 1b9d499e5..fbdf260e0 100644 --- a/classes/debug.php +++ b/classes/debug.php @@ -88,7 +88,7 @@ class Debug { if (!self::$enabled || self::$loglevel < $level) return false; - $ts = date("%H:%M:%S", time()); + $ts = date("H:i:s", time()); if (function_exists('posix_getpid')) { $ts = "$ts/" . posix_getpid(); } diff --git a/classes/rssutils.php b/classes/rssutils.php index b886a060c..bcf049a9b 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -920,7 +920,7 @@ class RSSUtils { $entry_timestamp = time(); } - $entry_timestamp_fmt = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); + $entry_timestamp_fmt = date("Y/m/d H:i:s", $entry_timestamp); Debug::log("date: $entry_timestamp ($entry_timestamp_fmt)", Debug::LOG_VERBOSE); Debug::log("num_comments: $num_comments", Debug::LOG_VERBOSE);