Steffen
Well-known member
- Affected version
- 2.2.15
XF\Pub\Controller::setupConnectedRegistration
calls XF\Service\User\Registration::applyAvatarFromUrl
which in turn calls XF\Service\Avatar::updateAvatar
which finally calls its own writeIpLog
method. It seems like at this point in time XF::visitor()->user_id
is still 0
which causes entries in xf_ip
with action = avatar_update
and user_id = 0
. This log entry is wrong and probably unnecessary because later on another entry with action = register
will be created that has the correct user_id
.This seems like a reasonable fix to me (i.e. don't log IPs on avatar "update" during registration):
Diff:
--- a/src/XF/Service/User/Registration.php
+++ b/src/XF/Service/User/Registration.php
@@ -432,6 +432,7 @@ class Registration extends \XF\Service\AbstractService
{
/** @var \XF\Service\User\Avatar $avatarService */
$avatarService = $this->service('XF:User\Avatar', $this->user);
+ $avatarService->logIp(false);
if (!$avatarService->setImage($tempFile))
{
return false;