public function UserManager::downloadProfilePicture in Open Social 8.3
Same name and namespace in other branches
- 8.9 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.2 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.4 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.5 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.6 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.7 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
- 8.8 modules/custom/social_auth_extra/src/UserManager.php \Drupal\social_auth_extra\UserManager::downloadProfilePicture()
Saves the picture from URL.
Parameters
string $url: Absolute URL of a picture.
string $account_id: Identifier of account on social network.
Return value
bool|object Object of created file or FALSE when error has occurred.
Overrides UserManagerInterface::downloadProfilePicture
1 call to UserManager::downloadProfilePicture()
- UserManager::setProfilePicture in modules/custom/ social_auth_extra/ src/ UserManager.php 
- Download and set the picture to profile.
File
- modules/custom/ social_auth_extra/ src/ UserManager.php, line 128 
Class
- UserManager
- Class UserManager.
Namespace
Drupal\social_auth_extraCode
public function downloadProfilePicture($url, $account_id) {
  $key = $this
    ->getSocialNetworkKey();
  if (!$url || !$account_id) {
    return FALSE;
  }
  if (!($directory = $this
    ->getPictureDirectory())) {
    return FALSE;
  }
  if (!file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) {
    $this->loggerFactory
      ->get('social_auth_' . $key)
      ->error('The image could not be saved, the directory @directory is not valid.', [
      '@directory' => $directory,
    ]);
    return FALSE;
  }
  $filename = $this->transliteration
    ->transliterate($key . '_' . $account_id . '.jpg', 'en', '_', 50);
  $destination = "{$directory}/{$filename}";
  if (!($file = system_retrieve_file($url, $destination, TRUE, FILE_EXISTS_REPLACE))) {
    $this->loggerFactory
      ->get('social_auth_' . $key)
      ->error('The file @filename could not downloaded.', [
      '@filename' => $filename,
    ]);
    return FALSE;
  }
  return $file;
}