summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2013-01-30 19:24:24 +0100
committerRobin Appelman <icewind@owncloud.com>2013-01-30 19:24:24 +0100
commit207aa22d12931d161f682198996086e74c91bf53 (patch)
tree26f65a42462244fdfc14e15c7788da8b7f8a524e /apps/user_ldap
parent95352fbc1568e0c49be25461a07d53b3d5ad3b45 (diff)
parent2fbf3d40900d29c04b69f0c18e4d833a312fb21c (diff)
downloadnextcloud-server-207aa22d12931d161f682198996086e74c91bf53.tar.gz
nextcloud-server-207aa22d12931d161f682198996086e74c91bf53.zip
merge master into filesystem
Diffstat (limited to 'apps/user_ldap')
-rw-r--r--apps/user_ldap/l10n/de.php4
-rw-r--r--apps/user_ldap/l10n/de_DE.php2
-rw-r--r--apps/user_ldap/l10n/ru_RU.php4
-rw-r--r--apps/user_ldap/user_ldap.php45
4 files changed, 54 insertions, 1 deletions
diff --git a/apps/user_ldap/l10n/de.php b/apps/user_ldap/l10n/de.php
index 89bda8af97f..efc8a80f8c7 100644
--- a/apps/user_ldap/l10n/de.php
+++ b/apps/user_ldap/l10n/de.php
@@ -1,8 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitte Deinen Systemadministator eine der beiden Anwendungen zu deaktivieren.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Da das PHP-Modul für LDAP ist nicht installiert, das Backend wird nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du kannst das Protokoll auslassen, außer wenn Du SSL benötigst. Beginne dann mit ldaps://",
"Base DN" => "Basis-DN",
+"One Base DN per line" => "Ein Base DN pro Zeile",
"You can specify Base DN for users and groups in the Advanced tab" => "Du kannst Basis-DN für Benutzer und Gruppen in dem \"Erweitert\"-Reiter konfigurieren",
"User DN" => "Benutzer-DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Der DN des Benutzers für LDAP-Bind, z.B.: uid=agent,dc=example,dc=com. Für anonymen Zugriff lasse DN und Passwort leer.",
@@ -19,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "ohne Platzhalter, z.B.: \"objectClass=posixGroup\"",
"Port" => "Port",
"Base User Tree" => "Basis-Benutzerbaum",
+"One User Base DN per line" => "Ein Benutzer Base DN pro Zeile",
"Base Group Tree" => "Basis-Gruppenbaum",
+"One Group Base DN per line" => "Ein Gruppen Base DN pro Zeile",
"Group-Member association" => "Assoziation zwischen Gruppe und Benutzer",
"Use TLS" => "Nutze TLS",
"Do not use it for SSL connections, it will fail." => "Verwende dies nicht für SSL-Verbindungen, es wird fehlschlagen.",
diff --git a/apps/user_ldap/l10n/de_DE.php b/apps/user_ldap/l10n/de_DE.php
index 1e816018386..843609f8b89 100644
--- a/apps/user_ldap/l10n/de_DE.php
+++ b/apps/user_ldap/l10n/de_DE.php
@@ -1,6 +1,6 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.",
-"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Da das PHP-Modul für LDAP ist nicht installiert, das Backend wird nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Sie können das Protokoll auslassen, außer wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://",
"Base DN" => "Basis-DN",
diff --git a/apps/user_ldap/l10n/ru_RU.php b/apps/user_ldap/l10n/ru_RU.php
index 64ba1176f6e..03d83b80a43 100644
--- a/apps/user_ldap/l10n/ru_RU.php
+++ b/apps/user_ldap/l10n/ru_RU.php
@@ -1,8 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Предупреждение:</b> Приложения user_ldap и user_webdavauth несовместимы. Вы можете столкнуться с неожиданным поведением системы. Пожалуйста, обратитесь к системному администратору для отключения одного из них.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Предупреждение:</b> Модуль PHP LDAP не установлен, бэкэнд не будет работать. Пожалуйста, обратитесь к Вашему системному администратору, чтобы установить его.",
"Host" => "Хост",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Вы можете пропустить протокол, если Вам не требуется SSL. Затем начните с ldaps://",
"Base DN" => "База DN",
+"One Base DN per line" => "Одно базовое DN на линию",
"You can specify Base DN for users and groups in the Advanced tab" => "Вы можете задать Base DN для пользователей и групп во вкладке «Дополнительно»",
"User DN" => "DN пользователя",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN клиентского пользователя, с которого должна осуществляться привязка, например, uid=agent,dc=example,dc=com. Для анонимного доступа оставьте поля DN и Пароль пустыми.",
@@ -19,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "без каких-либо заполнителей, например, \"objectClass=posixGroup\".",
"Port" => "Порт",
"Base User Tree" => "Базовое дерево пользователей",
+"One User Base DN per line" => "Одно пользовательское базовое DN на линию",
"Base Group Tree" => "Базовое дерево групп",
+"One Group Base DN per line" => "Одно групповое базовое DN на линию",
"Group-Member association" => "Связь член-группа",
"Use TLS" => "Использовать TLS",
"Do not use it for SSL connections, it will fail." => "Не используйте это SSL-соединений, это не будет выполнено.",
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index 6591d1d5fee..b3180e11358 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -156,6 +156,7 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
}
$this->connection->writeToCache('userExists'.$uid, true);
+ $this->updateQuota($dn);
return true;
}
@@ -208,6 +209,50 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
return false;
}
+ /**
+ * @brief get display name of the user
+ * @param $uid user ID of the user
+ * @return display name
+ */
+ public function getDisplayName($uid) {
+ $cacheKey = 'getDisplayName'.$uid;
+ if(!is_null($displayName = $this->connection->getFromCache($cacheKey))) {
+ return $displayName;
+ }
+
+ $displayName = $this->readAttribute(
+ $this->username2dn($uid),
+ $this->connection->ldapUserDisplayName);
+
+ if($displayName && (count($displayName) > 0)) {
+ $this->connection->writeToCache($cacheKey, $displayName);
+ return $displayName[0];
+ }
+
+ return null;
+ }
+
+ /**
+ * @brief Get a list of all display names
+ * @returns array with all displayNames (value) and the correspondig uids (key)
+ *
+ * Get a list of all display names and user ids.
+ */
+ public function getDisplayNames($search = '', $limit = null, $offset = null) {
+ $cacheKey = 'getDisplayNames-'.$search.'-'.$limit.'-'.$offset;
+ if(!is_null($displayNames = $this->connection->getFromCache($cacheKey))) {
+ return $displayNames;
+ }
+
+ $displayNames = array();
+ $users = $this->getUsers($search, $limit, $offset);
+ foreach ($users as $user) {
+ $displayNames[$user] = $this->getDisplayName($user);
+ }
+ $this->connection->writeToCache($cacheKey, $displayNames);
+ return $displayNames;
+ }
+
/**
* @brief Check if backend implements actions
* @param $actions bitwise-or'ed actions