You are here

private function LdapServer::savePictureData in Lightweight Directory Access Protocol (LDAP) 7.2

Parameters

$image_data:

$md5thumb:

Return value

bool|\stdClass

1 call to LdapServer::savePictureData()
LdapServer::userPictureFromLdapEntry in ldap_servers/LdapServer.class.php

File

ldap_servers/LdapServer.class.php, line 1255
Defines server classes and related functions.

Class

LdapServer
LDAP Server Class.

Code

private function savePictureData($image_data, $md5thumb) {

  // Create tmp file to get image format.
  $filename = uniqid();
  $fileuri = file_directory_temp() . '/' . $filename;
  $size = file_put_contents($fileuri, $image_data);
  $info = image_get_info($fileuri);
  unlink($fileuri);

  // Create file object.
  $file = file_save_data($image_data, file_default_scheme() . '://' . variable_get('user_picture_path') . '/' . $filename . '.' . $info['extension']);
  $file->md5Sum = $md5thumb;

  // Standard Drupal validators for user pictures.
  $validators = [
    'file_validate_is_image' => [],
    'file_validate_image_resolution' => [
      variable_get('user_picture_dimensions', '85x85'),
    ],
    'file_validate_size' => [
      variable_get('user_picture_file_size', '30') * 1024,
    ],
  ];
  $errors = file_validate($file, $validators);
  if (empty($errors)) {
    return $file;
  }
  else {
    foreach ($errors as $err => $err_val) {
      watchdog('ldap_servers', "Error storing picture: %error", [
        "%error" => $err_val,
      ], WATCHDOG_ERROR);
    }
    return FALSE;
  }
}