You are here

function _hybridauth_session_sync_data in HybridAuth Social Login 6.2

2 calls to _hybridauth_session_sync_data()
hybridauth_user in ./hybridauth.module
Implements hook_user().
_hybridauth_identity_save in ./hybridauth.module

File

./hybridauth.module, line 694
Main file for the HybridAuth module.

Code

function _hybridauth_session_sync_data($uid) {
  if ($hybridauth = hybridauth_get_instance()) {
    $hybridauth_session_data_current = unserialize($hybridauth
      ->getSessionData());
    if (is_array($hybridauth_session_data_current)) {
      if ($hybridauth_session = _hybridauth_session_load_by_uid($uid)) {
        $hybridauth_session_data_ser = $hybridauth_session['data'];
        $hybridauth_session_data_ser = serialize(array_merge(unserialize($hybridauth_session_data_ser), $hybridauth_session_data_current));

        // Call Hybrid_Auth::restoreSessionData() to set stored data.
        $hybridauth
          ->restoreSessionData($hybridauth_session_data_ser);
        _hybridauth_session_save($hybridauth_session_data_ser, $uid);
      }
      else {
        _hybridauth_session_save(serialize($hybridauth_session_data_current), $uid);
      }
    }
    elseif ($hybridauth_session = _hybridauth_session_load_by_uid($uid)) {

      // Call Hybrid_Auth::restoreSessionData() to set stored data.
      $hybridauth
        ->restoreSessionData($hybridauth_session['data']);
    }
  }
}