summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/lib/User
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/lib/User')
-rw-r--r--apps/user_ldap/lib/User/Manager.php9
-rw-r--r--apps/user_ldap/lib/User/User.php16
2 files changed, 15 insertions, 10 deletions
diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php
index 55fc7499beb..c48193c7ad9 100644
--- a/apps/user_ldap/lib/User/Manager.php
+++ b/apps/user_ldap/lib/User/Manager.php
@@ -163,6 +163,7 @@ class Manager {
/**
* returns a list of attributes that will be processed further, e.g. quota,
* email, displayname, or others.
+ *
* @param bool $minimal - optional, set to true to skip attributes with big
* payload
* @return string[]
@@ -190,10 +191,10 @@ class Manager {
if(!$minimal) {
// attributes that are not really important but may come with big
// payload.
- $attributes = array_merge($attributes, array(
- 'jpegphoto',
- 'thumbnailphoto'
- ));
+ $attributes = array_merge(
+ $attributes,
+ $this->access->getConnection()->resolveRule('avatar')
+ );
}
return $attributes;
diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php
index f64c0b4b447..02764a72eca 100644
--- a/apps/user_ldap/lib/User/User.php
+++ b/apps/user_ldap/lib/User/User.php
@@ -245,10 +245,12 @@ class User {
$this->connection->writeToCache($cacheKey, $groups);
//Avatar
- $attrs = array('jpegphoto', 'thumbnailphoto');
- foreach ($attrs as $attr) {
- if(isset($ldapEntry[$attr])) {
- $this->avatarImage = $ldapEntry[$attr][0];
+ /** @var Connection $connection */
+ $connection = $this->access->getConnection();
+ $attributes = $connection->resolveRule('avatar');
+ foreach ($attributes as $attribute) {
+ if(isset($ldapEntry[$attribute])) {
+ $this->avatarImage = $ldapEntry[$attribute][0];
// the call to the method that saves the avatar in the file
// system must be postponed after the login. It is to ensure
// external mounts are mounted properly (e.g. with login
@@ -348,7 +350,9 @@ class User {
}
$this->avatarImage = false;
- $attributes = array('jpegPhoto', 'thumbnailPhoto');
+ /** @var Connection $connection */
+ $connection = $this->access->getConnection();
+ $attributes = $connection->resolveRule('avatar');
foreach($attributes as $attribute) {
$result = $this->access->readAttribute($this->dn, $attribute);
if($result !== false && is_array($result) && isset($result[0])) {
@@ -575,7 +579,7 @@ class User {
*/
private function setOwnCloudAvatar() {
if(!$this->image->valid()) {
- $this->log->log('jpegPhoto data invalid for '.$this->dn, ILogger::ERROR);
+ $this->log->log('avatar image data from LDAP invalid for '.$this->dn, ILogger::ERROR);
return false;
}
//make sure it is a square and not bigger than 128x128