1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-09 08:06:38 +02:00

XUP: Issue #1378 - Update Username and Avatar if they have changed.

This commit is contained in:
Cameron
2016-03-16 12:05:10 -07:00
parent f927e49e22
commit 01d1c6560c
4 changed files with 85 additions and 18 deletions

View File

@@ -1557,7 +1557,9 @@ class e_user extends e_user_model
$userlogin = new userlogin();
$userlogin->login($xup, '', 'provider', false, true);
$userdata = $userlogin->getUserData();
$userdata = $userlogin->getUserData();
e107::getLog()->add('XUP Debug', (__CLASS__.':'.__METHOD__.'-'.__LINE__), E_LOG_INFORMATIVE, "XUP_DEBUG");
$this->setSessionData(true)->setData($userdata);
@@ -1681,21 +1683,45 @@ class e_user extends e_user_model
// query DB
$sql = e107::getDb();
$where = array();
$userdata = array();
foreach ($connected as $providerId)
{
$adapter = Hybrid_Auth::getAdapter($providerId);
if(!$adapter->getUserProfile()->identifier) continue;
$id = $providerId.'_'.$adapter->getUserProfile()->identifier;
$profile = $adapter->getUserProfile();
$userdata['user_name'] = $sql->escape($profile->displayName);
$userdata['user_image'] = $profile->photoURL; // avatar
$id = $providerId.'_'.$profile->identifier;
$where[] = "user_xup='".$sql->escape($id)."'";
}
$where = implode(' OR ', $where);
if($sql->db_Select('user', 'user_id, user_password, user_xup', $where))
if($sql->select('user', 'user_id, user_password, user_xup', $where))
{
$user = $sql->db_Fetch();
$user = $sql->fetch();
e107::getUserSession()->makeUserCookie($user);
$this->setSessionData();
// Update display name or avatar image if they have changed.
if(($userdata['user_name'] != $user['user_name']) || ($userdata['user_image'] != $user['user_image']))
{
if($sql->update('user', "user_name='".$userdata['user_name']."', user_image='".$userdata['user_image']."' WHERE user_id=".$user['user_id']." LIMIT 1")!==false)
{
e107::getLog()->add('User Profile Updated', $userdata, E_LOG_INFORMATIVE, "XUP_LOGIN", LOG_TO_ADMIN, array('user_id'=>$user['user_id'],'user_name'=>$user['user_name']));
}
else
{
e107::getLog()->add('User Profile Update Failed', $userdata, E_LOG_WARNING, "XUP_LOGIN", LOG_TO_ADMIN, array('user_id'=>$user['user_id'],'user_name'=>$user['user_name']));
}
}
}
return $this;