From 746744eb647d6e392b15bdc216793c45cd902bcf Mon Sep 17 00:00:00 2001 From: netkas Date: Mon, 6 Jan 2025 04:47:56 -0500 Subject: [PATCH] Update image handling for display picture operations --- .../Classes/StandardMethods/SettingsSetDisplayPicture.php | 7 ++----- src/Socialbox/Managers/RegisteredPeerManager.php | 8 ++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Socialbox/Classes/StandardMethods/SettingsSetDisplayPicture.php b/src/Socialbox/Classes/StandardMethods/SettingsSetDisplayPicture.php index e709a23..6567b26 100644 --- a/src/Socialbox/Classes/StandardMethods/SettingsSetDisplayPicture.php +++ b/src/Socialbox/Classes/StandardMethods/SettingsSetDisplayPicture.php @@ -40,7 +40,7 @@ return $rpcRequest->produceError(StandardError::RPC_BAD_REQUEST, "Failed to decode JPEG image base64 data"); } - $sanitizedImage = Utilities::resizeImage(Utilities::sanitizeJpeg($decodedImage), 126, 126); + $sanitizedImage = Utilities::resizeImage(Utilities::sanitizeJpeg($decodedImage), 256, 256); } catch(Exception $e) { @@ -53,10 +53,7 @@ RegisteredPeerManager::updateDisplayPicture($request->getPeer(), $sanitizedImage); // Check & update the session flow - if($request->getSession()->flagExists(SessionFlags::SET_DISPLAY_PICTURE)) - { - SessionManager::updateFlow($request->getSession(), [SessionFlags::SET_DISPLAY_PICTURE]); - } + SessionManager::updateFlow($request->getSession(), [SessionFlags::SET_DISPLAY_PICTURE]); } catch(Exception $e) { diff --git a/src/Socialbox/Managers/RegisteredPeerManager.php b/src/Socialbox/Managers/RegisteredPeerManager.php index 34fc37f..867913d 100644 --- a/src/Socialbox/Managers/RegisteredPeerManager.php +++ b/src/Socialbox/Managers/RegisteredPeerManager.php @@ -471,11 +471,19 @@ if($peer->isExternal()) { + // TODO: Implement this throw new InvalidArgumentException('Cannot delete the display picture of an external peer'); } Logger::getLogger()->verbose(sprintf("Deleting display picture of peer %s", $peer->getUuid())); + // Delete the file if it exists + $displayPicturePath = Configuration::getStorageConfiguration()->getUserDisplayImagesPath() . DIRECTORY_SEPARATOR . $peer->getDisplayPicture() . '.jpeg'; + if(file_exists($displayPicturePath)) + { + unlink($displayPicturePath); + } + try { $statement = Database::getConnection()->prepare('UPDATE `registered_peers` SET display_picture=NULL WHERE uuid=?');