From 24f75cd61817f96884587804bca80c080c86563c Mon Sep 17 00:00:00 2001
From: Art4 <art4@wlabs.de>
Date: Sun, 17 Nov 2024 22:55:42 +0000
Subject: [PATCH] Add return type never, fix more errors

---
 src/App/BaseURL.php            |  2 ++
 src/Core/System.php            |  4 ++++
 src/Module/Photo.php           | 11 +++++++++--
 src/Module/Post/Tag/Remove.php |  2 +-
 src/Module/Profile/Photos.php  | 12 ++++++++++--
 5 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/src/App/BaseURL.php b/src/App/BaseURL.php
index 953b13c791..83416866f0 100644
--- a/src/App/BaseURL.php
+++ b/src/App/BaseURL.php
@@ -103,6 +103,8 @@ class BaseURL extends Uri implements UriInterface
 	 * @throws HTTPException\TemporaryRedirectException
 	 *
 	 * @throws HTTPException\InternalServerErrorException In Case the given URL is not relative to the Friendica node
+	 *
+	 * @return never
 	 */
 	public function redirect(string $toUrl = '', bool $ssl = false)
 	{
diff --git a/src/Core/System.php b/src/Core/System.php
index 4eca8bc80b..3eabf9695d 100644
--- a/src/Core/System.php
+++ b/src/Core/System.php
@@ -393,6 +393,8 @@ class System
 
 	/**
 	 * Exit the program execution.
+	 *
+	 * @return never
 	 */
 	public static function exit()
 	{
@@ -506,6 +508,8 @@ class System
 	 * @throws TemporaryRedirectException
 	 *
 	 * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+	 *
+	 * @return never
 	 */
 	public static function externalRedirect($url, $code = 302)
 	{
diff --git a/src/Module/Photo.php b/src/Module/Photo.php
index c2b13e1386..30e6d57672 100644
--- a/src/Module/Photo.php
+++ b/src/Module/Photo.php
@@ -142,7 +142,9 @@ class Photo extends BaseApi
 
 		$cacheable = ($photo['allow_cid'] . $photo['allow_gid'] . $photo['deny_cid'] . $photo['deny_gid'] === '') && (isset($photo['cacheable']) ? $photo['cacheable'] : true);
 
-		$stamp = microtime(true);
+		$stamp    = microtime(true);
+		$imgdata  = '';
+		$mimetype = false;
 
 		if (empty($request['blur']) || empty($photo['blurhash'])) {
 			$imgdata  = MPhoto::getImageDataForPhoto($photo);
@@ -150,7 +152,9 @@ class Photo extends BaseApi
 		}
 		if (empty($imgdata) && empty($photo['blurhash'])) {
 			throw new HTTPException\NotFoundException();
-		} elseif (empty($imgdata) && !empty($photo['blurhash'])) {
+		}
+
+		if (empty($imgdata) && !empty($photo['blurhash'])) {
 			$image = new Image('', image_type_to_mime_type(IMAGETYPE_WEBP));
 			$image->getFromBlurHash($photo['blurhash'], $photo['width'], $photo['height']);
 			$imgdata  = $image->asString();
@@ -376,6 +380,9 @@ class Photo extends BaseApi
 						Logger::debug('Expected Content-Type', ['mime' => $mimetext, 'url' => $url]);
 					}
 				}
+
+				$url = '';
+
 				if (empty($mimetext) && !empty($contact['blurhash'])) {
 					$image = new Image('', image_type_to_mime_type(IMAGETYPE_WEBP));
 					$image->getFromBlurHash($contact['blurhash'], $customsize, $customsize);
diff --git a/src/Module/Post/Tag/Remove.php b/src/Module/Post/Tag/Remove.php
index 3073032336..1ed68e2cfa 100644
--- a/src/Module/Post/Tag/Remove.php
+++ b/src/Module/Post/Tag/Remove.php
@@ -78,7 +78,7 @@ class Remove extends \Friendica\BaseModule
 		$tag_text = Tag::getCSVByURIId($item['uri-id']);
 
 		$tags = explode(',', $tag_text);
-		if (empty($tags)) {
+		if (!is_array($tags)) {
 			$this->baseUrl->redirect($returnUrl);
 		}
 
diff --git a/src/Module/Profile/Photos.php b/src/Module/Profile/Photos.php
index fb89ac676d..874e17b448 100644
--- a/src/Module/Profile/Photos.php
+++ b/src/Module/Profile/Photos.php
@@ -124,7 +124,11 @@ class Photos extends \Friendica\Module\BaseProfile
 			$visible = 0;
 		}
 
-		$ret = ['src' => '', 'filename' => '', 'filesize' => 0, 'type' => ''];
+		$ret      = ['src' => '', 'filename' => '', 'filesize' => 0, 'type' => ''];
+		$src      = null;
+		$filename = '';
+		$filesize = 0;
+		$type     = '';
 
 		Hook::callAll('photo_post_file', $ret);
 
@@ -164,7 +168,11 @@ class Photos extends \Friendica\Module\BaseProfile
 					$this->systemMessages->addNotice($this->t('Server can\'t accept new file upload at this time, please contact your administrator'));
 					break;
 			}
-			@unlink($src);
+
+			if ($src !== null) {
+				@unlink($src);
+			}
+
 			$foo = 0;
 			Hook::callAll('photo_post_end', $foo);
 			return;