diff --git a/.gitignore b/.gitignore index b57dd3d2058..68977ad0775 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ config/mount.php apps/inc.php # ignore all apps except core ones -apps/* +apps* !apps/files !apps/files_encryption !apps/files_external diff --git a/3rdparty b/3rdparty index a13af72fbe8..e312294ef62 160000 --- a/3rdparty +++ b/3rdparty @@ -1 +1 @@ -Subproject commit a13af72fbe8983686fc47489a750e60319f68ac2 +Subproject commit e312294ef62873df2b8c02e774f9dfe1b7fbc38d diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd87513ec2a..a79fcc08d60 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,15 @@ ## Submitting issues -If you have questions about how to use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc]. +If you have questions about how to install or use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc]. + +### TL;DR + + * The [issue template can be found here][template] but be aware of the different repositories! See list below. ### Guidelines -* Please search the existing issues first, it's likely that your issue was already reported. -* [Report the issue](https://github.com/owncloud/core/issues/new) using our [template][template], it includes all the informations we need to track down the issue. -* This repository is *only* for issues within the ownCloud core code. Issues in other compontents should be reported in their own repositores: +* Please search the existing issues first, it's likely that your issue was already reported or even fixed. +* This repository is *only* for issues within the ownCloud core code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth +* The issues in other components should be reported in their respective repositories: - [Android client](https://github.com/owncloud/android/issues) - [iOS client](https://github.com/owncloud/ios-issues/issues) - [Desktop client](https://github.com/owncloud/mirall/issues) @@ -14,12 +18,12 @@ If you have questions about how to use ownCloud, please direct these to the [mai - [Calendar](https://github.com/owncloud/calendar/issues) - [Contacts](https://github.com/owncloud/contacts/issues) - [Mail](https://github.com/owncloud/mail/issues) + - [Media/Music](https://github.com/owncloud/media/issues) - [News](https://github.com/owncloud/news/issues) - [Notes](https://github.com/owncloud/notes/issues) - [Shorty](https://github.com/owncloud/shorty/issues) - - [other apps](https://github.com/owncloud/apps/issues) (e.g. Pictures, Music, Tasks, ...) - -If your issue appears to be a bug, and hasn't been reported, open a new issue. + - [All other apps](https://github.com/owncloud/apps/issues) (e.g. Pictures, Tasks, ...) +* Report the issue using our [template][template], it includes all the information we need to track down the issue. Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues. @@ -34,7 +38,7 @@ Thanks for wanting to contribute source code to ownCloud. That's great! Before we're able to merge your code into the ownCloud core, you need to sign our [Contributor Agreement][agreement]. -Please read the [Developer Manuals][devmanual] to get useful infos like how to create your first application or how to test the ownCloud code with phpunit. +Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the ownCloud code with PHPUnit. [agreement]: http://owncloud.org/about/contributor-agreement/ [devmanual]: http://owncloud.org/dev/ diff --git a/apps/files/ajax/rawlist.php b/apps/files/ajax/rawlist.php index 1cd2944483c..f568afad4da 100644 --- a/apps/files/ajax/rawlist.php +++ b/apps/files/ajax/rawlist.php @@ -15,6 +15,14 @@ $mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : ''; // make filelist $files = array(); +// If a type other than directory is requested first load them. +if($mimetype && strpos($mimetype, 'httpd/unix-directory') === false) { + foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $i ) { + $i["date"] = OCP\Util::formatDate($i["mtime"] ); + $i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']); + $files[] = $i; + } +} foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $i ) { $i["date"] = OCP\Util::formatDate($i["mtime"] ); $i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']); diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php index 391b98608bd..6659cd459c8 100644 --- a/apps/files/ajax/scan.php +++ b/apps/files/ajax/scan.php @@ -24,7 +24,7 @@ foreach ($mountPoints as $mountPoint) { ScanListener::$mountPoints[$storage->getId()] = $mountPoint; $scanner = $storage->getScanner(); if ($force) { - $scanner->scan(''); + $scanner->scan('', \OC\Files\Cache\Scanner::SCAN_RECURSIVE, \OC\Files\Cache\Scanner::REUSE_ETAG); } else { $scanner->backgroundScan(); } diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php index 05ab1722b3e..99739cb4cee 100644 --- a/apps/files/appinfo/app.php +++ b/apps/files/appinfo/app.php @@ -20,4 +20,4 @@ OC_Search::registerProvider('OC_Search_Provider_File'); \OC_Hook::connect('OC_Filesystem', 'post_delete', '\OC\Files\Cache\Updater', 'deleteHook'); \OC_Hook::connect('OC_Filesystem', 'post_rename', '\OC\Files\Cache\Updater', 'renameHook'); -\OC_BackgroundJob_RegularTask::register('\OC\Files\Cache\BackgroundWatcher', 'checkNext'); +\OCP\BackgroundJob::addRegularTask('\OC\Files\Cache\BackgroundWatcher', 'checkNext'); diff --git a/apps/files/css/files.css b/apps/files/css/files.css index f788949b1b6..108dcd741c6 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -63,8 +63,12 @@ } #filestable { position: relative; top:37px; width:100%; } tbody tr { background-color:#fff; height:2.5em; } -tbody tr:hover, tbody tr:active, tbody tr.selected { background-color:#f8f8f8; } -tbody tr.selected { background-color:#eee; } +tbody tr:hover, tbody tr:active { + background-color: rgb(240,240,240); +} +tbody tr.selected { + background-color: rgb(230,230,230); +} tbody a { color:#000; } span.extension, span.uploading, td.date { color:#999; } span.extension { text-transform:lowercase; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70); opacity:.7; -webkit-transition:opacity 300ms; -moz-transition:opacity 300ms; -o-transition:opacity 300ms; transition:opacity 300ms; } @@ -81,7 +85,12 @@ table th#headerDate, table td.date { min-width:11em; padding:0 .1em 0 1em; text- /* Multiselect bar */ #filestable.multiselect { top:63px; } table.multiselect thead { position:fixed; top:82px; z-index:1; -moz-box-sizing: border-box; box-sizing: border-box; left: 0; padding-left: 64px; width:100%; } -table.multiselect thead th { background:rgba(230,230,230,.8); color:#000; font-weight:bold; border-bottom:0; } +table.multiselect thead th { + background-color: rgba(210,210,210,.7); + color: #000; + font-weight: bold; + border-bottom: 0; +} table.multiselect #headerName { width: 100%; } table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; } table td.filename a.name { display:block; height:1.5em; vertical-align:middle; margin-left:3em; } @@ -115,10 +124,12 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; } } #fileList .name { position:relative; /* Firefox needs to explicitly have this default set … */ } #fileList tr:hover .fileactions { /* background to distinguish when overlaying with file names */ - background:rgba(248,248,248,.9); box-shadow:-5px 0 7px rgba(248,248,248,.9); + background-color: rgba(240,240,240,0.898); + box-shadow: -5px 0 7px rgba(240,240,240,0.898); } #fileList tr.selected:hover .fileactions, #fileList tr.mouseOver .fileactions { /* slightly darker color for selected rows */ - background:rgba(238,238,238,.9); box-shadow:-5px 0 7px rgba(238,238,238,.9); + background-color: rgba(230,230,230,.9); + box-shadow: -5px 0 7px rgba(230,230,230,.9); } #fileList .fileactions a.action img { position:relative; top:.2em; } #fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; } diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index c24d1fd8244..e19a35bbc5b 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -51,7 +51,7 @@ var FileList={ }else{ simpleSize=t('files', 'Pending'); } - var sizeColor = Math.round(200-Math.pow((size/(1024*1024)),2)); + var sizeColor = Math.round(160-Math.pow((size/(1024*1024)),2)); var lastModifiedTime = Math.round(lastModified.getTime() / 1000); td = $('
';
var files=getSelectedFiles('file');
var fileslist = JSON.stringify(files);
@@ -117,6 +118,7 @@ $(document).ready(function() {
});
$('.delete').click('click',function(event) {
+ event.preventDefault();
console.log("delete selected");
var spinner = '
';
var files=getSelectedFiles('file');
diff --git a/apps/files_trashbin/l10n/bg_BG.php b/apps/files_trashbin/l10n/bg_BG.php
index 288518e1a41..1e0953b013a 100644
--- a/apps/files_trashbin/l10n/bg_BG.php
+++ b/apps/files_trashbin/l10n/bg_BG.php
@@ -1,5 +1,5 @@
"Невъзможно изтриване на %s завинаги",
+"Couldn't delete %s permanently" => "Невъзможно перманентното изтриване на %s",
"Couldn't restore %s" => "Невъзможно възтановяване на %s",
"perform restore operation" => "извършване на действие по възстановяване",
"Error" => "Грешка",
diff --git a/apps/files_trashbin/l10n/he.php b/apps/files_trashbin/l10n/he.php
index e31fdb952ea..853d4e1925a 100644
--- a/apps/files_trashbin/l10n/he.php
+++ b/apps/files_trashbin/l10n/he.php
@@ -1,17 +1,18 @@
"בלתי אפשרי למחוק את %s לצמיתות",
-"Couldn't restore %s" => "בלתי אפשרי לשחזר את %s",
-"perform restore operation" => "בצע פעולת שחזור",
+"Couldn't delete %s permanently" => "לא ניתן למחוק את %s לצמיתות",
+"Couldn't restore %s" => "לא ניתן לשחזר את %s",
+"perform restore operation" => "ביצוע פעולת שחזור",
"Error" => "שגיאה",
-"delete file permanently" => "מחק קובץ לצמיתות",
-"Delete permanently" => "מחק לצמיתות",
+"delete file permanently" => "מחיקת קובץ לצמיתות",
+"Delete permanently" => "מחיקה לצמיתות",
"Name" => "שם",
"Deleted" => "נמחק",
"1 folder" => "תיקייה אחת",
"{count} folders" => "{count} תיקיות",
"1 file" => "קובץ אחד",
"{count} files" => "{count} קבצים",
-"Nothing in here. Your trash bin is empty!" => "שום דבר כאן. סל המחזור שלך ריק!",
-"Restore" => "שחזר",
-"Delete" => "מחיקה"
+"Nothing in here. Your trash bin is empty!" => "אין כאן שום דבר. סל המיחזור שלך ריק!",
+"Restore" => "שחזור",
+"Delete" => "מחיקה",
+"Deleted Files" => "קבצים שנמחקו"
);
diff --git a/apps/files_trashbin/l10n/lt_LT.php b/apps/files_trashbin/l10n/lt_LT.php
index 011de161e42..7df63bd7f28 100644
--- a/apps/files_trashbin/l10n/lt_LT.php
+++ b/apps/files_trashbin/l10n/lt_LT.php
@@ -1,9 +1,18 @@
"Nepavyko negrįžtamai ištrinti %s",
+"Couldn't restore %s" => "Nepavyko atkurti %s",
+"perform restore operation" => "atkurti",
"Error" => "Klaida",
+"delete file permanently" => "failą ištrinti negrįžtamai",
+"Delete permanently" => "Ištrinti negrįžtamai",
"Name" => "Pavadinimas",
+"Deleted" => "Ištrinti",
"1 folder" => "1 aplankalas",
"{count} folders" => "{count} aplankalai",
"1 file" => "1 failas",
"{count} files" => "{count} failai",
-"Delete" => "Ištrinti"
+"Nothing in here. Your trash bin is empty!" => "Nieko nėra. Jūsų šiukšliadėžė tuščia!",
+"Restore" => "Atstatyti",
+"Delete" => "Ištrinti",
+"Deleted Files" => "Ištrinti failai"
);
diff --git a/apps/files_trashbin/l10n/nb_NO.php b/apps/files_trashbin/l10n/nb_NO.php
index e1dce4b3995..43ad0180494 100644
--- a/apps/files_trashbin/l10n/nb_NO.php
+++ b/apps/files_trashbin/l10n/nb_NO.php
@@ -13,5 +13,6 @@
"{count} files" => "{count} filer",
"Nothing in here. Your trash bin is empty!" => "Ingenting her. Søppelkassen din er tom!",
"Restore" => "Gjenopprett",
-"Delete" => "Slett"
+"Delete" => "Slett",
+"Deleted Files" => "Slettet filer"
);
diff --git a/apps/files_trashbin/l10n/nn_NO.php b/apps/files_trashbin/l10n/nn_NO.php
index 8166a024e58..454ea2b0575 100644
--- a/apps/files_trashbin/l10n/nn_NO.php
+++ b/apps/files_trashbin/l10n/nn_NO.php
@@ -1,10 +1,18 @@
"Klarte ikkje sletta %s for godt",
+"Couldn't restore %s" => "Klarte ikkje gjenoppretta %s",
+"perform restore operation" => "utfør gjenoppretting",
"Error" => "Feil",
+"delete file permanently" => "slett fila for godt",
"Delete permanently" => "Slett for godt",
"Name" => "Namn",
+"Deleted" => "Sletta",
"1 folder" => "1 mappe",
"{count} folders" => "{count} mapper",
"1 file" => "1 fil",
"{count} files" => "{count} filer",
-"Delete" => "Slett"
+"Nothing in here. Your trash bin is empty!" => "Ingenting her. Papirkorga di er tom!",
+"Restore" => "Gjenopprett",
+"Delete" => "Slett",
+"Deleted Files" => "Sletta filer"
);
diff --git a/apps/files_trashbin/l10n/ru_RU.php b/apps/files_trashbin/l10n/ru_RU.php
index 178eb531077..8636e417ecb 100644
--- a/apps/files_trashbin/l10n/ru_RU.php
+++ b/apps/files_trashbin/l10n/ru_RU.php
@@ -1,18 +1,5 @@
"%s не может быть удалён навсегда",
-"Couldn't restore %s" => "%s не может быть восстановлен",
-"perform restore operation" => "выполнить операцию восстановления",
"Error" => "Ошибка",
-"delete file permanently" => "удалить файл навсегда",
-"Delete permanently" => "Удалить навсегда",
"Name" => "Имя",
-"Deleted" => "Удалён",
-"1 folder" => "1 папка",
-"{count} folders" => "{количество} папок",
-"1 file" => "1 файл",
-"{count} files" => "{количество} файлов",
-"Nothing in here. Your trash bin is empty!" => "Здесь ничего нет. Ваша корзина пуста!",
-"Restore" => "Восстановить",
-"Delete" => "Удалить",
-"Deleted Files" => "Удаленные файлы"
+"Delete" => "Удалить"
);
diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php
index 7fda855d0c2..1235d9d2ee0 100644
--- a/apps/files_trashbin/lib/trash.php
+++ b/apps/files_trashbin/lib/trash.php
@@ -24,10 +24,22 @@ namespace OCA\Files_Trashbin;
class Trashbin {
// how long do we keep files in the trash bin if no other value is defined in the config file (unit: days)
- const DEFAULT_RETENTION_OBLIGATION=180;
+
+ const DEFAULT_RETENTION_OBLIGATION = 180;
// unit: percentage; 50% of available disk space/quota
- const DEFAULTMAXSIZE=50;
+ const DEFAULTMAXSIZE = 50;
+
+ public static function getUidAndFilename($filename) {
+ $uid = \OC\Files\Filesystem::getOwner($filename);
+ \OC\Files\Filesystem::initMountPoints($uid);
+ if ($uid != \OCP\User::getUser()) {
+ $info = \OC\Files\Filesystem::getFileInfo($filename);
+ $ownerView = new \OC\Files\View('/' . $uid . '/files');
+ $filename = $ownerView->getPath($info['fileid']);
+ }
+ return array($uid, $filename);
+ }
/**
* move file to the trash bin
@@ -36,174 +48,189 @@ class Trashbin {
*/
public static function move2trash($file_path) {
$user = \OCP\User::getUser();
- $view = new \OC\Files\View('/'. $user);
+ $view = new \OC\Files\View('/' . $user);
if (!$view->is_dir('files_trashbin')) {
$view->mkdir('files_trashbin');
- $view->mkdir('files_trashbin/files');
- $view->mkdir('files_trashbin/versions');
- $view->mkdir('files_trashbin/keyfiles');
- $view->mkdir('files_trashbin/share-keys');
}
-
+ if (!$view->is_dir('files_trashbin/files')) {
+ $view->mkdir('files_trashbin/files');
+ }
+ if (!$view->is_dir('files_trashbin/versions')) {
+ $view->mkdir('files_trashbin/versions');
+ }
+ if (!$view->is_dir('files_trashbin/keyfiles')) {
+ $view->mkdir('files_trashbin/keyfiles');
+ }
+ if (!$view->is_dir('files_trashbin/share-keys')) {
+ $view->mkdir('files_trashbin/share-keys');
+ }
$path_parts = pathinfo($file_path);
$filename = $path_parts['basename'];
$location = $path_parts['dirname'];
$timestamp = time();
- $mime = $view->getMimeType('files'.$file_path);
+ $mime = $view->getMimeType('files' . $file_path);
- if ( $view->is_dir('files'.$file_path) ) {
+ if ($view->is_dir('files' . $file_path)) {
$type = 'dir';
} else {
$type = 'file';
}
-
- $trashbinSize = self::getTrashbinSize($user);
- if ( $trashbinSize === false || $trashbinSize < 0 ) {
- $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin'));
- }
-
- $sizeOfAddedFiles = self::copy_recursive($file_path, 'files_trashbin/files/'.$filename.'.d'.$timestamp, $view);
- if ( $view->file_exists('files_trashbin/files/'.$filename.'.d'.$timestamp) ) {
+ $trashbinSize = self::getTrashbinSize($user);
+ if ($trashbinSize === false || $trashbinSize < 0) {
+ $trashbinSize = self::calculateSize(new \OC\Files\View('/' . $user . '/files_trashbin'));
+ }
+
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+ $sizeOfAddedFiles = self::copy_recursive($file_path, 'files_trashbin/files/' . $filename . '.d' . $timestamp, $view);
+ \OC_FileProxy::$enabled = $proxyStatus;
+
+ if ($view->file_exists('files_trashbin/files/' . $filename . '.d' . $timestamp)) {
$trashbinSize += $sizeOfAddedFiles;
$query = \OC_DB::prepare("INSERT INTO `*PREFIX*files_trash` (`id`,`timestamp`,`location`,`type`,`mime`,`user`) VALUES (?,?,?,?,?,?)");
$result = $query->execute(array($filename, $timestamp, $location, $type, $mime, $user));
- if ( !$result ) { // if file couldn't be added to the database than also don't store it in the trash bin.
- $view->deleteAll('files_trashbin/files/'.$filename.'.d'.$timestamp);
+ if (!$result) { // if file couldn't be added to the database than also don't store it in the trash bin.
+ $view->deleteAll('files_trashbin/files/' . $filename . '.d' . $timestamp);
\OC_Log::write('files_trashbin', 'trash bin database couldn\'t be updated', \OC_log::ERROR);
return;
}
- \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_moveToTrash',
- array('filePath' => \OC\Files\Filesystem::normalizePath($file_path),
- 'trashPath' => \OC\Files\Filesystem::normalizePath($filename.'.d'.$timestamp)));
+ \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_moveToTrash', array('filePath' => \OC\Files\Filesystem::normalizePath($file_path),
+ 'trashPath' => \OC\Files\Filesystem::normalizePath($filename . '.d' . $timestamp)));
$trashbinSize += self::retainVersions($view, $file_path, $filename, $timestamp);
$trashbinSize += self::retainEncryptionKeys($view, $file_path, $filename, $timestamp);
-
} else {
- \OC_Log::write('files_trashbin', 'Couldn\'t move '.$file_path.' to the trash bin', \OC_log::ERROR);
+ \OC_Log::write('files_trashbin', 'Couldn\'t move ' . $file_path . ' to the trash bin', \OC_log::ERROR);
}
$trashbinSize -= self::expire($trashbinSize);
-
- self::setTrashbinSize($user, $trashbinSize);
+ self::setTrashbinSize($user, $trashbinSize);
}
- /**
- * Move file versions to trash so that they can be restored later
- *
- * @param \OC\Files\View $view
- * @param $file_path path to original file
- * @param $filename of deleted file
- * @param $timestamp when the file was deleted
- *
- * @return size of stored versions
- */
+ /**
+ * Move file versions to trash so that they can be restored later
+ *
+ * @param \OC\Files\View $view
+ * @param $file_path path to original file
+ * @param $filename of deleted file
+ * @param $timestamp when the file was deleted
+ *
+ * @return size of stored versions
+ */
private static function retainVersions($view, $file_path, $filename, $timestamp) {
$size = 0;
- if (\OCP\App::isEnabled('files_versions')) {
+ if (\OCP\App::isEnabled('files_versions')) {
- // disable proxy to prevent recursive calls
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
- $user = \OCP\User::getUser();
- if ($view->is_dir('files_versions/' . $file_path)) {
- $size += self::calculateSize(new \OC\Files\View('/' . $user . '/files_versions/' . $file_path));
- $view->rename('files_versions/' . $file_path, 'files_trashbin/versions/' . $filename . '.d' . $timestamp);
- } else if ($versions = \OCA\Files_Versions\Storage::getVersions($user, $file_path)) {
- foreach ($versions as $v) {
- $size += $view->filesize('files_versions' . $v['path'] . '.v' . $v['version']);
- $view->rename('files_versions' . $v['path'] . '.v' . $v['version'], 'files_trashbin/versions/' . $filename . '.v' . $v['version'] . '.d' . $timestamp);
+ $user = \OCP\User::getUser();
+ $rootView = new \OC\Files\View('/');
+
+ list($owner, $ownerPath) = self::getUidAndFilename($file_path);
+
+ if ($rootView->is_dir($owner . '/files_versions/' . $ownerPath)) {
+ $size += self::calculateSize(new \OC\Files\View('/' . $owner . '/files_versions/' . $ownerPath));
+ $rootView->rename($owner . '/files_versions/' . $ownerPath, $user . '/files_trashbin/versions/' . $filename . '.d' . $timestamp);
+ } else if ($versions = \OCA\Files_Versions\Storage::getVersions($owner, $ownerPath)) {
+ foreach ($versions as $v) {
+ $size += $rootView->filesize($owner . '/files_versions' . $v['path'] . '.v' . $v['version']);
+ $rootView->rename($owner . '/files_versions' . $v['path'] . '.v' . $v['version'], $user . '/files_trashbin/versions/' . $filename . '.v' . $v['version'] . '.d' . $timestamp);
}
}
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
}
return $size;
}
- /**
- * Move encryption keys to trash so that they can be restored later
- *
- * @param \OC\Files\View $view
- * @param $file_path path to original file
- * @param $filename of deleted file
- * @param $timestamp when the file was deleted
- *
- * @return size of encryption keys
- */
+ /**
+ * Move encryption keys to trash so that they can be restored later
+ *
+ * @param \OC\Files\View $view
+ * @param $file_path path to original file
+ * @param $filename of deleted file
+ * @param $timestamp when the file was deleted
+ *
+ * @return size of encryption keys
+ */
private static function retainEncryptionKeys($view, $file_path, $filename, $timestamp) {
$size = 0;
if (\OCP\App::isEnabled('files_encryption')) {
$user = \OCP\User::getUser();
+ $rootView = new \OC\Files\View('/');
- // disable proxy to prevent recursive calls
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
+ list($owner, $ownerPath) = self::getUidAndFilename($file_path);
- // retain key files
- $keyfile = \OC\Files\Filesystem::normalizePath('files_encryption/keyfiles/' . $file_path);
- if ($view->is_dir($keyfile) || $view->file_exists($keyfile . '.key')) {
- $user = \OCP\User::getUser();
- // move keyfiles
- if ($view->is_dir($keyfile)) {
- $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile));
- $view->rename($keyfile, 'files_trashbin/keyfiles/' . $filename . '.d' . $timestamp);
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
+ // retain key files
+ $keyfile = \OC\Files\Filesystem::normalizePath($owner . '/files_encryption/keyfiles/' . $ownerPath);
+
+ if ($rootView->is_dir($keyfile) || $rootView->file_exists($keyfile . '.key')) {
+ // move keyfiles
+ if ($rootView->is_dir($keyfile)) {
+ $size += self::calculateSize(new \OC\Files\View($keyfile));
+ $rootView->rename($keyfile, $user . '/files_trashbin/keyfiles/' . $filename . '.d' . $timestamp);
} else {
- $size += $view->filesize($keyfile . '.key');
- $view->rename($keyfile . '.key', 'files_trashbin/keyfiles/' . $filename . '.key.d' . $timestamp);
+ $size += $rootView->filesize($keyfile . '.key');
+ $rootView->rename($keyfile . '.key', $user . '/files_trashbin/keyfiles/' . $filename . '.key.d' . $timestamp);
}
}
- // retain share keys
- $sharekeys = \OC\Files\Filesystem::normalizePath('files_encryption/share-keys/' . $file_path);
+ // retain share keys
+ $sharekeys = \OC\Files\Filesystem::normalizePath($owner . '/files_encryption/share-keys/' . $ownerPath);
- if ($view->is_dir($sharekeys)) {
- $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $sharekeys));
- $view->rename($sharekeys, 'files_trashbin/share-keys/' . $filename . '.d' . $timestamp);
+ if ($rootView->is_dir($sharekeys)) {
+ $size += self::calculateSize(new \OC\Files\View($sharekeys));
+ $rootView->rename($sharekeys, $user . '/files_trashbin/share-keys/' . $filename . '.d' . $timestamp);
} else {
- // get local path to share-keys
- $localShareKeysPath = $view->getLocalFile($sharekeys);
+ // get local path to share-keys
+ $localShareKeysPath = $rootView->getLocalFile($sharekeys);
+ $escapedLocalShareKeysPath = preg_replace('/(\*|\?|\[)/', '[$1]', $localShareKeysPath);
- // handle share-keys
- $matches = glob(preg_quote($localShareKeysPath).'*.shareKey');
- foreach ($matches as $src) {
- // get source file parts
- $pathinfo = pathinfo($src);
+ // handle share-keys
+ $matches = glob($escapedLocalShareKeysPath . '*.shareKey');
+ foreach ($matches as $src) {
+ // get source file parts
+ $pathinfo = pathinfo($src);
- // we only want to keep the owners key so we can access the private key
- $ownerShareKey = $filename . '.' . $user. '.shareKey';
+ // we only want to keep the owners key so we can access the private key
+ $ownerShareKey = $filename . '.' . $user . '.shareKey';
- // if we found the share-key for the owner, we need to move it to files_trashbin
- if($pathinfo['basename'] == $ownerShareKey) {
+ // if we found the share-key for the owner, we need to move it to files_trashbin
+ if ($pathinfo['basename'] == $ownerShareKey) {
- // calculate size
- $size += $view->filesize($sharekeys. '.' . $user. '.shareKey');
+ // calculate size
+ $size += $rootView->filesize($sharekeys . '.' . $user . '.shareKey');
- // move file
- $view->rename($sharekeys. '.' . $user. '.shareKey', 'files_trashbin/share-keys/' . $ownerShareKey . '.d' . $timestamp);
- } else {
+ // move file
+ $rootView->rename($sharekeys . '.' . $user . '.shareKey', $user . '/files_trashbin/share-keys/' . $ownerShareKey . '.d' . $timestamp);
+ } else {
- // calculate size
- $size += filesize($src);
-
- // don't keep other share-keys
- unlink($src);
- }
- }
+ // calculate size
+ $size += filesize($src);
- }
+ // don't keep other share-keys
+ unlink($src);
+ }
+ }
+ }
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
}
return $size;
}
@@ -213,95 +240,94 @@ class Trashbin {
* @param $file path to the deleted file
* @param $filename name of the file
* @param $timestamp time when the file was deleted
- *
- * @return bool
- */
+ *
+ * @return bool
+ */
public static function restore($file, $filename, $timestamp) {
- $user = \OCP\User::getUser();
- $view = new \OC\Files\View('/'.$user);
-
+ $user = \OCP\User::getUser();
+ $view = new \OC\Files\View('/' . $user);
+
$trashbinSize = self::getTrashbinSize($user);
- if ( $trashbinSize === false || $trashbinSize < 0 ) {
- $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin'));
+ if ($trashbinSize === false || $trashbinSize < 0) {
+ $trashbinSize = self::calculateSize(new \OC\Files\View('/' . $user . '/files_trashbin'));
}
- if ( $timestamp ) {
+ if ($timestamp) {
$query = \OC_DB::prepare('SELECT `location`,`type` FROM `*PREFIX*files_trash`'
- .' WHERE `user`=? AND `id`=? AND `timestamp`=?');
- $result = $query->execute(array($user,$filename,$timestamp))->fetchAll();
- if ( count($result) != 1 ) {
+ . ' WHERE `user`=? AND `id`=? AND `timestamp`=?');
+ $result = $query->execute(array($user, $filename, $timestamp))->fetchAll();
+ if (count($result) != 1) {
\OC_Log::write('files_trashbin', 'trash bin database inconsistent!', \OC_Log::ERROR);
return false;
}
// if location no longer exists, restore file in the root directory
$location = $result[0]['location'];
- if ( $result[0]['location'] != '/' &&
- (!$view->is_dir('files'.$result[0]['location']) ||
- !$view->isUpdatable('files'.$result[0]['location'])) ) {
+ if ($result[0]['location'] != '/' &&
+ (!$view->is_dir('files' . $result[0]['location']) ||
+ !$view->isUpdatable('files' . $result[0]['location']))) {
$location = '';
}
} else {
$path_parts = pathinfo($file);
$result[] = array(
- 'location' => $path_parts['dirname'],
- 'type' => $view->is_dir('/files_trashbin/files/'.$file) ? 'dir' : 'files',
- );
+ 'location' => $path_parts['dirname'],
+ 'type' => $view->is_dir('/files_trashbin/files/' . $file) ? 'dir' : 'files',
+ );
$location = '';
}
-
- $source = \OC\Files\Filesystem::normalizePath('files_trashbin/files/'.$file);
- $target = \OC\Files\Filesystem::normalizePath('files/'.$location.'/'.$filename);
+
+ $source = \OC\Files\Filesystem::normalizePath('files_trashbin/files/' . $file);
+ $target = \OC\Files\Filesystem::normalizePath('files/' . $location . '/' . $filename);
// we need a extension in case a file/dir with the same name already exists
$ext = self::getUniqueExtension($location, $filename, $view);
$mtime = $view->filemtime($source);
- // disable proxy to prevent recursive calls
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
- // restore file
- $restoreResult = $view->rename($source, $target.$ext);
+ // restore file
+ $restoreResult = $view->rename($source, $target . $ext);
- // handle the restore result
- if( $restoreResult ) {
+ // handle the restore result
+ if ($restoreResult) {
$fakeRoot = $view->getRoot();
- $view->chroot('/'.$user.'/files');
- $view->touch('/'.$location.'/'.$filename.$ext, $mtime);
+ $view->chroot('/' . $user . '/files');
+ $view->touch('/' . $location . '/' . $filename . $ext, $mtime);
$view->chroot($fakeRoot);
- \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_restore',
- array('filePath' => \OC\Files\Filesystem::normalizePath('/'.$location.'/'.$filename.$ext),
- 'trashPath' => \OC\Files\Filesystem::normalizePath($file)));
- if ($view->is_dir($target.$ext)) {
- $trashbinSize -= self::calculateSize(new \OC\Files\View('/'.$user.'/'.$target.$ext));
+ \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', array('filePath' => \OC\Files\Filesystem::normalizePath('/' . $location . '/' . $filename . $ext),
+ 'trashPath' => \OC\Files\Filesystem::normalizePath($file)));
+ if ($view->is_dir($target . $ext)) {
+ $trashbinSize -= self::calculateSize(new \OC\Files\View('/' . $user . '/' . $target . $ext));
} else {
- $trashbinSize -= $view->filesize($target.$ext);
+ $trashbinSize -= $view->filesize($target . $ext);
}
- $trashbinSize -= self::restoreVersions($view, $file, $filename, $ext, $location, $timestamp);
+ $trashbinSize -= self::restoreVersions($view, $file, $filename, $ext, $location, $timestamp);
$trashbinSize -= self::restoreEncryptionKeys($view, $file, $filename, $ext, $location, $timestamp);
- if ( $timestamp ) {
+ if ($timestamp) {
$query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_trash` WHERE `user`=? AND `id`=? AND `timestamp`=?');
- $query->execute(array($user,$filename,$timestamp));
+ $query->execute(array($user, $filename, $timestamp));
}
self::setTrashbinSize($user, $trashbinSize);
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
return true;
}
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
return false;
}
- /**
+ /**
* @brief restore versions from trash bin
*
* @param \OC\Files\View $view file view
@@ -310,216 +336,246 @@ class Trashbin {
* @param $ext file extension in case a file with the same $filename already exists
* @param $location location if file
* @param $timestamp deleteion time
- *
+ *
* @return size of restored versions
*/
private static function restoreVersions($view, $file, $filename, $ext, $location, $timestamp) {
$size = 0;
if (\OCP\App::isEnabled('files_versions')) {
- // disable proxy to prevent recursive calls
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
+ $user = \OCP\User::getUser();
+ $rootView = new \OC\Files\View('/');
+
+ $target = \OC\Files\Filesystem::normalizePath('/' . $location . '/' . $filename . $ext);
+
+ list($owner, $ownerPath) = self::getUidAndFilename($target);
- $user = \OCP\User::getUser();
if ($timestamp) {
$versionedFile = $filename;
} else {
$versionedFile = $file;
}
- if ($view->is_dir('/files_trashbin/versions/'.$file)) {
+ if ($view->is_dir('/files_trashbin/versions/' . $file)) {
$size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . 'files_trashbin/versions/' . $file));
- $view->rename(\OC\Files\Filesystem::normalizePath('files_trashbin/versions/' . $file), \OC\Files\Filesystem::normalizePath('files_versions/' . $location . '/' . $filename . $ext));
+ $rootView->rename(\OC\Files\Filesystem::normalizePath($user . '/files_trashbin/versions/' . $file), \OC\Files\Filesystem::normalizePath($owner . '/files_versions/' . $ownerPath));
} else if ($versions = self::getVersionsFromTrash($versionedFile, $timestamp)) {
- foreach ($versions as $v) {
- if ($timestamp) {
- $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp);
- $view->rename('files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp, 'files_versions/' . $location . '/' . $filename . $ext . '.v' . $v);
+ foreach ($versions as $v) {
+ if ($timestamp) {
+ $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp);
+ $rootView->rename($user . '/files_trashbin/versions/' . $versionedFile . '.v' . $v . '.d' . $timestamp, $owner . '/files_versions/' . $ownerPath . '.v' . $v);
} else {
- $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v);
- $view->rename('files_trashbin/versions/' . $versionedFile . '.v' . $v, 'files_versions/' . $location . '/' . $filename . $ext . '.v' . $v);
+ $size += $view->filesize('files_trashbin/versions/' . $versionedFile . '.v' . $v);
+ $rootView->rename($user . '/files_trashbin/versions/' . $versionedFile . '.v' . $v, $owner . '/files_versions/' . $ownerPath . '.v' . $v);
}
}
}
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
}
return $size;
}
-
- /**
- * @brief restore encryption keys from trash bin
- *
- * @param \OC\Files\View $view
- * @param $file complete path to file
- * @param $filename name of file
- * @param $ext file extension in case a file with the same $filename already exists
- * @param $location location if file
- * @param $timestamp deleteion time
- *
- * @return size of restored encrypted file
- */
- private static function restoreEncryptionKeys($view, $file, $filename, $ext, $location, $timestamp) {
+ /**
+ * @brief restore encryption keys from trash bin
+ *
+ * @param \OC\Files\View $view
+ * @param $file complete path to file
+ * @param $filename name of file
+ * @param $ext file extension in case a file with the same $filename already exists
+ * @param $location location of file
+ * @param $timestamp deleteion time
+ *
+ * @return size of restored encrypted file
+ */
+ private static function restoreEncryptionKeys($view, $file, $filename, $ext, $location, $timestamp) {
// Take care of encryption keys TODO! Get '.key' in file between file name and delete date (also for permanent delete!)
$size = 0;
if (\OCP\App::isEnabled('files_encryption')) {
$user = \OCP\User::getUser();
+ $rootView = new \OC\Files\View('/');
- $path_parts = pathinfo($file);
- $source_location = $path_parts['dirname'];
+ $target = \OC\Files\Filesystem::normalizePath('/' . $location . '/' . $filename . $ext);
- if ($view->is_dir('/files_trashbin/keyfiles/'.$file)) {
- if($source_location != '.') {
- $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $source_location . '/' . $filename);
- $sharekey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $source_location . '/' . $filename);
- } else {
- $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename);
- $sharekey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename);
- }
- } else {
- $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $source_location . '/' . $filename . '.key');
- }
+ list($owner, $ownerPath) = self::getUidAndFilename($target);
- if ($timestamp) {
- $keyfile .= '.d' . $timestamp;
- }
-
- // disable proxy to prevent recursive calls
- $proxyStatus = \OC_FileProxy::$enabled;
- \OC_FileProxy::$enabled = false;
-
- if ($view->file_exists($keyfile)) {
- // handle directory
- if ($view->is_dir($keyfile)) {
-
- // handle keyfiles
- $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile));
- $view->rename($keyfile, 'files_encryption/keyfiles/' . $location . '/' . $filename . $ext);
-
- // handle share-keys
- if ($timestamp) {
- $sharekey .= '.d' . $timestamp;
- }
- $view->rename($sharekey, 'files_encryption/share-keys/' . $location . '/' . $filename . $ext);
+ $path_parts = pathinfo($file);
+ $source_location = $path_parts['dirname'];
+ if ($view->is_dir('/files_trashbin/keyfiles/' . $file)) {
+ if ($source_location != '.') {
+ $keyfile = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/keyfiles/' . $source_location . '/' . $filename);
+ $sharekey = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/share-keys/' . $source_location . '/' . $filename);
} else {
- // handle keyfiles
- $size += $view->filesize($keyfile);
- $view->rename($keyfile, 'files_encryption/keyfiles/' . $location . '/' . $filename . $ext . '.key');
+ $keyfile = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/keyfiles/' . $filename);
+ $sharekey = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/share-keys/' . $filename);
+ }
+ } else {
+ $keyfile = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/keyfiles/' . $source_location . '/' . $filename . '.key');
+ }
- // handle share-keys
- $ownerShareKey = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $source_location . '/' . $filename . '.' . $user. '.shareKey');
- if ($timestamp) {
- $ownerShareKey .= '.d' . $timestamp;
- }
+ if ($timestamp) {
+ $keyfile .= '.d' . $timestamp;
+ }
- $size += $view->filesize($ownerShareKey);
+ // disable proxy to prevent recursive calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
- // move only owners key
- $view->rename($ownerShareKey, 'files_encryption/share-keys/' . $location . '/' . $filename . $ext . '.' . $user. '.shareKey');
+ if ($rootView->file_exists($keyfile)) {
+ // handle directory
+ if ($rootView->is_dir($keyfile)) {
- // try to re-share if file is shared
- $filesystemView = new \OC_FilesystemView('/');
- $session = new \OCA\Encryption\Session($filesystemView);
- $util = new \OCA\Encryption\Util($filesystemView, $user);
+ // handle keyfiles
+ $size += self::calculateSize(new \OC\Files\View($keyfile));
+ $rootView->rename($keyfile, $owner . '/files_encryption/keyfiles/' . $ownerPath);
- // fix the file size
- $absolutePath = \OC\Files\Filesystem::normalizePath('/' . $user . '/files/'. $location. '/' .$filename);
- $util->fixFileSize($absolutePath);
+ // handle share-keys
+ if ($timestamp) {
+ $sharekey .= '.d' . $timestamp;
+ }
+ $size += self::calculateSize(new \OC\Files\View($sharekey));
+ $rootView->rename($sharekey, $owner . '/files_encryption/share-keys/' . $ownerPath);
+ } else {
+ // handle keyfiles
+ $size += $rootView->filesize($keyfile);
+ $rootView->rename($keyfile, $owner . '/files_encryption/keyfiles/' . $ownerPath . '.key');
- // get current sharing state
- $sharingEnabled = \OCP\Share::isEnabled();
+ // handle share-keys
+ $ownerShareKey = \OC\Files\Filesystem::normalizePath($user . '/files_trashbin/share-keys/' . $source_location . '/' . $filename . '.' . $user . '.shareKey');
+ if ($timestamp) {
+ $ownerShareKey .= '.d' . $timestamp;
+ }
- // get the final filename
- $target = \OC\Files\Filesystem::normalizePath($location.'/'.$filename);
+ $size += $rootView->filesize($ownerShareKey);
- // get users sharing this file
- $usersSharing = $util->getSharingUsersArray($sharingEnabled, $target.$ext, $user);
+ // move only owners key
+ $rootView->rename($ownerShareKey, $owner . '/files_encryption/share-keys/' . $ownerPath . '.' . $user . '.shareKey');
- // Attempt to set shareKey
- $util->setSharedFileKeyfiles($session, $usersSharing, $target.$ext);
+ // try to re-share if file is shared
+ $filesystemView = new \OC_FilesystemView('/');
+ $session = new \OCA\Encryption\Session($filesystemView);
+ $util = new \OCA\Encryption\Util($filesystemView, $user);
+
+ // fix the file size
+ $absolutePath = \OC\Files\Filesystem::normalizePath('/' . $owner . '/files/' . $ownerPath);
+ $util->fixFileSize($absolutePath);
+
+ // get current sharing state
+ $sharingEnabled = \OCP\Share::isEnabled();
+
+ // get the final filename
+ $target = \OC\Files\Filesystem::normalizePath($location . '/' . $filename);
+
+ // get users sharing this file
+ $usersSharing = $util->getSharingUsersArray($sharingEnabled, $target . $ext, $user);
+
+ // Attempt to set shareKey
+ $util->setSharedFileKeyfiles($session, $usersSharing, $target . $ext);
}
}
- // enable proxy
- \OC_FileProxy::$enabled = $proxyStatus;
+ // enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
}
return $size;
}
/**
* @brief delete file from trash bin permanently
- *
+ *
* @param $filename path to the file
* @param $timestamp of deletion time
- *
+ *
* @return size of deleted files
*/
- public static function delete($filename, $timestamp=null) {
+ public static function delete($filename, $timestamp = null) {
$user = \OCP\User::getUser();
- $view = new \OC\Files\View('/'.$user);
+ $view = new \OC\Files\View('/' . $user);
$size = 0;
-
+
$trashbinSize = self::getTrashbinSize($user);
- if ( $trashbinSize === false || $trashbinSize < 0 ) {
- $trashbinSize = self::calculateSize(new \OC\Files\View('/'. $user.'/files_trashbin'));
+ if ($trashbinSize === false || $trashbinSize < 0) {
+ $trashbinSize = self::calculateSize(new \OC\Files\View('/' . $user . '/files_trashbin'));
}
- if ( $timestamp ) {
+ if ($timestamp) {
$query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_trash` WHERE `user`=? AND `id`=? AND `timestamp`=?');
- $query->execute(array($user,$filename,$timestamp));
- $file = $filename.'.d'.$timestamp;
+ $query->execute(array($user, $filename, $timestamp));
+ $file = $filename . '.d' . $timestamp;
} else {
$file = $filename;
}
- if ( \OCP\App::isEnabled('files_versions') ) {
- if ($view->is_dir('files_trashbin/versions/'.$file)) {
- $size += self::calculateSize(new \OC\Files\view('/'.$user.'/files_trashbin/versions/'.$file));
- $view->unlink('files_trashbin/versions/'.$file);
- } else if ( $versions = self::getVersionsFromTrash($filename, $timestamp) ) {
+ $size += self::deleteVersions($view, $file, $filename, $timestamp);
+ $size += self::deleteEncryptionKeys($view, $file, $filename, $timestamp);
+
+ if ($view->is_dir('/files_trashbin/files/' . $file)) {
+ $size += self::calculateSize(new \OC\Files\View('/' . $user . '/files_trashbin/files/' . $file));
+ } else {
+ $size += $view->filesize('/files_trashbin/files/' . $file);
+ }
+ $view->unlink('/files_trashbin/files/' . $file);
+ $trashbinSize -= $size;
+ self::setTrashbinSize($user, $trashbinSize);
+
+ return $size;
+ }
+
+ private static function deleteVersions($view, $file, $filename, $timestamp) {
+ $size = 0;
+ if (\OCP\App::isEnabled('files_versions')) {
+ $user = \OCP\User::getUser();
+ if ($view->is_dir('files_trashbin/versions/' . $file)) {
+ $size += self::calculateSize(new \OC\Files\view('/' . $user . '/files_trashbin/versions/' . $file));
+ $view->unlink('files_trashbin/versions/' . $file);
+ } else if ($versions = self::getVersionsFromTrash($filename, $timestamp)) {
foreach ($versions as $v) {
- if ($timestamp ) {
- $size += $view->filesize('/files_trashbin/versions/'.$filename.'.v'.$v.'.d'.$timestamp);
- $view->unlink('/files_trashbin/versions/'.$filename.'.v'.$v.'.d'.$timestamp);
+ if ($timestamp) {
+ $size += $view->filesize('/files_trashbin/versions/' . $filename . '.v' . $v . '.d' . $timestamp);
+ $view->unlink('/files_trashbin/versions/' . $filename . '.v' . $v . '.d' . $timestamp);
} else {
- $size += $view->filesize('/files_trashbin/versions/'.$filename.'.v'.$v);
- $view->unlink('/files_trashbin/versions/'.$filename.'.v'.$v);
+ $size += $view->filesize('/files_trashbin/versions/' . $filename . '.v' . $v);
+ $view->unlink('/files_trashbin/versions/' . $filename . '.v' . $v);
}
}
}
}
-
- // Take care of encryption keys
- $parts = pathinfo($file);
- if ( $view->is_dir('/files_trashbin/files/'.$file) ) {
- $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename);
- } else {
- $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename.'.key');
- }
- if ($timestamp) {
- $keyfile .= '.d'.$timestamp;
- }
- if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) {
- if ( $view->is_dir($keyfile) ) {
- $size += self::calculateSize(new \OC\Files\View('/'.$user.'/'.$keyfile));
+ return $size;
+ }
+
+ private static function deleteEncryptionKeys($view, $file, $filename, $timestamp) {
+ $size = 0;
+ if (\OCP\App::isEnabled('files_encryption')) {
+ $user = \OCP\User::getUser();
+
+ if ($view->is_dir('/files_trashbin/files/' . $file)) {
+ $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename);
+ $sharekeys = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename);
} else {
- $size += $view->filesize($keyfile);
+ $keyfile = \OC\Files\Filesystem::normalizePath('files_trashbin/keyfiles/' . $filename . '.key');
+ $sharekeys = \OC\Files\Filesystem::normalizePath('files_trashbin/share-keys/' . $filename . '.' . $user . '.shareKey');
+ }
+ if ($timestamp) {
+ $keyfile .= '.d' . $timestamp;
+ $sharekeys .= '.d' . $timestamp;
+ }
+ if ($view->file_exists($keyfile)) {
+ if ($view->is_dir($keyfile)) {
+ $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $keyfile));
+ $size += self::calculateSize(new \OC\Files\View('/' . $user . '/' . $sharekeys));
+ } else {
+ $size += $view->filesize($keyfile);
+ $size += $view->filesize($sharekeys);
+ }
+ $view->unlink($keyfile);
+ $view->unlink($sharekeys);
}
- $view->unlink($keyfile);
}
-
- if ($view->is_dir('/files_trashbin/files/'.$file)) {
- $size += self::calculateSize(new \OC\Files\View('/'.$user.'/files_trashbin/files/'.$file));
- } else {
- $size += $view->filesize('/files_trashbin/files/'.$file);
- }
- $view->unlink('/files_trashbin/files/'.$file);
- $trashbinSize -= $size;
- self::setTrashbinSize($user, $trashbinSize);
-
return $size;
}
@@ -529,17 +585,17 @@ class Trashbin {
* @param $timestamp of deletion time
* @return true if file exists, otherwise false
*/
- public static function file_exists($filename, $timestamp=null) {
+ public static function file_exists($filename, $timestamp = null) {
$user = \OCP\User::getUser();
- $view = new \OC\Files\View('/'.$user);
+ $view = new \OC\Files\View('/' . $user);
if ($timestamp) {
- $filename = $filename.'.d'.$timestamp;
+ $filename = $filename . '.d' . $timestamp;
} else {
$filename = $filename;
}
- $target = \OC\Files\Filesystem::normalizePath('files_trashbin/files/'.$filename);
+ $target = \OC\Files\Filesystem::normalizePath('files_trashbin/files/' . $filename);
return $view->file_exists($target);
}
@@ -569,11 +625,11 @@ class Trashbin {
$softQuota = true;
$user = \OCP\User::getUser();
$quota = \OC_Preferences::getValue($user, 'files', 'quota');
- $view = new \OC\Files\View('/'.$user);
- if ( $quota === null || $quota === 'default') {
+ $view = new \OC\Files\View('/' . $user);
+ if ($quota === null || $quota === 'default') {
$quota = \OC_Appconfig::getValue('files', 'default_quota');
}
- if ( $quota === null || $quota === 'none' ) {
+ if ($quota === null || $quota === 'none') {
$quota = \OC\Files\Filesystem::free_space('/');
$softQuota = false;
} else {
@@ -584,11 +640,11 @@ class Trashbin {
// subtract size of files and current trash bin size from quota
if ($softQuota) {
$rootInfo = $view->getFileInfo('/files/');
- $free = $quota-$rootInfo['size']; // remaining free space for user
- if ( $free > 0 ) {
+ $free = $quota - $rootInfo['size']; // remaining free space for user
+ if ($free > 0) {
$availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $trashbinSize; // how much space can be used for versions
} else {
- $availableSpace = $free-$trashbinSize;
+ $availableSpace = $free - $trashbinSize;
}
} else {
$availableSpace = $quota;
@@ -604,43 +660,40 @@ class Trashbin {
private static function expire($trashbinSize) {
$user = \OCP\User::getUser();
- $view = new \OC\Files\View('/'.$user);
+ $view = new \OC\Files\View('/' . $user);
$availableSpace = self::calculateFreeSpace($trashbinSize);
$size = 0;
$query = \OC_DB::prepare('SELECT `location`,`type`,`id`,`timestamp` FROM `*PREFIX*files_trash` WHERE `user`=?');
$result = $query->execute(array($user))->fetchAll();
- $retention_obligation = \OC_Config::getValue('trashbin_retention_obligation',
- self::DEFAULT_RETENTION_OBLIGATION);
+ $retention_obligation = \OC_Config::getValue('trashbin_retention_obligation', self::DEFAULT_RETENTION_OBLIGATION);
$limit = time() - ($retention_obligation * 86400);
- foreach ( $result as $r ) {
+ foreach ($result as $r) {
$timestamp = $r['timestamp'];
$filename = $r['id'];
- if ( $r['timestamp'] < $limit ) {
+ if ($r['timestamp'] < $limit) {
$size += self::delete($filename, $timestamp);
- \OC_Log::write('files_trashbin', 'remove "'.$filename.'" fom trash bin because it is older than '.$retention_obligation, \OC_log::INFO);
+ \OC_Log::write('files_trashbin', 'remove "' . $filename . '" fom trash bin because it is older than ' . $retention_obligation, \OC_log::INFO);
}
}
$availableSpace = $availableSpace + $size;
// if size limit for trash bin reached, delete oldest files in trash bin
if ($availableSpace < 0) {
$query = \OC_DB::prepare('SELECT `location`,`type`,`id`,`timestamp` FROM `*PREFIX*files_trash`'
- .' WHERE `user`=? ORDER BY `timestamp` ASC');
+ . ' WHERE `user`=? ORDER BY `timestamp` ASC');
$result = $query->execute(array($user))->fetchAll();
$length = count($result);
$i = 0;
- while ( $i < $length && $availableSpace < 0 ) {
+ while ($i < $length && $availableSpace < 0) {
$tmp = self::delete($result[$i]['id'], $result[$i]['timestamp']);
- \OC_Log::write('files_trashbin', 'remove "'.$result[$i]['id'].'" ('.$tmp.'B) to meet the limit of trash bin size (50% of available quota)', \OC_log::INFO);
+ \OC_Log::write('files_trashbin', 'remove "' . $result[$i]['id'] . '" (' . $tmp . 'B) to meet the limit of trash bin size (50% of available quota)', \OC_log::INFO);
$availableSpace += $tmp;
$size += $tmp;
$i++;
}
-
-
}
return $size;
@@ -653,25 +706,25 @@ class Trashbin {
* @param $destination destination path relative to the users root directoy
* @param $view file view for the users root directory
*/
- private static function copy_recursive( $source, $destination, $view ) {
+ private static function copy_recursive($source, $destination, $view) {
$size = 0;
- if ( $view->is_dir( 'files'.$source ) ) {
- $view->mkdir( $destination );
- $view->touch($destination, $view->filemtime('files'.$source));
- foreach ( \OC_Files::getDirectoryContent($source) as $i ) {
- $pathDir = $source.'/'.$i['name'];
- if ( $view->is_dir('files'.$pathDir) ) {
- $size += self::copy_recursive($pathDir, $destination.'/'.$i['name'], $view);
+ if ($view->is_dir('files' . $source)) {
+ $view->mkdir($destination);
+ $view->touch($destination, $view->filemtime('files' . $source));
+ foreach (\OC_Files::getDirectoryContent($source) as $i) {
+ $pathDir = $source . '/' . $i['name'];
+ if ($view->is_dir('files' . $pathDir)) {
+ $size += self::copy_recursive($pathDir, $destination . '/' . $i['name'], $view);
} else {
- $size += $view->filesize('files'.$pathDir);
- $view->copy( 'files'.$pathDir, $destination . '/' . $i['name'] );
- $view->touch($destination . '/' . $i['name'], $view->filemtime('files'.$pathDir));
+ $size += $view->filesize('files' . $pathDir);
+ $view->copy('files' . $pathDir, $destination . '/' . $i['name']);
+ $view->touch($destination . '/' . $i['name'], $view->filemtime('files' . $pathDir));
}
}
} else {
- $size += $view->filesize('files'.$source);
- $view->copy( 'files'.$source, $destination );
- $view->touch($destination, $view->filemtime('files'.$source));
+ $size += $view->filesize('files' . $source);
+ $view->copy('files' . $source, $destination);
+ $view->touch($destination, $view->filemtime('files' . $source));
}
return $size;
}
@@ -682,24 +735,25 @@ class Trashbin {
* @param $timestamp timestamp when the file was deleted
*/
private static function getVersionsFromTrash($filename, $timestamp) {
- $view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_trashbin/versions');
- $versionsName = $view->getLocalFile($filename);
+ $view = new \OC\Files\View('/' . \OCP\User::getUser() . '/files_trashbin/versions');
+ $versionsName = $view->getLocalFile($filename) . '.v';
+ $escapedVersionsName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
$versions = array();
- if ($timestamp ) {
+ if ($timestamp) {
// fetch for old versions
- $matches = glob( $versionsName.'.v*.d'.$timestamp );
- $offset = -strlen($timestamp)-2;
+ $matches = glob($escapedVersionsName . '*.d' . $timestamp);
+ $offset = -strlen($timestamp) - 2;
} else {
- $matches = glob( $versionsName.'.v*' );
+ $matches = glob($escapedVersionsName . '*');
}
- foreach( $matches as $ma ) {
- if ( $timestamp ) {
- $parts = explode( '.v', substr($ma, 0, $offset) );
- $versions[] = ( end( $parts ) );
+ foreach ($matches as $ma) {
+ if ($timestamp) {
+ $parts = explode('.v', substr($ma, 0, $offset));
+ $versions[] = ( end($parts) );
} else {
- $parts = explode( '.v', $ma );
- $versions[] = ( end( $parts ) );
+ $parts = explode('.v', $ma);
+ $versions[] = ( end($parts) );
}
}
return $versions;
@@ -714,12 +768,12 @@ class Trashbin {
*/
private static function getUniqueExtension($location, $filename, $view) {
$ext = '';
- if ( $view->file_exists('files'.$location.'/'.$filename) ) {
+ if ($view->file_exists('files' . $location . '/' . $filename)) {
$tmpext = '.restored';
$ext = $tmpext;
$i = 1;
- while ( $view->file_exists('files'.$location.'/'.$filename.$ext) ) {
- $ext = $tmpext.$i;
+ while ($view->file_exists('files' . $location . '/' . $filename . $ext)) {
+ $ext = $tmpext . $i;
$i++;
}
}
@@ -732,17 +786,16 @@ class Trashbin {
* @return size of the folder
*/
private static function calculateSize($view) {
- $root = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath('');
+ $root = \OCP\Config::getSystemValue('datadirectory') . $view->getAbsolutePath('');
if (!file_exists($root)) {
return 0;
}
- $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($root),
- \RecursiveIteratorIterator::CHILD_FIRST);
+ $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($root), \RecursiveIteratorIterator::CHILD_FIRST);
$size = 0;
foreach ($iterator as $path) {
- $relpath = substr($path, strlen($root)-1);
- if ( !$view->is_dir($relpath) ) {
+ $relpath = substr($path, strlen($root) - 1);
+ if (!$view->is_dir($relpath)) {
$size += $view->filesize($relpath);
}
}
@@ -764,7 +817,7 @@ class Trashbin {
}
return false;
}
-
+
/**
* write to the database how much space is in use for the trash bin
*
@@ -772,12 +825,22 @@ class Trashbin {
* @param $size size of the trash bin
*/
private static function setTrashbinSize($user, $size) {
- if ( self::getTrashbinSize($user) === false) {
+ if (self::getTrashbinSize($user) === false) {
$query = \OC_DB::prepare('INSERT INTO `*PREFIX*files_trashsize` (`size`, `user`) VALUES (?, ?)');
- }else {
+ } else {
$query = \OC_DB::prepare('UPDATE `*PREFIX*files_trashsize` SET `size`=? WHERE `user`=?');
}
$query->execute(array($size, $user));
}
-
+
+ /**
+ * register hooks
+ */
+ public static function registerHooks() {
+ //Listen to delete file signal
+ \OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA\Files_Trashbin\Hooks", "remove_hook");
+ //Listen to delete user signal
+ \OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Trashbin\Hooks", "deleteUser_hook");
+ }
+
}
diff --git a/apps/files_versions/l10n/he.php b/apps/files_versions/l10n/he.php
index ad2e261d539..577389eb081 100644
--- a/apps/files_versions/l10n/he.php
+++ b/apps/files_versions/l10n/he.php
@@ -1,3 +1,11 @@
"גרסאות"
+"Could not revert: %s" => "לא ניתן להחזיר: %s",
+"success" => "הושלם",
+"File %s was reverted to version %s" => "הקובץ %s הוחזר לגרסה %s",
+"failure" => "נכשל",
+"File %s could not be reverted to version %s" => "לא ניתן להחזיר את הקובץ %s לגרסה %s",
+"No old versions available" => "אין גרסאות ישנות זמינות",
+"No path specified" => "לא צוין נתיב",
+"Versions" => "גרסאות",
+"Revert a file to a previous version by clicking on its revert button" => "ניתן להחזיר קובץ לגרסה קודמת על ידי לחיצה על לחצן ההחזרה שלו"
);
diff --git a/apps/files_versions/l10n/nn_NO.php b/apps/files_versions/l10n/nn_NO.php
new file mode 100644
index 00000000000..940cc2371a1
--- /dev/null
+++ b/apps/files_versions/l10n/nn_NO.php
@@ -0,0 +1,11 @@
+ "Klarte ikkje å tilbakestilla: %s",
+"success" => "vellukka",
+"File %s was reverted to version %s" => "Tilbakestilte fila %s til utgåva %s",
+"failure" => "feil",
+"File %s could not be reverted to version %s" => "Klarte ikkje tilbakestilla fila %s til utgåva %s",
+"No old versions available" => "Ingen eldre utgåver tilgjengelege",
+"No path specified" => "Ingen sti gjeve",
+"Versions" => "Utgåver",
+"Revert a file to a previous version by clicking on its revert button" => "Tilbakestill ei fil til ei tidlegare utgåve ved å klikka tilbakestill-knappen"
+);
diff --git a/apps/files_versions/l10n/sv.php b/apps/files_versions/l10n/sv.php
index bcd21bc599c..83170976309 100644
--- a/apps/files_versions/l10n/sv.php
+++ b/apps/files_versions/l10n/sv.php
@@ -7,5 +7,5 @@
"No old versions available" => "Inga gamla versioner finns tillgängliga",
"No path specified" => "Ingen sökväg angiven",
"Versions" => "Versioner",
-"Revert a file to a previous version by clicking on its revert button" => "Återställ en fil till en tidigare version genom att klicka på knappen"
+"Revert a file to a previous version by clicking on its revert button" => "Återställ en fil till en tidigare version genom att klicka på återställningsknappen"
);
diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index 5fdbef27743..2f8262475b4 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -113,8 +113,16 @@ class Storage {
mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true);
}
+ // disable proxy to prevent multiple fopen calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
// store a new version of a file
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+
+ // reset proxy state
+ \OC_FileProxy::$enabled = $proxyStatus;
+
$versionsSize = self::getVersionsSize($uid);
if ( $versionsSize === false || $versionsSize < 0 ) {
$versionsSize = self::calculateSize($uid);
@@ -195,7 +203,16 @@ class Storage {
//first create a new version
$version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
if ( !$users_view->file_exists($version)) {
+
+ // disable proxy to prevent multiple fopen calls
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
+
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+
+ // reset proxy state
+ \OC_FileProxy::$enabled = $proxyStatus;
+
$versionCreated = true;
}
@@ -224,11 +241,12 @@ class Storage {
public static function getVersions($uid, $filename, $count = 0 ) {
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
$versions_fileview = new \OC\Files\View('/' . $uid . '/files_versions');
- $versionsName = $versions_fileview->getLocalFile($filename);
-
+ $versionsName = $versions_fileview->getLocalFile($filename).'.v';
+ $escapedVersionName = preg_replace('/(\*|\?|\[)/', '[$1]', $versionsName);
+
$versions = array();
// fetch for old versions
- $matches = glob(preg_quote($versionsName).'.v*' );
+ $matches = glob($escapedVersionName.'*');
if ( !$matches ) {
return $versions;
diff --git a/apps/user_ldap/ajax/clearMappings.php b/apps/user_ldap/ajax/clearMappings.php
new file mode 100644
index 00000000000..5dab39839b6
--- /dev/null
+++ b/apps/user_ldap/ajax/clearMappings.php
@@ -0,0 +1,35 @@
+.
+ *
+ */
+
+// Check user and app status
+OCP\JSON::checkAdminUser();
+OCP\JSON::checkAppEnabled('user_ldap');
+OCP\JSON::callCheck();
+
+$subject = $_POST['ldap_clear_mapping'];
+if(\OCA\user_ldap\lib\Helper::clearMapping($subject)) {
+ OCP\JSON::success();
+} else {
+ $l=OC_L10N::get('user_ldap');
+ OCP\JSON::error(array('message' => $l->t('Failed to clear the mappings.')));
+}
\ No newline at end of file
diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php
index 81eaa0404b7..593e846bc03 100644
--- a/apps/user_ldap/appinfo/app.php
+++ b/apps/user_ldap/appinfo/app.php
@@ -49,7 +49,7 @@ $entry = array(
'name' => 'LDAP'
);
-OCP\Backgroundjob::addRegularTask('OCA\user_ldap\lib\Jobs', 'updateGroups');
+OCP\Backgroundjob::registerJob('OCA\user_ldap\lib\Jobs');
if(OCP\App::isEnabled('user_webdavauth')) {
OCP\Util::writeLog('user_ldap',
'user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour',
diff --git a/apps/user_ldap/css/settings.css b/apps/user_ldap/css/settings.css
index 84ada0832ab..185952e14bb 100644
--- a/apps/user_ldap/css/settings.css
+++ b/apps/user_ldap/css/settings.css
@@ -11,6 +11,10 @@
display: inline-block;
}
+.ldapIndent {
+ margin-left: 50px;
+}
+
.ldapwarning {
margin-left: 1.4em;
color: #FF3B3B;
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js
index 9279dc0203b..52d5dbc48d9 100644
--- a/apps/user_ldap/js/settings.js
+++ b/apps/user_ldap/js/settings.js
@@ -14,7 +14,7 @@ var LdapConfiguration = {
//deal with Checkboxes
if($(elementID).is('input[type=checkbox]')) {
- if(configvalue === 1) {
+ if(parseInt(configvalue) === 1) {
$(elementID).attr('checked', 'checked');
} else {
$(elementID).removeAttr('checked');
@@ -99,6 +99,26 @@ var LdapConfiguration = {
}
}
);
+ },
+
+ clearMappings: function(mappingSubject) {
+ $.post(
+ OC.filePath('user_ldap','ajax','clearMappings.php'),
+ 'ldap_clear_mapping='+mappingSubject,
+ function(result) {
+ if(result.status == 'success') {
+ OC.dialogs.info(
+ t('user_ldap', 'mappings cleared'),
+ t('user_ldap', 'Success')
+ );
+ } else {
+ OC.dialogs.alert(
+ result.message,
+ t('user_ldap', 'Error')
+ );
+ }
+ }
+ );
}
}
@@ -166,6 +186,16 @@ $(document).ready(function() {
);
});
+ $('#ldap_action_clear_user_mappings').click(function(event) {
+ event.preventDefault();
+ LdapConfiguration.clearMappings('user');
+ });
+
+ $('#ldap_action_clear_group_mappings').click(function(event) {
+ event.preventDefault();
+ LdapConfiguration.clearMappings('group');
+ });
+
$('#ldap_serverconfig_chooser').change(function(event) {
value = $('#ldap_serverconfig_chooser option:selected:first').attr('value');
if(value === 'NEW') {
diff --git a/apps/user_ldap/l10n/ar.php b/apps/user_ldap/l10n/ar.php
index 4d7b7ac4ade..5f8b6b81455 100644
--- a/apps/user_ldap/l10n/ar.php
+++ b/apps/user_ldap/l10n/ar.php
@@ -1,5 +1,6 @@
"فشل الحذف",
+"Error" => "خطأ",
"Password" => "كلمة المرور",
"Help" => "المساعدة"
);
diff --git a/apps/user_ldap/l10n/bg_BG.php b/apps/user_ldap/l10n/bg_BG.php
index c064534a6b8..0330046d80e 100644
--- a/apps/user_ldap/l10n/bg_BG.php
+++ b/apps/user_ldap/l10n/bg_BG.php
@@ -1,4 +1,5 @@
"Грешка",
"Password" => "Парола",
"Help" => "Помощ"
);
diff --git a/apps/user_ldap/l10n/bn_BD.php b/apps/user_ldap/l10n/bn_BD.php
index 69dfc896179..4cee35777df 100644
--- a/apps/user_ldap/l10n/bn_BD.php
+++ b/apps/user_ldap/l10n/bn_BD.php
@@ -1,4 +1,5 @@
"সমস্যা",
"Host" => "হোস্ট",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL আবশ্যক না হলে আপনি এই প্রটোকলটি মুছে ফেলতে পারেন । এরপর শুরু করুন এটা দিয়ে ldaps://",
"Base DN" => "ভিত্তি DN",
diff --git a/apps/user_ldap/l10n/ca.php b/apps/user_ldap/l10n/ca.php
index 8f2799b6e68..7f0849b2382 100644
--- a/apps/user_ldap/l10n/ca.php
+++ b/apps/user_ldap/l10n/ca.php
@@ -1,4 +1,5 @@
"Ha fallat en eliminar els mapatges",
"Failed to delete the server configuration" => "Ha fallat en eliminar la configuració del servidor",
"The configuration is valid and the connection could be established!" => "La configuració és vàlida i s'ha pogut establir la comunicació!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "La configuració és vàlida, però ha fallat el Bind. Comproveu les credencials i l'arranjament del servidor.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Voleu prendre l'arranjament de la configuració actual del servidor?",
"Keep settings?" => "Voleu mantenir la configuració?",
"Cannot add server configuration" => "No es pot afegir la configuració del servidor",
+"mappings cleared" => "s'han eliminat els mapatges",
+"Success" => "Èxit",
+"Error" => "Error",
"Connection test succeeded" => "La prova de connexió ha reeixit",
"Connection test failed" => "La prova de connexió ha fallat",
"Do you really want to delete the current Server Configuration?" => "Voleu eliminar la configuració actual del servidor?",
@@ -70,6 +74,16 @@
"Email Field" => "Camp de correu electrònic",
"User Home Folder Naming Rule" => "Norma per anomenar la carpeta arrel d'usuari",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixeu-ho buit pel nom d'usuari (per defecte). Altrament, especifiqueu un atribut LDAP/AD.",
+"Internal Username" => "Nom d'usuari intern",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Per defecte el nom d'usuari intern es crearà a partir de l'atribut UUID. Això assegura que el nom d'usuari és únic i que els caràcters no s'han de convertir. El nom d'usuari intern té la restricció que només estan permesos els caràcters: [ a-zA-Z0-9_.@- ]. Els altres caràcters es substitueixen pel seu corresponent ASCII o simplement s'ometen. En cas de col·lisió s'incrementa/decrementa en un. El nom d'usuari intern s'utilitza per identificar un usuari internament. També és el nom per defecte de la carpeta home a ownCloud. És també un port de URLs remotes, per exemple tots els serveis *DAV. Amb aquest arranjament es pot variar el comportament per defecte. Per obtenir un comportament similar al d'abans de ownCloud 5, escriviu el nom d'usuari a mostrar en el camp següent. Deixei-lo en blanc si preferiu el comportament per defecte. Els canvis tindran efecte només en els nous usuaris LDAP mapats (afegits).",
+"Internal Username Attribute:" => "Atribut nom d'usuari intern:",
+"Override UUID detection" => "Sobrescriu la detecció UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Per defecte, owncloud autodetecta l'atribut UUID. L'atribut UUID s'utilitza per identificar usuaris i grups de forma indubtable. També el nom d'usuari intern es crearà en base a la UUIS, si no heu especificat res diferent a dalt. Podeu sobreescriure l'arranjament i passar l'atribut que desitgeu. Heu d'assegurar-vos que l'atribut que escolliu pot ser recollit tant pels usuaris com pels grups i que és únic. Deixeu-ho en blanc si preferiu el comportament per defecte. els canvis s'aplicaran en els usuaris i grups LDAP mapats de nou (afegits).",
+"UUID Attribute:" => "Atribut UUID:",
+"Username-LDAP User Mapping" => "Mapatge d'usuari Nom d'usuari-LDAP",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilitza els noms d'usuari per emmagatzemar i assignar (meta)dades. per tal d'identificar usuaris de forma precisa, cada usuari LDAP tindrà un nom d'usuari intern. Això requereix un mapatge del nom d'usuari ownCloud a l'usuari LDAP. El nom d'usuari creat es mapa a la UUID de l'usuari LDAP. Addicionalment, la DN es desa a la memòria de cau per reduïr la interacció LDAP, però no s'usa per a identificació. Si la DN canvia, els canvis són detectats per ownCloud. El nom d'usuari intern ownCloud s'utilitza internament arreu de ownCloud. Eliminar els mapatges tindrà efectues per tot arreu. L'eliminació dels mapatges no és sensible a la configuració, afecta a totes les configuracions LDAP! No elimineu mai els mapatges en un entorn de producció. Elimineu-los només en un estadi experimental o de prova.",
+"Clear Username-LDAP User Mapping" => "Elimina el mapatge d'usuari Nom d'usuari-LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Elimina el mapatge de grup Nom de grup-LDAP",
"Test Configuration" => "Comprovació de la configuració",
"Help" => "Ajuda"
);
diff --git a/apps/user_ldap/l10n/cs_CZ.php b/apps/user_ldap/l10n/cs_CZ.php
index c5d77026b9e..65c7c76b5d7 100644
--- a/apps/user_ldap/l10n/cs_CZ.php
+++ b/apps/user_ldap/l10n/cs_CZ.php
@@ -1,4 +1,5 @@
"Selhalo zrušení mapování.",
"Failed to delete the server configuration" => "Selhalo smazání nastavení serveru",
"The configuration is valid and the connection could be established!" => "Nastavení je v pořádku a spojení bylo navázáno.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Konfigurace je v pořádku, ale spojení selhalo. Zkontrolujte, prosím, nastavení serveru a přihlašovací údaje.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Převzít nastavení z nedávného nastavení serveru?",
"Keep settings?" => "Ponechat nastavení?",
"Cannot add server configuration" => "Nelze přidat nastavení serveru",
+"mappings cleared" => "mapování zrušeno",
+"Success" => "Úspěch",
+"Error" => "Chyba",
"Connection test succeeded" => "Test spojení byl úspěšný",
"Connection test failed" => "Test spojení selhal",
"Do you really want to delete the current Server Configuration?" => "Opravdu si přejete smazat současné nastavení serveru?",
@@ -70,6 +74,13 @@
"Email Field" => "Pole e-mailu",
"User Home Folder Naming Rule" => "Pravidlo pojmenování domovské složky uživatele",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ponechte prázdné pro uživatelské jméno (výchozí). Jinak uveďte LDAP/AD parametr.",
+"Internal Username" => "Interní uživatelské jméno",
+"Internal Username Attribute:" => "Atribut interního uživatelského jména:",
+"Override UUID detection" => "Nastavit ručně UUID atribut",
+"UUID Attribute:" => "Atribut UUID:",
+"Username-LDAP User Mapping" => "Mapování uživatelských jmen z LDAPu",
+"Clear Username-LDAP User Mapping" => "Zrušit mapování uživatelských jmen LDAPu",
+"Clear Groupname-LDAP Group Mapping" => "Zrušit mapování názvů skupin LDAPu",
"Test Configuration" => "Vyzkoušet nastavení",
"Help" => "Nápověda"
);
diff --git a/apps/user_ldap/l10n/cy_GB.php b/apps/user_ldap/l10n/cy_GB.php
index 335e2109c2d..abe2336b2ba 100644
--- a/apps/user_ldap/l10n/cy_GB.php
+++ b/apps/user_ldap/l10n/cy_GB.php
@@ -1,5 +1,6 @@
"Methwyd dileu",
+"Error" => "Gwall",
"Password" => "Cyfrinair",
"Help" => "Cymorth"
);
diff --git a/apps/user_ldap/l10n/da.php b/apps/user_ldap/l10n/da.php
index 9329c4e8a24..0a77f466479 100644
--- a/apps/user_ldap/l10n/da.php
+++ b/apps/user_ldap/l10n/da.php
@@ -1,5 +1,7 @@
"Fejl ved sletning",
+"Success" => "Succes",
+"Error" => "Fejl",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du kan udelade protokollen, medmindre du skal bruge SSL. Start i så fald med ldaps://",
"Base DN" => "Base DN",
diff --git a/apps/user_ldap/l10n/de.php b/apps/user_ldap/l10n/de.php
index 27f5adb8b6c..f0010818421 100644
--- a/apps/user_ldap/l10n/de.php
+++ b/apps/user_ldap/l10n/de.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Einstellungen von letzter Konfiguration übernehmen?",
"Keep settings?" => "Einstellungen beibehalten?",
"Cannot add server configuration" => "Das Hinzufügen der Serverkonfiguration schlug fehl",
+"Success" => "Erfolgreich",
+"Error" => "Fehler",
"Connection test succeeded" => "Verbindungstest erfolgreich",
"Connection test failed" => "Verbindungstest fehlgeschlagen",
"Do you really want to delete the current Server Configuration?" => "Möchtest Du die aktuelle Serverkonfiguration wirklich löschen?",
diff --git a/apps/user_ldap/l10n/de_DE.php b/apps/user_ldap/l10n/de_DE.php
index 488d8aad7c8..8aa64477e41 100644
--- a/apps/user_ldap/l10n/de_DE.php
+++ b/apps/user_ldap/l10n/de_DE.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Einstellungen von letzter Konfiguration übernehmen?",
"Keep settings?" => "Einstellungen beibehalten?",
"Cannot add server configuration" => "Das Hinzufügen der Serverkonfiguration schlug fehl",
+"Success" => "Erfolg",
+"Error" => "Fehler",
"Connection test succeeded" => "Verbindungstest erfolgreich",
"Connection test failed" => "Verbindungstest fehlgeschlagen",
"Do you really want to delete the current Server Configuration?" => "Möchten Sie die aktuelle Serverkonfiguration wirklich löschen?",
@@ -70,6 +72,10 @@
"Email Field" => "E-Mail-Feld",
"User Home Folder Naming Rule" => "Benennungsregel für das Home-Verzeichnis des Benutzers",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfalls tragen Sie bitte ein LDAP/AD-Attribut ein.",
+"Internal Username" => "Interner Benutzername",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standardmäßig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichenwerden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Übereinstimmungen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmäßig vorausgewählte Namen des Heimatverzeichnisses in ownCloud. Es dient weiterhin als Port für Remote-URLs - zum Beispiel für alle *DAV-Dienste Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich einzig und allein nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.",
+"Override UUID detection" => "UUID-Erkennung überschreiben",
+"UUID Attribute:" => "UUID-Attribut:",
"Test Configuration" => "Testkonfiguration",
"Help" => "Hilfe"
);
diff --git a/apps/user_ldap/l10n/el.php b/apps/user_ldap/l10n/el.php
index e5fe6b6da7e..acecf27125f 100644
--- a/apps/user_ldap/l10n/el.php
+++ b/apps/user_ldap/l10n/el.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Πάρτε πάνω από τις πρόσφατες ρυθμίσεις διαμόρφωσης του διακομιστή?",
"Keep settings?" => "Διατήρηση ρυθμίσεων;",
"Cannot add server configuration" => "Αδυναμία προσθήκης ρυθμίσεων διακομιστή",
+"Success" => "Επιτυχία",
+"Error" => "Σφάλμα",
"Connection test succeeded" => "Επιτυχημένη δοκιμαστική σύνδεση",
"Connection test failed" => "Αποτυχημένη δοκιμαστική σύνδεσης.",
"Do you really want to delete the current Server Configuration?" => "Θέλετε να διαγράψετε τις τρέχουσες ρυθμίσεις του διακομιστή;",
diff --git a/apps/user_ldap/l10n/eo.php b/apps/user_ldap/l10n/eo.php
index 3ffcbddb3e3..c9a9ba130c6 100644
--- a/apps/user_ldap/l10n/eo.php
+++ b/apps/user_ldap/l10n/eo.php
@@ -1,5 +1,7 @@
"Forigo malsukcesis",
+"Success" => "Sukceso",
+"Error" => "Eraro",
"Host" => "Gastigo",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Vi povas neglekti la protokolon, escepte se vi bezonas SSL-on. Tiuokaze, komencu per ldaps://",
"Base DN" => "Bazo-DN",
diff --git a/apps/user_ldap/l10n/es.php b/apps/user_ldap/l10n/es.php
index 098e16a5d13..31d43288e5b 100644
--- a/apps/user_ldap/l10n/es.php
+++ b/apps/user_ldap/l10n/es.php
@@ -1,17 +1,21 @@
"Ocurrió un fallo al borrar las asignaciones.",
"Failed to delete the server configuration" => "No se pudo borrar la configuración del servidor",
"The configuration is valid and the connection could be established!" => "La configuración es válida y la conexión puede establecerse!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "La configuración es válida, pero falló el Enlace. Por favor, compruebe la configuración del servidor y las credenciales.",
"The configuration is invalid. Please look in the ownCloud log for further details." => "La configuración no es válida. Por favor, busque en el log de ownCloud para más detalles.",
"Deletion failed" => "Falló el borrado",
-"Take over settings from recent server configuration?" => "Hacerse cargo de los ajustes de configuración del servidor reciente?",
+"Take over settings from recent server configuration?" => "¿Asumir los ajustes actuales de la configuración del servidor?",
"Keep settings?" => "Mantener la configuración?",
"Cannot add server configuration" => "No se puede añadir la configuración del servidor",
+"mappings cleared" => "Asignaciones borradas",
+"Success" => "Éxito",
+"Error" => "Error",
"Connection test succeeded" => "La prueba de conexión fue exitosa",
"Connection test failed" => "La prueba de conexión falló",
"Do you really want to delete the current Server Configuration?" => "¿Realmente desea eliminar la configuración actual del servidor?",
"Confirm Deletion" => "Confirmar eliminación",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Advertencia: Los Apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
+"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Advertencia: Las aplicaciones user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Advertencia: El módulo LDAP de PHP no está instalado, el sistema no funcionará. Por favor consulte al administrador del sistema para instalarlo.",
"Server configuration" => "Configuración del Servidor",
"Add Server Configuration" => "Agregar configuracion del servidor",
@@ -26,30 +30,30 @@
"For anonymous access, leave DN and Password empty." => "Para acceso anónimo, deje DN y contraseña vacíos.",
"User Login Filter" => "Filtro de inicio de sesión de usuario",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Define el filtro a aplicar cuando se ha realizado un login. %%uid remplazrá el nombre de usuario en el proceso de login.",
-"use %%uid placeholder, e.g. \"uid=%%uid\"" => "usar %%uid como placeholder, ej: \"uid=%%uid\"",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "usar %%uid como comodín, ej: \"uid=%%uid\"",
"User List Filter" => "Lista de filtros de usuario",
"Defines the filter to apply, when retrieving users." => "Define el filtro a aplicar, cuando se obtienen usuarios.",
-"without any placeholder, e.g. \"objectClass=person\"." => "Sin placeholder, ej: \"objectClass=person\".",
+"without any placeholder, e.g. \"objectClass=person\"." => "Sin comodines, ej: \"objectClass=person\".",
"Group Filter" => "Filtro de grupo",
"Defines the filter to apply, when retrieving groups." => "Define el filtro a aplicar, cuando se obtienen grupos.",
-"without any placeholder, e.g. \"objectClass=posixGroup\"." => "Con cualquier placeholder, ej: \"objectClass=posixGroup\".",
-"Connection Settings" => "Configuracion de coneccion",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sin comodines, ej: \"objectClass=posixGroup\".",
+"Connection Settings" => "Configuración de conexión",
"Configuration Active" => "Configuracion activa",
"When unchecked, this configuration will be skipped." => "Cuando deseleccione, esta configuracion sera omitida.",
"Port" => "Puerto",
-"Backup (Replica) Host" => "Host para backup (Replica)",
-"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Dar un host de copia de seguridad opcional. Debe ser una réplica del servidor principal LDAP / AD.",
-"Backup (Replica) Port" => "Puerto para backup (Replica)",
+"Backup (Replica) Host" => "Servidor de copia de seguridad (Replica)",
+"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Dar un servidor de copia de seguridad opcional. Debe ser una réplica del servidor principal LDAP / AD.",
+"Backup (Replica) Port" => "Puerto para copias de seguridad (Replica)",
"Disable Main Server" => "Deshabilitar servidor principal",
-"When switched on, ownCloud will only connect to the replica server." => "Cuando se inicie, ownCloud unicamente estara conectado al servidor replica",
+"When switched on, ownCloud will only connect to the replica server." => "Cuando se inicie, ownCloud unicamente conectará al servidor replica",
"Use TLS" => "Usar TLS",
-"Do not use it additionally for LDAPS connections, it will fail." => "No usar adicionalmente para conecciones LDAPS, estas fallaran",
-"Case insensitve LDAP server (Windows)" => "Servidor de LDAP sensible a mayúsculas/minúsculas (Windows)",
+"Do not use it additionally for LDAPS connections, it will fail." => "No lo use para conexiones LDAPS, Fallará.",
+"Case insensitve LDAP server (Windows)" => "Servidor de LDAP no sensible a mayúsculas/minúsculas (Windows)",
"Turn off SSL certificate validation." => "Apagar la validación por certificado SSL.",
"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la conexión sólo funciona con esta opción, importe el certificado SSL del servidor LDAP en su servidor ownCloud.",
"Not recommended, use for testing only." => "No recomendado, sólo para pruebas.",
"Cache Time-To-Live" => "Cache TTL",
-"in seconds. A change empties the cache." => "en segundos. Un cambio vacía la cache.",
+"in seconds. A change empties the cache." => "en segundos. Un cambio vacía la caché.",
"Directory Settings" => "Configuracion de directorio",
"User Display Name Field" => "Campo de nombre de usuario a mostrar",
"The LDAP attribute to use to generate the user`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de usuario de ownCloud.",
@@ -70,6 +74,16 @@
"Email Field" => "E-mail",
"User Home Folder Naming Rule" => "Regla para la carpeta Home de usuario",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Vacío para el nombre de usuario (por defecto). En otro caso, especifique un atributo LDAP/AD.",
+"Internal Username" => "Nombre de usuario interno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por defecto el nombre de usuario interno será creado desde el atributo UUID. Esto asegura que el nombre de usuario es único y los caracteres no necesitan ser convertidos. En el nombre de usuario interno sólo se pueden usar estos caracteres: [a-zA-Z0-9_.@-]. Otros caracteres son sustituidos por su correspondiente en ASCII o simplemente quitados. En coincidencias un número será añadido o incrementado. El nombre de usuario interno es usado para identificar un usuario internamente. Es también el nombre por defecto para la carpeta personal del usuario in ownCloud. También es un puerto de URLs remotas, por ejemplo, para todos los servicios *DAV. Con esta configuración el comportamiento por defecto puede ser cambiado. Para conseguir un comportamiento similar a como era antes de ownCloud 5, introduce el atributo del nombre en pantalla del usuario en el siguiente campo. Déjalo vacío para el comportamiento por defecto. Los cambios solo tendrán efecto en los nuevos usuarios LDAP.",
+"Internal Username Attribute:" => "Atributo Nombre de usuario Interno:",
+"Override UUID detection" => "Sobrescribir la detección UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por defecto, ownCloud autodetecta el atributo UUID. El atributo UUID es usado para identificar indudablemente usuarios y grupos LDAP. Además, el nombre de usuario interno será creado en base al UUID, si no ha sido especificado otro comportamiento arriba. Puedes sobrescribir la configuración y pasar un atributo de tu elección. Debes asegurarte de que el atributo de tu elección sea accesible por los usuarios y grupos y ser único. Déjalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto solo en los nuevos usuarios y grupos de LDAP.",
+"UUID Attribute:" => "Atributo UUID:",
+"Username-LDAP User Mapping" => "Asignación del Nombre de usuario de un usuario LDAP",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utiliza nombres de usuario para almacenar y asignar (meta) datos. Con el fin de identificar con precisión y reconocer usuarios, cada usuario LDAP tendrá un nombre de usuario interno. Esto requiere una asignación de nombre de usuario de ownCloud a usuario LDAP. El nombre de usuario creado se asigna al UUID del usuario LDAP. Además el DN se almacena en caché más bien para reducir la interacción de LDAP, pero no se utiliza para la identificación. Si la DN cambia, los cambios serán encontrados por ownCloud. El nombre interno de ownCloud se utiliza para todo en ownCloud. Eliminando las asignaciones tendrá restos por todas partes. Eliminando las asignaciones no es sensible a la configuración, que afecta a todas las configuraciones de LDAP! No limpiar nunca las asignaciones en un entorno de producción. Sólo borrar asignaciones en una situación de prueba o experimental.",
+"Clear Username-LDAP User Mapping" => "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
"Test Configuration" => "Configuración de prueba",
"Help" => "Ayuda"
);
diff --git a/apps/user_ldap/l10n/es_AR.php b/apps/user_ldap/l10n/es_AR.php
index c8aec0cd41b..011ff3e12ff 100644
--- a/apps/user_ldap/l10n/es_AR.php
+++ b/apps/user_ldap/l10n/es_AR.php
@@ -1,12 +1,14 @@
"Fallo al borrar la configuración del servidor",
-"The configuration is valid and the connection could be established!" => "La configuración es valida y la conexión pudo ser establecida.",
+"The configuration is valid and the connection could be established!" => "La configuración es válida y la conexión pudo ser establecida.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "La configuración es válida, pero el enlace falló. Por favor, comprobá la configuración del servidor y las credenciales.",
"The configuration is invalid. Please look in the ownCloud log for further details." => "La configuración no es válida. Por favor, buscá en el log de ownCloud más detalles.",
"Deletion failed" => "Error al borrar",
"Take over settings from recent server configuration?" => "Tomar los valores de la anterior configuración de servidor?",
"Keep settings?" => "¿Mantener preferencias?",
"Cannot add server configuration" => "No se pudo añadir la configuración del servidor",
+"Success" => "Éxito",
+"Error" => "Error",
"Connection test succeeded" => "El este de conexión ha sido completado satisfactoriamente",
"Connection test failed" => "Falló es test de conexión",
"Do you really want to delete the current Server Configuration?" => "¿Realmente desea borrar la configuración actual del servidor?",
diff --git a/apps/user_ldap/l10n/et_EE.php b/apps/user_ldap/l10n/et_EE.php
index 9a65455ed23..39346def039 100644
--- a/apps/user_ldap/l10n/et_EE.php
+++ b/apps/user_ldap/l10n/et_EE.php
@@ -1,14 +1,18 @@
"Vastendususte puhastamine ebaõnnestus.",
"Failed to delete the server configuration" => "Serveri seadistuse kustutamine ebaõnnestus",
"The configuration is valid and the connection could be established!" => "Seadistus on korrektne ning ühendus on olemas!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Seadistus on korrektne, kuid ühendus ebaõnnestus. Palun kontrolli serveri seadeid ja ühenduseks kasutatavaid kasutajatunnuseid.",
"The configuration is invalid. Please look in the ownCloud log for further details." => "Seadistus on vigane. Palun vaata ownCloud logist täpsemalt.",
"Deletion failed" => "Kustutamine ebaõnnestus",
"Take over settings from recent server configuration?" => "Võta sätted viimasest serveri seadistusest?",
-"Keep settings?" => "Säilitada seadistus?",
+"Keep settings?" => "Säilitada seadistused?",
"Cannot add server configuration" => "Ei suuda lisada serveri seadistust",
-"Connection test succeeded" => "Test ühendus õnnestus",
-"Connection test failed" => "Test ühendus ebaõnnestus",
+"mappings cleared" => "vastendused puhastatud",
+"Success" => "Korras",
+"Error" => "Viga",
+"Connection test succeeded" => "Ühenduse testimine õnnestus",
+"Connection test failed" => "Ühenduse testimine ebaõnnestus",
"Do you really want to delete the current Server Configuration?" => "Oled kindel, et tahad kustutada praegust serveri seadistust?",
"Confirm Deletion" => "Kinnita kustutamine",
"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Hoiatus: rakendused user_ldap ja user_webdavauht ei ole ühilduvad. Töös võib esineda ootamatuid tõrkeid.\nPalu oma süsteemihalduril üks neist rakendustest kasutusest eemaldada.",
@@ -70,6 +74,16 @@
"Email Field" => "Email atribuut",
"User Home Folder Naming Rule" => "Kasutaja kodukataloogi nimetamise reegel",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Kasutajanime (vaikeväärtus) kasutamiseks jäta tühjaks. Vastasel juhul määra LDAP/AD omadus.",
+"Internal Username" => "Sisemine kasutajanimi",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Vaikimisi tekitatakse sisemine kasutajanimi UUID atribuudist. See tagab, et kasutajanimi on unikaalne ja sümboleid pole vaja muuta. Sisemisel kasutajatunnuse puhul on lubatud ainult järgmised sümbolid: [ a-zA-Z0-9_.@- ]. Muud sümbolid asendatakse nende ASCII vastega või lihtsalt hüljatakse. Tõrgete korral lisatakse number või suurendatakse seda. Sisemist kasutajatunnust kasutatakse kasutaja sisemiseks tuvastamiseks. Ühtlasi on see ownCloudis kasutaja vaikimisi kodukataloogi nimeks. See on ka serveri URL pordiks, näiteks kõikidel *DAV teenustel.Selle seadistusega saab tühistada vaikimisi käitumise. Saavutamaks sarnast käitumist eelnevate ownCloud 5 versioonidega, sisesta kasutaja kuvatava nime atribuut järgnevale väljale. Vaikimisi seadistuseks jäta tühjaks. Muudatused mõjutavad ainult uusi LDAP kasutajate vastendusi (lisatud).",
+"Internal Username Attribute:" => "Sisemise kasutajatunnuse atribuut:",
+"Override UUID detection" => "Tühista UUID tuvastus",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Vaikimis ownCloud tuvastab automaatlselt UUID atribuudi. UUID atribuuti kasutatakse LDAP kasutajate ja gruppide kindlaks tuvastamiseks. Samuti tekitatakse sisemine kasutajanimi UUID alusel, kui pole määratud teisiti. Sa saad tühistada selle seadistuse ning määrata atribuudi omal valikul. Pead veenduma, et valitud atribuut toimib nii kasutajate kui gruppide puhul ning on unikaalne. Vaikimisi seadistuseks jäta tühjaks. Muudatused mõjutavad ainult uusi LDAP kasutajate vastendusi (lisatud).",
+"UUID Attribute:" => "UUID atribuut:",
+"Username-LDAP User Mapping" => "LDAP-Kasutajatunnus Kasutaja Vastendus",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud kasutab kasutajanime talletamaks ja omistamaks (pseudo) andmeid. Et täpselt tuvastada ja määratleda kasutajaid, iga LDAP kasutaja peab omama sisemist kasutajatunnust. See vajab ownCloud kasutajatunnuse vastendust LDAP kasutajaks. Tekitatud kasutanimi vastendatakse LDAP kasutaja UUID-iks. Lisaks puhverdatakse DN vähendamaks LDAP päringuid, kuid seda ei kasutata tuvastamisel. ownCloud suudab tuvastada ka DN muutumise. ownCloud sisemist kasutajatunnust kasutatakse üle kogu ownCloudi. Eemaldates vastenduse tekivad kõikjal andmejäägid. Vastenduste eemaldamine ei ole konfiguratsiooni tundlik, see mõjutab kõiki LDAP seadistusi! Ära kunagi eemalda vastendusi produktsioonis! Seda võid teha ainult testis või katsetuste masinas.",
+"Clear Username-LDAP User Mapping" => "Puhasta LDAP-Kasutajatunnus Kasutaja Vastendus",
+"Clear Groupname-LDAP Group Mapping" => "Puhasta LDAP-Grupinimi Grupp Vastendus",
"Test Configuration" => "Testi seadistust",
"Help" => "Abiinfo"
);
diff --git a/apps/user_ldap/l10n/eu.php b/apps/user_ldap/l10n/eu.php
index 5e9fd014c64..42f184e5390 100644
--- a/apps/user_ldap/l10n/eu.php
+++ b/apps/user_ldap/l10n/eu.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "oraintsuko zerbitzariaren konfigurazioaren ezarpenen ardura hartu?",
"Keep settings?" => "Mantendu ezarpenak?",
"Cannot add server configuration" => "Ezin da zerbitzariaren konfigurazioa gehitu",
+"Success" => "Arrakasta",
+"Error" => "Errorea",
"Connection test succeeded" => "Konexio froga ongi burutu da",
"Connection test failed" => "Konexio frogak huts egin du",
"Do you really want to delete the current Server Configuration?" => "Ziur zaude Zerbitzariaren Konfigurazioa ezabatu nahi duzula?",
diff --git a/apps/user_ldap/l10n/fa.php b/apps/user_ldap/l10n/fa.php
index 89fc40af4f1..bef13457adb 100644
--- a/apps/user_ldap/l10n/fa.php
+++ b/apps/user_ldap/l10n/fa.php
@@ -3,6 +3,7 @@
"The configuration is valid and the connection could be established!" => "پیکربندی معتبر است و ارتباط می تواند برقرار شود",
"Deletion failed" => "حذف کردن انجام نشد",
"Keep settings?" => "آیا تنظیمات ذخیره شود ؟",
+"Error" => "خطا",
"Connection test succeeded" => "تست اتصال با موفقیت انجام گردید",
"Connection test failed" => "تست اتصال ناموفق بود",
"Do you really want to delete the current Server Configuration?" => "آیا واقعا می خواهید پیکربندی کنونی سرور را حذف کنید؟",
diff --git a/apps/user_ldap/l10n/fi_FI.php b/apps/user_ldap/l10n/fi_FI.php
index 38ecb5d82a8..38a8b99cf7e 100644
--- a/apps/user_ldap/l10n/fi_FI.php
+++ b/apps/user_ldap/l10n/fi_FI.php
@@ -2,6 +2,8 @@
"Deletion failed" => "Poisto epäonnistui",
"Keep settings?" => "Säilytetäänkö asetukset?",
"Cannot add server configuration" => "Palvelinasetusten lisäys epäonnistui",
+"Success" => "Onnistui!",
+"Error" => "Virhe",
"Connection test succeeded" => "Yhteystesti onnistui",
"Connection test failed" => "Yhteystesti epäonnistui",
"Confirm Deletion" => "Vahvista poisto",
diff --git a/apps/user_ldap/l10n/fr.php b/apps/user_ldap/l10n/fr.php
index ea07bd4a11c..11f8fbaaf44 100644
--- a/apps/user_ldap/l10n/fr.php
+++ b/apps/user_ldap/l10n/fr.php
@@ -1,4 +1,5 @@
"Erreur lors de la suppression des associations.",
"Failed to delete the server configuration" => "Échec de la suppression de la configuration du serveur",
"The configuration is valid and the connection could be established!" => "La configuration est valide et la connexion peut être établie !",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "La configuration est valide, mais le lien ne peut être établi. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
@@ -6,9 +7,12 @@
"Deletion failed" => "La suppression a échoué",
"Take over settings from recent server configuration?" => "Récupérer les paramètres depuis une configuration récente du serveur ?",
"Keep settings?" => "Garder ces paramètres ?",
-"Cannot add server configuration" => "Impossible d'ajouter la configuration du serveur.",
+"Cannot add server configuration" => "Impossible d'ajouter la configuration du serveur",
+"mappings cleared" => "associations supprimées",
+"Success" => "Succès",
+"Error" => "Erreur",
"Connection test succeeded" => "Test de connexion réussi",
-"Connection test failed" => "Le test de connexion a échoué",
+"Connection test failed" => "Test de connexion échoué",
"Do you really want to delete the current Server Configuration?" => "Êtes-vous vraiment sûr de vouloir effacer la configuration actuelle du serveur ?",
"Confirm Deletion" => "Confirmer la suppression",
"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Avertissement: Les applications user_ldap et user_webdavauth sont incompatibles. Des disfonctionnements peuvent survenir. Contactez votre administrateur système pour qu'il désactive l'une d'elles.",
@@ -17,13 +21,13 @@
"Add Server Configuration" => "Ajouter une configuration du serveur",
"Host" => "Hôte",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Vous pouvez omettre le protocole, sauf si vous avez besoin de SSL. Dans ce cas préfixez avec ldaps://",
-"Base DN" => "DN Racine",
+"Base DN" => "DN racine",
"One Base DN per line" => "Un DN racine par ligne",
"You can specify Base DN for users and groups in the Advanced tab" => "Vous pouvez spécifier les DN Racines de vos utilisateurs et groupes via l'onglet Avancé",
"User DN" => "DN Utilisateur (Autorisé à consulter l'annuaire)",
"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 de l'utilisateur client pour lequel la liaison doit se faire, par exemple uid=agent,dc=example,dc=com. Pour un accès anonyme, laisser le DN et le mot de passe vides.",
"Password" => "Mot de passe",
-"For anonymous access, leave DN and Password empty." => "Pour un accès anonyme, laisser le DN Utilisateur et le mot de passe vides.",
+"For anonymous access, leave DN and Password empty." => "Pour un accès anonyme, laisser le DN utilisateur et le mot de passe vides.",
"User Login Filter" => "Modèle d'authentification utilisateurs",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Définit le motif à appliquer, lors d'une tentative de connexion. %%uid est remplacé par le nom d'utilisateur lors de la connexion.",
"use %%uid placeholder, e.g. \"uid=%%uid\"" => "veuillez utiliser le champ %%uid , ex.: \"uid=%%uid\"",
@@ -66,10 +70,20 @@
"Special Attributes" => "Attributs spéciaux",
"Quota Field" => "Champ du quota",
"Quota Default" => "Quota par défaut",
-"in bytes" => "en octets",
+"in bytes" => "en bytes",
"Email Field" => "Champ Email",
"User Home Folder Naming Rule" => "Convention de nommage du répertoire utilisateur",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Laisser vide ",
+"Internal Username" => "Nom d'utilisateur interne",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Par défaut le nom d'utilisateur interne sera créé à partir de l'attribut UUID. Ceci permet d'assurer que le nom d'utilisateur est unique et que les caractères ne nécessitent pas de convertion. Le nom d'utilisateur interne doit contenir seulement les caractères suivants: [ a-zA-Z0-9_.@- ]. Les autres caractères sont remplacés par leur correspondance ASCII ou simplement omis. En cas de collision le nombre est incrémenté/décrémenté. Le nom d'utilisateur interne est utilisé pour identifier l'utilisateur au sein du système. C'est aussi le nom par défaut du répertoire utilisateur dans ownCloud. C'est aussi le port d'URLs distants, par exemple pour tous les services *DAV. Le comportement par défaut peut être modifié à l'aide de ce paramètre. Pour obtenir un comportement similaire aux versions précédentes à ownCloud 5, saisir le nom d'utilisateur à afficher dans le champ suivant. Laissez à blanc pour le comportement par défaut. Les modifications prendront effet seulement pour les nouveaux (ajoutés) utilisateurs LDAP.",
+"Internal Username Attribute:" => "Nom d'utilisateur interne:",
+"Override UUID detection" => "Surcharger la détection d'UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Par défaut, ownCloud détecte automatiquement l'attribut UUID. L'attribut UUID est utilisé pour identifier les utilisateurs et groupes de façon prédictive. De plus, le nom d'utilisateur interne sera créé basé sur l'UUID s'il n'est pas explicité ci-dessus. Vous pouvez modifier ce comportement et définir l'attribut de votre choix. Vous devez alors vous assurer que l'attribut de votre choix peut être récupéré pour les utilisateurs ainsi que pour les groupes et qu'il soit unique. Laisser à blanc pour le comportement par défaut. Les modifications seront effectives uniquement pour les nouveaux (ajoutés) utilisateurs et groupes LDAP.",
+"UUID Attribute:" => "Attribut UUID :",
+"Username-LDAP User Mapping" => "Association Nom d'utilisateur-Utilisateur LDAP",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilise les noms d'utilisateurs pour le stockage et l'assignation de (meta) data. Pour identifier et reconnaitre précisément les utilisateurs, chaque utilisateur aura un nom interne spécifique. Cela requiert l'association d'un nom d'utilisateur ownCloud à un nom d'utilisateur LDAP. Le nom d'utilisateur créé est associé à l'attribut UUID de l'utilisateur LDAP. Par ailleurs le DN est mémorisé en cache pour limiter les interactions LDAP mais il n'est pas utilisé pour l'identification. ownCloud détectera le changement de DN, le cas échéant. Seul le nom interne à ownCloud est utilisé au sein du produit. Supprimer les associations créera des orphelins et l'action affectera toutes les configurations LDAP. NE JAMAIS SUPPRIMER LES ASSOCIATIONS EN ENVIRONNEMENT DE PRODUCTION. Le faire seulement sur les environnements de tests et d'expérimentation.",
+"Clear Username-LDAP User Mapping" => "Supprimer l'association utilisateur interne-utilisateur LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Supprimer l'association nom de groupe-groupe LDAP",
"Test Configuration" => "Tester la configuration",
"Help" => "Aide"
);
diff --git a/apps/user_ldap/l10n/gl.php b/apps/user_ldap/l10n/gl.php
index 215d518e7a5..3f44ccd9bd1 100644
--- a/apps/user_ldap/l10n/gl.php
+++ b/apps/user_ldap/l10n/gl.php
@@ -1,4 +1,5 @@
"Non foi posíbel limpar as asignacións.",
"Failed to delete the server configuration" => "Non foi posíbel eliminar a configuración do servidor",
"The configuration is valid and the connection could be established!" => "A configuración é correcta e pode estabelecerse a conexión.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "A configuración é correcta, mais a ligazón non. Comprobe a configuración do servidor e as credenciais.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Tomar os recentes axustes de configuración do servidor?",
"Keep settings?" => "Manter os axustes?",
"Cannot add server configuration" => "Non é posíbel engadir a configuración do servidor",
+"mappings cleared" => "limpadas as asignacións",
+"Success" => "Correcto",
+"Error" => "Erro",
"Connection test succeeded" => "A proba de conexión foi satisfactoria",
"Connection test failed" => "A proba de conexión fracasou",
"Do you really want to delete the current Server Configuration?" => "Confirma que quere eliminar a configuración actual do servidor?",
@@ -70,6 +74,16 @@
"Email Field" => "Campo do correo",
"User Home Folder Naming Rule" => "Regra de nomeado do cartafol do usuario",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixar baleiro para o nome de usuario (predeterminado). Noutro caso, especifique un atributo LDAP/AD.",
+"Internal Username" => "Nome de usuario interno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "De xeito predeterminado, o nome de usuario interno crease a partires do atributo UUID. Asegurase de que o nome de usuario é único e de non ter que converter os caracteres. O nome de usuario interno ten a limitación de que só están permitidos estes caracteres: [ a-zA-Z0-9_.@- ]. Os outros caracteres substitúense pola súa correspondencia ASCII ou simplemente omítense. Nas colisións engadirase/incrementarase un número. O nome de usuario interno utilizase para identificar a un usuario interno. É tamén o nome predeterminado do cartafol persoal do usuario en ownCloud. Tamén é un porto de URL remoto, por exemplo, para todos os servizos *DAV. Con este axuste, o comportamento predeterminado pode ser sobrescrito. Para lograr un comportamento semellante ao anterior ownCloud 5 introduza o atributo do nome para amosar do usuario no seguinte campo. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
+"Internal Username Attribute:" => "Atributo do nome de usuario interno:",
+"Override UUID detection" => "Ignorar a detección do UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "De xeito predeterminado, ownCloud detecta automaticamente o atributo UUID. O atributo UUID utilizase para identificar, sen dúbida, aos usuarios e grupos LDAP. Ademais, crearase o usuario interno baseado no UUID, se non se especifica anteriormente o contrario. Pode anular a configuración e pasar un atributo da súa escolla. Vostede debe asegurarse de que o atributo da súa escolla pode ser recuperado polos usuarios e grupos e de que é único. Déixeo baleiro para o comportamento predeterminado. Os cambios terán efecto só nas novas asignacións (engadidos) de usuarios de LDAP.",
+"UUID Attribute:" => "Atributo do UUID:",
+"Username-LDAP User Mapping" => "Asignación do usuario ao «nome de usuario LDAP»",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utiliza os nomes de usuario para almacenar e asignar (meta) datos. Coa fin de identificar con precisión e recoñecer aos usuarios, cada usuario LDAP terá un nome de usuario interno. Isto require unha asignación de ownCloud nome de usuario a usuario LDAP. O nome de usuario creado asignase ao UUID do usuario LDAP. Ademais o DN almacenase na caché, para así reducir a interacción do LDAP, mais non se utiliza para a identificación. Se o DN cambia, os cambios poden ser atopados polo ownCloud. O nome interno no ownCloud utilizase en todo o ownCloud. A limpeza das asignacións deixará rastros en todas partes. A limpeza das asignacións non é sensíbel á configuración, afecta a todas as configuracións de LDAP! Non limpar nunca as asignacións nun entorno de produción. Limpar as asignacións só en fases de proba ou experimentais.",
+"Clear Username-LDAP User Mapping" => "Limpar a asignación do usuario ao «nome de usuario LDAP»",
+"Clear Groupname-LDAP Group Mapping" => "Limpar a asignación do grupo ao «nome de grupo LDAP»",
"Test Configuration" => "Probar a configuración",
"Help" => "Axuda"
);
diff --git a/apps/user_ldap/l10n/he.php b/apps/user_ldap/l10n/he.php
index 97259a0ddd5..0d60768dcfc 100644
--- a/apps/user_ldap/l10n/he.php
+++ b/apps/user_ldap/l10n/he.php
@@ -2,6 +2,7 @@
"Deletion failed" => "מחיקה נכשלה",
"Keep settings?" => "האם לשמור את ההגדרות?",
"Cannot add server configuration" => "לא ניתן להוסיף את הגדרות השרת",
+"Error" => "שגיאה",
"Connection test succeeded" => "בדיקת החיבור עברה בהצלחה",
"Connection test failed" => "בדיקת החיבור נכשלה",
"Do you really want to delete the current Server Configuration?" => "האם אכן למחוק את הגדרות השרת הנוכחיות?",
diff --git a/apps/user_ldap/l10n/hr.php b/apps/user_ldap/l10n/hr.php
index 005a76d4bbc..cc8918301f5 100644
--- a/apps/user_ldap/l10n/hr.php
+++ b/apps/user_ldap/l10n/hr.php
@@ -1,4 +1,5 @@
"Greška",
"Password" => "Lozinka",
"Help" => "Pomoć"
);
diff --git a/apps/user_ldap/l10n/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php
index a82a64ab32f..361ae5e0403 100644
--- a/apps/user_ldap/l10n/hu_HU.php
+++ b/apps/user_ldap/l10n/hu_HU.php
@@ -1,4 +1,5 @@
"Nem sikerült törölni a hozzárendeléseket.",
"Failed to delete the server configuration" => "Nem sikerült törölni a kiszolgáló konfigurációját",
"The configuration is valid and the connection could be established!" => "A konfiguráció érvényes, és a kapcsolat létrehozható!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "A konfiguráció érvényes, de a kapcsolat nem hozható létre. Kérem ellenőrizze a kiszolgáló beállításait, és az elérési adatokat.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Vegyük át a beállításokat az előző konfigurációból?",
"Keep settings?" => "Tartsuk meg a beállításokat?",
"Cannot add server configuration" => "Az új kiszolgáló konfigurációja nem hozható létre",
+"mappings cleared" => "Töröltük a hozzárendeléseket",
+"Success" => "Sikeres végrehajtás",
+"Error" => "Hiba",
"Connection test succeeded" => "A kapcsolatellenőrzés eredménye: sikerült",
"Connection test failed" => "A kapcsolatellenőrzés eredménye: nem sikerült",
"Do you really want to delete the current Server Configuration?" => "Tényleg törölni szeretné a kiszolgáló beállításait?",
@@ -70,6 +74,13 @@
"Email Field" => "Email mező",
"User Home Folder Naming Rule" => "A home könyvtár elérési útvonala",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Hagyja üresen, ha a felhasználónevet kívánja használni. Ellenkező esetben adjon meg egy LDAP/AD attribútumot!",
+"Internal Username" => "Belső felhasználónév",
+"Internal Username Attribute:" => "A belső felhasználónév attribútuma:",
+"Override UUID detection" => "Az UUID-felismerés felülbírálása",
+"UUID Attribute:" => "UUID attribútum:",
+"Username-LDAP User Mapping" => "Felhasználó - LDAP felhasználó hozzárendelés",
+"Clear Username-LDAP User Mapping" => "A felhasználó - LDAP felhasználó hozzárendelés törlése",
+"Clear Groupname-LDAP Group Mapping" => "A csoport - LDAP csoport hozzárendelés törlése",
"Test Configuration" => "A beállítások tesztelése",
"Help" => "Súgó"
);
diff --git a/apps/user_ldap/l10n/ia.php b/apps/user_ldap/l10n/ia.php
index 38374abda7f..624fd4fa0eb 100644
--- a/apps/user_ldap/l10n/ia.php
+++ b/apps/user_ldap/l10n/ia.php
@@ -1,4 +1,5 @@
"Error",
"Password" => "Contrasigno",
"Help" => "Adjuta"
);
diff --git a/apps/user_ldap/l10n/id.php b/apps/user_ldap/l10n/id.php
index 5f76d6b99fb..c04d09fc671 100644
--- a/apps/user_ldap/l10n/id.php
+++ b/apps/user_ldap/l10n/id.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Ambil alih pengaturan dari konfigurasi server saat ini?",
"Keep settings?" => "Biarkan pengaturan?",
"Cannot add server configuration" => "Gagal menambah konfigurasi server",
+"Success" => "Sukses",
+"Error" => "Galat",
"Connection test succeeded" => "Tes koneksi sukses",
"Connection test failed" => "Tes koneksi gagal",
"Do you really want to delete the current Server Configuration?" => "Anda ingin menghapus Konfigurasi Server saat ini?",
diff --git a/apps/user_ldap/l10n/is.php b/apps/user_ldap/l10n/is.php
index 29bc7692795..6ea474f56df 100644
--- a/apps/user_ldap/l10n/is.php
+++ b/apps/user_ldap/l10n/is.php
@@ -1,5 +1,8 @@
"Geyma stillingar ?",
+"Error" => "Villa",
"Host" => "Netþjónn",
"Password" => "Lykilorð",
+"Test Configuration" => "Prúfa uppsetningu",
"Help" => "Hjálp"
);
diff --git a/apps/user_ldap/l10n/it.php b/apps/user_ldap/l10n/it.php
index a2790fd1dec..48bcbdf589a 100644
--- a/apps/user_ldap/l10n/it.php
+++ b/apps/user_ldap/l10n/it.php
@@ -1,4 +1,5 @@
"Cancellazione delle associazioni non riuscita.",
"Failed to delete the server configuration" => "Eliminazione della configurazione del server non riuscita",
"The configuration is valid and the connection could be established!" => "La configurazione è valida e la connessione può essere stabilita.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "La configurazione è valida, ma il Bind non è riuscito. Controlla le impostazioni del server e le credenziali.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Vuoi recuperare le impostazioni dalla configurazione recente del server?",
"Keep settings?" => "Vuoi mantenere le impostazioni?",
"Cannot add server configuration" => "Impossibile aggiungere la configurazione del server",
+"mappings cleared" => "associazioni cancellate",
+"Success" => "Riuscito",
+"Error" => "Errore",
"Connection test succeeded" => "Prova di connessione riuscita",
"Connection test failed" => "Prova di connessione non riuscita",
"Do you really want to delete the current Server Configuration?" => "Vuoi davvero eliminare la configurazione attuale del server?",
@@ -70,6 +74,16 @@
"Email Field" => "Campo Email",
"User Home Folder Naming Rule" => "Regola di assegnazione del nome della cartella utente",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Lascia vuoto per il nome utente (predefinito). Altrimenti, specifica un attributo LDAP/AD.",
+"Internal Username" => "Nome utente interno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "In modo predefinito, il nome utente interno sarà creato dall'attributo UUID. Ciò assicura che il nome utente sia univoco e che non sia necessario convertire i caratteri. Il nome utente interno consente l'uso di determinati caratteri: [ a-zA-Z0-9_.@- ]. Altri caratteri sono sostituiti con il corrispondente ASCII o sono semplicemente omessi. In caso di conflitto, sarà incrementato/decrementato un numero. Il nome utente interno è utilizzato per identificare un utente internamente. Rappresenta, inoltre, il nome predefinito per la cartella home dell'utente in ownCloud. Costituisce anche una porta di URL remoti, ad esempio per tutti i servizi *DAV. Con questa impostazione, il comportamento predefinito può essere scavalcato. Per ottenere un comportamento simile alle versioni precedenti ownCloud 5, inserisci l'attributo del nome visualizzato dell'utente nel campo seguente. Lascialo vuoto per il comportamento predefinito. Le modifiche avranno effetto solo sui nuovo utenti LDAP associati (aggiunti).",
+"Internal Username Attribute:" => "Attributo nome utente interno:",
+"Override UUID detection" => "Ignora rilevamento UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "In modo predefinito, ownCloud rileva automaticamente l'attributo UUID. L'attributo UUID è utilizzato per identificare senza alcun dubbio gli utenti e i gruppi LDAP. Inoltre, il nome utente interno sarà creato sulla base dell'UUID, se non è specificato in precedenza. Puoi ignorare l'impostazione e fornire un attributo di tua scelta. Assicurati che l'attributo scelto possa essere ottenuto sia per gli utenti che per i gruppi e che sia univoco. Lascialo vuoto per ottenere il comportamento predefinito. Le modifiche avranno effetto solo sui nuovi utenti e gruppi LDAP associati (aggiunti).",
+"UUID Attribute:" => "Attributo UUID:",
+"Username-LDAP User Mapping" => "Associazione Nome utente-Utente LDAP",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud utilizza i nomi utente per archiviare e assegnare i (meta) dati. Per identificare con precisione e riconoscere gli utenti, ogni utente LDAP avrà un nome utente interno. Ciò richiede un'associazione tra il nome utente di ownCloud e l'utente LDAP. In aggiunta, il DN viene mantenuto in cache per ridurre l'interazione con LDAP, ma non è utilizzato per l'identificazione. Se il DN cambia, le modifiche saranno rilevate da ownCloud. Il nome utente interno di ownCloud è utilizzato dappertutto in ownCloud. La cancellazione delle associazioni lascerà tracce residue ovunque e interesserà esclusivamente la configurazione LDAP. Non cancellare mai le associazioni in un ambiente di produzione. Procedere alla cancellazione delle associazioni solo in una fase sperimentale o di test.",
+"Clear Username-LDAP User Mapping" => "Cancella associazione Nome utente-Utente LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Cancella associazione Nome gruppo-Gruppo LDAP",
"Test Configuration" => "Prova configurazione",
"Help" => "Aiuto"
);
diff --git a/apps/user_ldap/l10n/ja_JP.php b/apps/user_ldap/l10n/ja_JP.php
index 8239ecf3cc9..53fa9ae697d 100644
--- a/apps/user_ldap/l10n/ja_JP.php
+++ b/apps/user_ldap/l10n/ja_JP.php
@@ -1,4 +1,5 @@
"マッピングのクリアに失敗しました。",
"Failed to delete the server configuration" => "サーバ設定の削除に失敗しました",
"The configuration is valid and the connection could be established!" => "設定は有効であり、接続を確立しました!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "設定は有効ですが、接続に失敗しました。サーバ設定と資格情報を確認して下さい。",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "最近のサーバ設定から設定を引き継ぎますか?",
"Keep settings?" => "設定を保持しますか?",
"Cannot add server configuration" => "サーバ設定を追加できません",
+"mappings cleared" => "マッピングをクリアしました",
+"Success" => "成功",
+"Error" => "エラー",
"Connection test succeeded" => "接続テストに成功しました",
"Connection test failed" => "接続テストに失敗しました",
"Do you really want to delete the current Server Configuration?" => "現在のサーバ設定を本当に削除してもよろしいですか?",
@@ -70,6 +74,16 @@
"Email Field" => "メールフィールド",
"User Home Folder Naming Rule" => "ユーザのホームフォルダ命名規則",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "ユーザ名を空のままにしてください(デフォルト)。そうでない場合は、LDAPもしくはADの属性を指定してください。",
+"Internal Username" => "内部ユーザ名",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "デフォルトでは、内部ユーザ名はUUID属性から作成されます。これにより、ユーザ名がユニークであり、かつ文字の変換が必要ないことを保証します。内部ユーザ名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザ名との衝突の回数が増加するでしょう。内部ユーザ名は、内部的にユーザを識別するために用いられ、また、ownCloudにおけるデフォルトのホームフォルダ名としても用いられます。例えば*DAVサービスのように、リモートURLのポートでもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザ表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザにおいてのみ有効となります。",
+"Internal Username Attribute:" => "内部ユーザ名属性:",
+"Override UUID detection" => "UUID検出を再定義する",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "デフォルトでは、ownCloud は UUID 属性を自動的に検出します。UUID属性は、LDAPユーザとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザ名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザとLDAPグループに対してのみ有効となります。",
+"UUID Attribute:" => "UUID属性:",
+"Username-LDAP User Mapping" => "ユーザ名とLDAPユーザのマッピング",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloudは(メタ) データの保存と割り当てにユーザ名を使用します。ユーザを正確に識別して認識するために、個々のLDAPユーザは内部ユーザ名を持っています。これは、ownCloudユーザ名とLDAPユーザ名の間のマッピングが必要であることを意味しています。生成されたユーザ名は、LDAPユーザのUUIDとマッピングされます。加えて、DNがLDAPとのインタラクションを削減するためにキャッシュされますが、識別には利用されません。DNが変わった場合は、変更をownCloudが見つけます。内部のownCloud名はownCloud全体に亘って利用されます。マッピングをクリアすると、いたるところに使われないままの物が残るでしょう。マッピングのクリアは設定に敏感ではありませんが、全てのLDAPの設定に影響を与えます!本番の環境では決してマッピングをクリアしないでください。テストもしくは実験の段階でのみマッピングのクリアを行なってください。",
+"Clear Username-LDAP User Mapping" => "ユーザ名とLDAPユーザのマッピングをクリアする",
+"Clear Groupname-LDAP Group Mapping" => "グループ名とLDAPグループのマッピングをクリアする",
"Test Configuration" => "設定をテスト",
"Help" => "ヘルプ"
);
diff --git a/apps/user_ldap/l10n/ka_GE.php b/apps/user_ldap/l10n/ka_GE.php
index b3f6058a0ca..8057f7c8455 100644
--- a/apps/user_ldap/l10n/ka_GE.php
+++ b/apps/user_ldap/l10n/ka_GE.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "დაბრუნდებით სერვერის წინა კონფიგურაციაში?",
"Keep settings?" => "დავტოვოთ პარამეტრები?",
"Cannot add server configuration" => "სერვერის პარამეტრების დამატება ვერ მოხერხდა",
+"Success" => "დასრულდა",
+"Error" => "შეცდომა",
"Connection test succeeded" => "კავშირის ტესტირება მოხერხდა",
"Connection test failed" => "კავშირის ტესტირება ვერ მოხერხდა",
"Do you really want to delete the current Server Configuration?" => "ნამდვილად გინდათ წაშალოთ სერვერის მიმდინარე პარამეტრები?",
diff --git a/apps/user_ldap/l10n/ko.php b/apps/user_ldap/l10n/ko.php
index 8aa9fe74b3d..b8196e09d09 100644
--- a/apps/user_ldap/l10n/ko.php
+++ b/apps/user_ldap/l10n/ko.php
@@ -1,6 +1,7 @@
"삭제 실패",
"Keep settings?" => "설정을 유지합니까?",
+"Error" => "오류",
"Connection test succeeded" => "연결 시험 성공",
"Connection test failed" => "연결 시험 실패",
"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "경고: user_ldap 앱과 user_webdavauth 앱은 호환되지 않습니다. 오동작을 일으킬 수 있으므로, 시스템 관리자에게 요청하여 둘 중 하나만 사용하도록 하십시오.",
diff --git a/apps/user_ldap/l10n/ku_IQ.php b/apps/user_ldap/l10n/ku_IQ.php
index f8f893834b1..00602ae5d79 100644
--- a/apps/user_ldap/l10n/ku_IQ.php
+++ b/apps/user_ldap/l10n/ku_IQ.php
@@ -1,4 +1,6 @@
"سهرکهوتن",
+"Error" => "ههڵه",
"Password" => "وشەی تێپەربو",
"Help" => "یارمەتی"
);
diff --git a/apps/user_ldap/l10n/lb.php b/apps/user_ldap/l10n/lb.php
index 39ed627ce2c..cf58c9ec5be 100644
--- a/apps/user_ldap/l10n/lb.php
+++ b/apps/user_ldap/l10n/lb.php
@@ -1,5 +1,6 @@
"Konnt net läschen",
+"Error" => "Fehler",
"Password" => "Passwuert",
"Help" => "Hëllef"
);
diff --git a/apps/user_ldap/l10n/lt_LT.php b/apps/user_ldap/l10n/lt_LT.php
index aa21dd2d3c1..6f396847b8e 100644
--- a/apps/user_ldap/l10n/lt_LT.php
+++ b/apps/user_ldap/l10n/lt_LT.php
@@ -1,5 +1,6 @@
"Ištrinti nepavyko",
+"Error" => "Klaida",
"Password" => "Slaptažodis",
"Group Filter" => "Grupės filtras",
"Port" => "Prievadas",
diff --git a/apps/user_ldap/l10n/lv.php b/apps/user_ldap/l10n/lv.php
index 50126664e5b..73ffedcb134 100644
--- a/apps/user_ldap/l10n/lv.php
+++ b/apps/user_ldap/l10n/lv.php
@@ -7,6 +7,7 @@
"Take over settings from recent server configuration?" => "Paņemt iestatījumus no nesenas servera konfigurācijas?",
"Keep settings?" => "Paturēt iestatījumus?",
"Cannot add server configuration" => "Nevar pievienot servera konfigurāciju",
+"Error" => "Kļūda",
"Connection test succeeded" => "Savienojuma tests ir veiksmīgs",
"Connection test failed" => "Savienojuma tests cieta neveiksmi",
"Do you really want to delete the current Server Configuration?" => "Vai tiešām vēlaties dzēst pašreizējo servera konfigurāciju?",
diff --git a/apps/user_ldap/l10n/mk.php b/apps/user_ldap/l10n/mk.php
index 7d34ff49492..6a060aca415 100644
--- a/apps/user_ldap/l10n/mk.php
+++ b/apps/user_ldap/l10n/mk.php
@@ -1,5 +1,6 @@
"Бришењето е неуспешно",
+"Error" => "Грешка",
"Host" => "Домаќин",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Може да го скокнете протколот освен ако не ви треба SSL. Тогаш ставете ldaps://",
"Password" => "Лозинка",
diff --git a/apps/user_ldap/l10n/ms_MY.php b/apps/user_ldap/l10n/ms_MY.php
index 88ed18346ca..b3004028c58 100644
--- a/apps/user_ldap/l10n/ms_MY.php
+++ b/apps/user_ldap/l10n/ms_MY.php
@@ -1,5 +1,6 @@
"Pemadaman gagal",
+"Error" => "Ralat",
"Password" => "Kata laluan",
"Help" => "Bantuan"
);
diff --git a/apps/user_ldap/l10n/nb_NO.php b/apps/user_ldap/l10n/nb_NO.php
index c4700245f24..f8cdf694ff6 100644
--- a/apps/user_ldap/l10n/nb_NO.php
+++ b/apps/user_ldap/l10n/nb_NO.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Hent innstillinger fra tidligere tjener-konfigurasjon?",
"Keep settings?" => "Behold innstillinger?",
"Cannot add server configuration" => "Kan ikke legge til tjener-konfigurasjon",
+"Success" => "Suksess",
+"Error" => "Feil",
"Connection test succeeded" => "Tilkoblingstest lyktes",
"Connection test failed" => "Tilkoblingstest mislyktes",
"Do you really want to delete the current Server Configuration?" => "Er du sikker på at du vil slette aktiv tjener-konfigurasjon?",
diff --git a/apps/user_ldap/l10n/nl.php b/apps/user_ldap/l10n/nl.php
index 7973c66cd10..c75aae3ea4f 100644
--- a/apps/user_ldap/l10n/nl.php
+++ b/apps/user_ldap/l10n/nl.php
@@ -1,4 +1,5 @@
"Niet gelukt de vertalingen leeg te maken.",
"Failed to delete the server configuration" => "Verwijderen serverconfiguratie mislukt",
"The configuration is valid and the connection could be established!" => "De configuratie is geldig en de verbinding is geslaagd!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "De configuratie is geldig, maar Bind mislukte. Controleer de serverinstellingen en inloggegevens.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Overnemen instellingen van de recente serverconfiguratie?",
"Keep settings?" => "Instellingen bewaren?",
"Cannot add server configuration" => "Kon de serverconfiguratie niet toevoegen",
+"mappings cleared" => "vertaaltabel leeggemaakt",
+"Success" => "Succes",
+"Error" => "Fout",
"Connection test succeeded" => "Verbindingstest geslaagd",
"Connection test failed" => "Verbindingstest mislukt",
"Do you really want to delete the current Server Configuration?" => "Wilt u werkelijk de huidige Serverconfiguratie verwijderen?",
@@ -70,6 +74,16 @@
"Email Field" => "E-mailveld",
"User Home Folder Naming Rule" => "Gebruikers Home map naamgevingsregel",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Laat leeg voor de gebruikersnaam (standaard). Of, specificeer een LDAP/AD attribuut.",
+"Internal Username" => "Interne gebruikersnaam",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Standaard wordt de interne gebruikersnaam aangemaakt op basis van de UUID attribuut. Het zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft als beperking dat alleen deze tekens zijn toegestaan: [a-zA-Z0-9_.@- ]. Andere tekens worden vervangen door hun ASCII vertaling of gewoonweg weggelaten. Bij identieke namen wordt een nummer toegevoegd of verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker binnen het systeem te herkennen. Het is ook de standaardnaam voor de standaardmap van de gebruiker in ownCloud. Het is ook een vertaling voor externe URL's, bijvoorbeeld voor alle * DAV diensten. Met deze instelling kan het standaardgedrag worden overschreven. Om een soortgelijk gedrag te bereiken als van voor ownCloud 5, voer het gebruikersweergavenaam attribuut in in het volgende veld. Laat het leeg voor standaard gedrag. Veranderingen worden alleen toegepast op nieuw in kaart gebracht (toegevoegde) LDAP-gebruikers.",
+"Internal Username Attribute:" => "Interne gebruikersnaam attribuut:",
+"Override UUID detection" => "Negeren UUID detectie",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Standaard herkent ownCloud het UUID attribuut automatisch. Het UUID attribuut wordt gebruikt om LDAP-gebruikers en -groepen uniek te identificeren. Ook zal de interne gebruikersnaam worden aangemaakt op basis van het UUID, tenzij dit hierboven anders is aangegeven. U kunt de instelling overschrijven en zelf een waarde voor het attribuut opgeven. U moet ervoor zorgen dat het ingestelde attribuut kan worden opgehaald voor zowel gebruikers als groepen en dat het uniek is. Laat het leeg voor standaard gedrag. Veranderingen worden alleen doorgevoerd op nieuw in kaart gebrachte (toegevoegde) LDAP-gebruikers en-groepen.",
+"UUID Attribute:" => "UUID Attribuut:",
+"Username-LDAP User Mapping" => "Gebruikersnaam-LDAP gebruikers vertaling",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud maakt gebruik van gebruikersnamen om (meta) data op te slaan en toe te wijzen. Om gebruikers uniek te identificeren, zal elke LDAP-gebruiker ook een interne gebruikersnaam krijgen. Dit vereist een mapping van de ownCloud gebruikersnaam naar een LDAP-gebruiker. De gecreëerde gebruikersnaam is gekoppeld aan de UUID van de LDAP-gebruiker. Ook de 'DN' wordt gecached om het aantal LDAP transacties te verminderen, maar deze wordt niet gebruikt voor identificatie. Als de DN verandert, zullen de veranderingen worden gevonden door ownCloud. De interne ownCloud naam wordt overal in ownCloud gebruikt. Wissen van de koppeling zal overal overblijfsel laten staan. Het wissen van Mappings is niet configuratiegevoelig, maar het raakt wel alle LDAP instellingen! Zorg ervoor dat deze Mappings nooit in een productieomgeving plaatsvinden. Maak ze alleen leeg in een test-of ontwikkelomgeving.",
+"Clear Username-LDAP User Mapping" => "Leegmaken Gebruikersnaam-LDAP gebruikers vertaling",
+"Clear Groupname-LDAP Group Mapping" => "Leegmaken Groepsnaam-LDAP groep vertaling",
"Test Configuration" => "Test configuratie",
"Help" => "Help"
);
diff --git a/apps/user_ldap/l10n/nn_NO.php b/apps/user_ldap/l10n/nn_NO.php
index 9f84258c56d..45910022803 100644
--- a/apps/user_ldap/l10n/nn_NO.php
+++ b/apps/user_ldap/l10n/nn_NO.php
@@ -1,5 +1,6 @@
"Feil ved sletting",
+"Error" => "Feil",
"Password" => "Passord",
"Help" => "Hjelp"
);
diff --git a/apps/user_ldap/l10n/oc.php b/apps/user_ldap/l10n/oc.php
index 49b6c5970cc..95ab51caadd 100644
--- a/apps/user_ldap/l10n/oc.php
+++ b/apps/user_ldap/l10n/oc.php
@@ -1,5 +1,6 @@
"Fracàs d'escafatge",
+"Error" => "Error",
"Password" => "Senhal",
"Help" => "Ajuda"
);
diff --git a/apps/user_ldap/l10n/pl.php b/apps/user_ldap/l10n/pl.php
index a5b620e48ba..5495ab99404 100644
--- a/apps/user_ldap/l10n/pl.php
+++ b/apps/user_ldap/l10n/pl.php
@@ -1,4 +1,5 @@
"Nie udało się wyczyścić mapowania.",
"Failed to delete the server configuration" => "Nie można usunąć konfiguracji serwera",
"The configuration is valid and the connection could be established!" => "Konfiguracja jest prawidłowa i można ustanowić połączenie!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Konfiguracja jest prawidłowa, ale Bind nie. Sprawdź ustawienia serwera i poświadczenia.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Przejmij ustawienia z ostatnich konfiguracji serwera?",
"Keep settings?" => "Zachować ustawienia?",
"Cannot add server configuration" => "Nie można dodać konfiguracji serwera",
+"mappings cleared" => "Mapoanie wyczyszczone",
+"Success" => "Sukces",
+"Error" => "Błąd",
"Connection test succeeded" => "Test połączenia udany",
"Connection test failed" => "Test połączenia nie udany",
"Do you really want to delete the current Server Configuration?" => "Czy chcesz usunąć bieżącą konfigurację serwera?",
@@ -70,6 +74,14 @@
"Email Field" => "Pole email",
"User Home Folder Naming Rule" => "Reguły nazewnictwa folderu domowego użytkownika",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Pozostaw puste dla user name (domyślnie). W przeciwnym razie podaj atrybut LDAP/AD.",
+"Internal Username" => "Wewnętrzna nazwa użytkownika",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Domyślnie, wewnętrzna nazwa użytkownika zostanie utworzona z atrybutu UUID, ang. Universally unique identifier - Unikalny identyfikator użytkownika. To daje pewność, że nazwa użytkownika jest niepowtarzalna a znaki nie muszą być konwertowane. Wewnętrzna nazwa użytkownika dopuszcza jedynie znaki: [ a-zA-Z0-9_.@- ]. Pozostałe znaki zamieniane są na ich odpowiedniki ASCII lub po prostu pomijane. W przypadku, gdy nazwa się powtarza na końcu dodawana / zwiększana jest cyfra. Wewnętrzna nazwa użytkownika służy do wewnętrznej identyfikacji użytkownika. Jest to również domyślna nazwa głównego folderu w ownCloud. Jest to również klucz zdalnego URL, na przykład dla wszystkich usług *DAV. Dzięki temu ustawieniu można modyfikować domyślne zachowania. Aby osiągnąć podobny efekt jak w ownCloud 5 wpisz atrybut nazwy użytkownika w poniższym polu. Pozostaw puste dla domyślnego zachowania. Zmiany będą miały wpływ tylko na nowo stworzonych (dodane) użytkowników LDAP.",
+"Internal Username Attribute:" => "Wewnętrzny atrybut nazwy uzżytkownika:",
+"Override UUID detection" => "Zastąp wykrywanie UUID",
+"UUID Attribute:" => "Atrybuty UUID:",
+"Username-LDAP User Mapping" => "Mapowanie użytkownika LDAP",
+"Clear Username-LDAP User Mapping" => "Czyść Mapowanie użytkownika LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Czyść Mapowanie nazwy grupy LDAP",
"Test Configuration" => "Konfiguracja testowa",
"Help" => "Pomoc"
);
diff --git a/apps/user_ldap/l10n/pt_BR.php b/apps/user_ldap/l10n/pt_BR.php
index a728ea15fde..22247b81005 100644
--- a/apps/user_ldap/l10n/pt_BR.php
+++ b/apps/user_ldap/l10n/pt_BR.php
@@ -1,4 +1,5 @@
"Falha ao limpar os mapeamentos.",
"Failed to delete the server configuration" => "Falha ao deletar a configuração do servidor",
"The configuration is valid and the connection could be established!" => "A configuração é válida e a conexão foi estabelecida!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "A configuração é válida, mas o Bind falhou. Confira as configurações do servidor e as credenciais.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Tomar parámetros de recente configuração de servidor?",
"Keep settings?" => "Manter ajustes?",
"Cannot add server configuration" => "Impossível adicionar a configuração do servidor",
+"mappings cleared" => "mapeamentos limpos",
+"Success" => "Sucesso",
+"Error" => "Erro",
"Connection test succeeded" => "Teste de conexão bem sucedida",
"Connection test failed" => "Teste de conexão falhou",
"Do you really want to delete the current Server Configuration?" => "Você quer realmente deletar as atuais Configurações de Servidor?",
@@ -70,6 +74,16 @@
"Email Field" => "Campo de Email",
"User Home Folder Naming Rule" => "Regra para Nome da Pasta Pessoal do Usuário",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixe vazio para nome de usuário (padrão). Caso contrário, especifique um atributo LDAP/AD.",
+"Internal Username" => "Nome de usuário interno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Por padrão, o nome de usuário interno será criado a partir do atributo UUID. Ele garante que o nome de usuário é única e personagens não precisam ser convertidos. O nome de usuário interno tem a restrição de que apenas estes caracteres são permitidos: [a-zA-Z0-9_ @ -.]. Outros caracteres são substituídas por seu correspondente ASCII ou simplesmente serão omitidos. Em colisões um número será adicionado/aumentado. O nome de utilizador interna é usada para identificar um utilizador internamente. É também o nome padrão para a pasta home do usuário em ownCloud. É também um porto de URLs remoto, por exemplo, para todos os serviços de *DAV. Com esta definição, o comportamento padrão pode ser anulado. Para conseguir um comportamento semelhante como antes ownCloud 5 entrar na tela atributo nome de usuário no campo seguinte. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas no recém mapeados (adicionado) de usuários LDAP. ",
+"Internal Username Attribute:" => "Atributo Interno de Nome de Usuário:",
+"Override UUID detection" => "Substituir detecção UUID",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por padrão, ownCloud detecta automaticamente o atributo UUID. O atributo UUID é usado para identificar, sem dúvida, os usuários e grupos LDAP. Além disso, o nome de usuário interno será criado com base no UUID, se não especificada acima. Você pode substituir a configuração e passar um atributo de sua escolha. Você deve certificar-se de que o atributo de sua escolha pode ser obtida tanto para usuários e grupos e é único. Deixe-o vazio para o comportamento padrão. As alterações terão efeito apenas no recém mapeados (adicionado) de usuários e grupos LDAP.",
+"UUID Attribute:" => "Atributo UUID:",
+"Username-LDAP User Mapping" => "Usuário-LDAP Mapeamento de Usuário",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud usa nomes de usuários para armazenar e atribuir (meta) dados. A fim de identificar com precisão e reconhecer usuários, cada usuário LDAP terá um nome de usuário interno. Isso requer um mapeamento de ownCloud do nome de usuário para usuário LDAP. O nome de usuário criado é mapeado para o UUID do usuário LDAP. Além disso, o DN está em cache, assim como para reduzir a interação LDAP, mas que não é utilizado para a identificação. Se a DN muda, as mudanças serão encontradas pelo ownCloud. O nome ownCloud interno é utilizado em todo ownCloud. Limpando os mapeamentos terá sobras em todos os lugares. Limpeza dos mapeamentos não são sensíveis a configuração, isso afeta todas as configurações LDAP! Nunca limpar os mapeamentos em um ambiente de produção. Somente limpe os mapeamentos em uma fase de testes ou experimental.",
+"Clear Username-LDAP User Mapping" => "Limpar Mapeamento de Usuário Nome de Usuário-LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Limpar NomedoGrupo-LDAP Mapeamento do Grupo",
"Test Configuration" => "Teste de Configuração",
"Help" => "Ajuda"
);
diff --git a/apps/user_ldap/l10n/pt_PT.php b/apps/user_ldap/l10n/pt_PT.php
index 02b03d5a752..308fd34760a 100644
--- a/apps/user_ldap/l10n/pt_PT.php
+++ b/apps/user_ldap/l10n/pt_PT.php
@@ -1,4 +1,5 @@
"Falhou a limpar os mapas",
"Failed to delete the server configuration" => "Erro ao eliminar as configurações do servidor",
"The configuration is valid and the connection could be established!" => "A configuração está correcta e foi possível estabelecer a ligação!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "A configuração está correcta, mas não foi possível estabelecer o \"laço\", por favor, verifique as configurações do servidor e as credenciais.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Assumir as configurações da configuração do servidor mais recente?",
"Keep settings?" => "Manter as definições?",
"Cannot add server configuration" => "Não foi possível adicionar as configurações do servidor.",
+"mappings cleared" => "Mapas limpos",
+"Success" => "Sucesso",
+"Error" => "Erro",
"Connection test succeeded" => "Teste de conecção passado com sucesso.",
"Connection test failed" => "Erro no teste de conecção.",
"Do you really want to delete the current Server Configuration?" => "Deseja realmente apagar as configurações de servidor actuais?",
@@ -70,6 +74,13 @@
"Email Field" => "Campo de email",
"User Home Folder Naming Rule" => "Regra da pasta inicial do utilizador",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixe vazio para nome de utilizador (padrão). De outro modo, especifique um atributo LDAP/AD.",
+"Internal Username" => "Nome de utilizador interno",
+"Internal Username Attribute:" => "Atributo do nome de utilizador interno",
+"Override UUID detection" => "Passar a detecção do UUID",
+"UUID Attribute:" => "Atributo UUID:",
+"Username-LDAP User Mapping" => "Mapeamento do utilizador LDAP",
+"Clear Username-LDAP User Mapping" => "Limpar mapeamento do utilizador-LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Limpar o mapeamento do nome de grupo LDAP",
"Test Configuration" => "Testar a configuração",
"Help" => "Ajuda"
);
diff --git a/apps/user_ldap/l10n/ro.php b/apps/user_ldap/l10n/ro.php
index 8f55a35b491..260ee610639 100644
--- a/apps/user_ldap/l10n/ro.php
+++ b/apps/user_ldap/l10n/ro.php
@@ -1,5 +1,7 @@
"Ștergerea a eșuat",
+"Success" => "Succes",
+"Error" => "Eroare",
"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Atentie: Apps user_ldap si user_webdavauth sunt incompatibile. Este posibil sa experimentati un comportament neasteptat. Vă rugăm să întrebați administratorul de sistem pentru a dezactiva una dintre ele.",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Atenție Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala.",
"Host" => "Gazdă",
diff --git a/apps/user_ldap/l10n/ru.php b/apps/user_ldap/l10n/ru.php
index 0746e1e8929..0573be3993f 100644
--- a/apps/user_ldap/l10n/ru.php
+++ b/apps/user_ldap/l10n/ru.php
@@ -1,4 +1,5 @@
"Не удалось очистить соотвествия.",
"Failed to delete the server configuration" => "Не удалось удалить конфигурацию сервера",
"The configuration is valid and the connection could be established!" => "Конфигурация правильная и подключение может быть установлено!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Конфигурация верна, но операция подключения завершилась неудачно. Пожалуйста, проверьте настройки сервера и учетные данные.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Принять настройки из последней конфигурации сервера?",
"Keep settings?" => "Сохранить настройки?",
"Cannot add server configuration" => "Не получилось добавить конфигурацию сервера",
+"mappings cleared" => "Соответствия очищены",
+"Success" => "Успешно",
+"Error" => "Ошибка",
"Connection test succeeded" => "Проверка соединения удалась",
"Connection test failed" => "Проверка соединения не удалась",
"Do you really want to delete the current Server Configuration?" => "Вы действительно хотите удалить существующую конфигурацию сервера?",
@@ -70,6 +74,13 @@
"Email Field" => "Поле адресса эллектронной почты",
"User Home Folder Naming Rule" => "Правило именования Домашней Папки Пользователя",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Оставьте имя пользователя пустым (по умолчанию). Иначе укажите атрибут LDAP/AD.",
+"Internal Username" => "Внутреннее имя пользователя",
+"Internal Username Attribute:" => "Аттрибут для внутреннего имени:",
+"Override UUID detection" => "Переопределить нахождение UUID",
+"UUID Attribute:" => "Аттрибут для UUID:",
+"Username-LDAP User Mapping" => "Соответствия Имя-Пользователь LDAP",
+"Clear Username-LDAP User Mapping" => "Очистить соответствия Имя-Пользователь LDAP",
+"Clear Groupname-LDAP Group Mapping" => "Очистить соответствия Группа-Группа LDAP",
"Test Configuration" => "Тестовая конфигурация",
"Help" => "Помощь"
);
diff --git a/apps/user_ldap/l10n/ru_RU.php b/apps/user_ldap/l10n/ru_RU.php
index a4ed503b1d1..7b6833ebf8c 100644
--- a/apps/user_ldap/l10n/ru_RU.php
+++ b/apps/user_ldap/l10n/ru_RU.php
@@ -1,42 +1,4 @@
"Удаление не удалось",
-"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Предупреждение: Приложения user_ldap и user_webdavauth несовместимы. Вы можете столкнуться с неожиданным поведением системы. Пожалуйста, обратитесь к системному администратору для отключения одного из них.",
-"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Предупреждение: Модуль 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 и Пароль пустыми.",
-"Password" => "Пароль",
-"For anonymous access, leave DN and Password empty." => "Для анонимного доступа оставьте поля DN и пароль пустыми.",
-"User Login Filter" => "Фильтр имен пользователей",
-"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Задает фильтр, применяемый при загрузке пользователя. %%uid заменяет имя пользователя при входе.",
-"use %%uid placeholder, e.g. \"uid=%%uid\"" => "используйте %%uid заполнитель, например, \"uid=%%uid\"",
-"User List Filter" => "Фильтр списка пользователей",
-"Defines the filter to apply, when retrieving users." => "Задает фильтр, применяемый при получении пользователей.",
-"without any placeholder, e.g. \"objectClass=person\"." => "без каких-либо заполнителей, например, \"objectClass=person\".",
-"Group Filter" => "Групповой фильтр",
-"Defines the filter to apply, when retrieving groups." => "Задает фильтр, применяемый при получении групп.",
-"without any placeholder, e.g. \"objectClass=posixGroup\"." => "без каких-либо заполнителей, например, \"objectClass=posixGroup\".",
-"Port" => "Порт",
-"Use TLS" => "Использовать TLS",
-"Case insensitve LDAP server (Windows)" => "Нечувствительный к регистру LDAP-сервер (Windows)",
-"Turn off SSL certificate validation." => "Выключить проверку сертификата SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Если соединение работает только с этой опцией, импортируйте SSL-сертификат LDAP сервера в ваш ownCloud сервер.",
-"Not recommended, use for testing only." => "Не рекомендовано, используйте только для тестирования.",
-"in seconds. A change empties the cache." => "в секундах. Изменение очищает кэш.",
-"User Display Name Field" => "Поле, отображаемое как имя пользователя",
-"The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, используемый для создания имени пользователя в ownCloud.",
-"Base User Tree" => "Базовое дерево пользователей",
-"One User Base DN per line" => "Одно пользовательское базовое DN на линию",
-"Group Display Name Field" => "Поле, отображаемое как имя группы",
-"The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, используемый для создания группового имени в ownCloud.",
-"Base Group Tree" => "Базовое дерево групп",
-"One Group Base DN per line" => "Одно групповое базовое DN на линию",
-"Group-Member association" => "Связь член-группа",
-"in bytes" => "в байтах",
-"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Оставьте пустым под имя пользователя (по умолчанию). В противном случае задайте LDAP/AD атрибут.",
-"Help" => "Помощь"
+"Success" => "Успех",
+"Error" => "Ошибка"
);
diff --git a/apps/user_ldap/l10n/si_LK.php b/apps/user_ldap/l10n/si_LK.php
index 50124e4d54f..1d81b341b46 100644
--- a/apps/user_ldap/l10n/si_LK.php
+++ b/apps/user_ldap/l10n/si_LK.php
@@ -1,5 +1,7 @@
"මකාදැමීම අසාර්ථකයි",
+"Success" => "සාර්ථකයි",
+"Error" => "දෝෂයක්",
"Host" => "සත්කාරකය",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL අවශ්යය වන විට පමණක් හැර, අන් අවස්ථාවන්හිදී ප්රොටොකෝලය අත් හැරිය හැක. භාවිතා කරන විට ldaps:// ලෙස ආරම්භ කරන්න",
"Password" => "මුර පදය",
diff --git a/apps/user_ldap/l10n/sk_SK.php b/apps/user_ldap/l10n/sk_SK.php
index cb55762e64f..e36a1589367 100644
--- a/apps/user_ldap/l10n/sk_SK.php
+++ b/apps/user_ldap/l10n/sk_SK.php
@@ -1,4 +1,5 @@
"Nepodarilo sa vymazať mapovania.",
"Failed to delete the server configuration" => "Zlyhalo zmazanie nastavenia servera.",
"The configuration is valid and the connection could be established!" => "Nastavenie je v poriadku a pripojenie je stabilné.",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Nastavenie je v poriadku, ale pripojenie zlyhalo. Skontrolujte nastavenia servera a prihlasovacie údaje.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Prebrať nastavenia z nedávneho nastavenia servera?",
"Keep settings?" => "Ponechať nastavenia?",
"Cannot add server configuration" => "Nemožno pridať nastavenie servera",
+"mappings cleared" => "mapovanie vymazané",
+"Success" => "Úspešné",
+"Error" => "Chyba",
"Connection test succeeded" => "Test pripojenia bol úspešný",
"Connection test failed" => "Test pripojenia zlyhal",
"Do you really want to delete the current Server Configuration?" => "Naozaj chcete zmazať súčasné nastavenie servera?",
@@ -70,6 +74,11 @@
"Email Field" => "Pole email",
"User Home Folder Naming Rule" => "Pravidlo pre nastavenie mena používateľského priečinka dát",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Nechajte prázdne pre používateľské meno (predvolené). Inak uveďte atribút LDAP/AD.",
+"Internal Username" => "Interné používateľské meno",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "V predvolenom nastavení bude interné používateľské meno vytvorené z UUID atribútu. Zabezpečí sa to, že používateľské meno bude jedinečné a znaky nemusia byť prevedené. Interné meno má obmedzenie, iba tieto znaky sú povolené: [a-zA-Z0-9_ @ -.]. Ostatné znaky sú nahradené ich ASCII alebo jednoducho vynechané. Pri kolíziách bude číslo byť pridané / odobrané. Interné používateľské meno sa používa na identifikáciu používateľa interne. Je to tiež predvolený názov používateľského domovského priečinka v ownCloud. To je tiež port vzdialeného URL, napríklad pre všetky služby * DAV. S týmto nastavením sa dá prepísať predvolené správanie. Pre dosiahnutie podobného správania sa ako pred ownCloud 5 zadajte atribút zobrazenia používateľského mena v tomto poli. Ponechajte prázdne pre predvolené správanie. Zmeny budú mať vplyv iba na novo mapovaných (pridaných) LDAP používateľov.",
+"Internal Username Attribute:" => "Atribút interného používateľského mena:",
+"Override UUID detection" => "Prepísať UUID detekciu",
+"UUID Attribute:" => "UUID atribút:",
"Test Configuration" => "Test nastavenia",
"Help" => "Pomoc"
);
diff --git a/apps/user_ldap/l10n/sl.php b/apps/user_ldap/l10n/sl.php
index 8ff1fd53440..1ade5d9b733 100644
--- a/apps/user_ldap/l10n/sl.php
+++ b/apps/user_ldap/l10n/sl.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Ali naj se prevzame nastavitve nedavne nastavitve strežnika?",
"Keep settings?" => "Ali nas se nastavitve ohranijo?",
"Cannot add server configuration" => "Ni mogoče dodati nastavitev strežnika",
+"Success" => "Uspešno končano.",
+"Error" => "Napaka",
"Connection test succeeded" => "Preizkus povezave je uspešno končan.",
"Connection test failed" => "Preizkus povezave je spodletel.",
"Do you really want to delete the current Server Configuration?" => "Ali res želite izbrisati trenutne nastavitve strežnika?",
diff --git a/apps/user_ldap/l10n/sq.php b/apps/user_ldap/l10n/sq.php
index 24fd869057d..12324b9f966 100644
--- a/apps/user_ldap/l10n/sq.php
+++ b/apps/user_ldap/l10n/sq.php
@@ -1,4 +1,5 @@
"Veprim i gabuar",
"Password" => "Kodi",
"Help" => "Ndihmë"
);
diff --git a/apps/user_ldap/l10n/sr.php b/apps/user_ldap/l10n/sr.php
index 52569a08ef8..b94bc83e1e4 100644
--- a/apps/user_ldap/l10n/sr.php
+++ b/apps/user_ldap/l10n/sr.php
@@ -1,5 +1,6 @@
"Брисање није успело",
+"Error" => "Грешка",
"Host" => "Домаћин",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Можете да изоставите протокол, осим ако захтевате SSL. У том случају почните са ldaps://.",
"Base DN" => "База DN",
diff --git a/apps/user_ldap/l10n/sv.php b/apps/user_ldap/l10n/sv.php
index 1bb4d9dc0b1..6ab8a9e5a6e 100644
--- a/apps/user_ldap/l10n/sv.php
+++ b/apps/user_ldap/l10n/sv.php
@@ -1,4 +1,5 @@
"Fel vid rensning av mappningar",
"Failed to delete the server configuration" => "Misslyckades med att radera serverinställningen",
"The configuration is valid and the connection could be established!" => "Inställningen är giltig och anslutningen kunde upprättas!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Konfigurationen är riktig, men Bind felade. Var vänlig och kontrollera serverinställningar och logininformation.",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "Ta över inställningar från tidigare serverkonfiguration?",
"Keep settings?" => "Behåll inställningarna?",
"Cannot add server configuration" => "Kunde inte lägga till serverinställning",
+"mappings cleared" => "mappningar rensade",
+"Success" => "Lyckat",
+"Error" => "Fel",
"Connection test succeeded" => "Anslutningstestet lyckades",
"Connection test failed" => "Anslutningstestet misslyckades",
"Do you really want to delete the current Server Configuration?" => "Vill du verkligen radera den nuvarande serverinställningen?",
@@ -70,6 +74,16 @@
"Email Field" => "E-postfält",
"User Home Folder Naming Rule" => "Namnregel för hemkatalog",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Lämnas tomt för användarnamn (standard). Ange annars ett LDAP/AD-attribut.",
+"Internal Username" => "Internt Användarnamn",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "Som standard skapas det interna användarnamnet från UUID-attributet. Det säkerställer att användarnamnet är unikt och tecken inte behöver konverteras. Det interna användarnamnet har restriktionerna att endast följande tecken är tillåtna: [ a-zA-Z0-9_.@- ]. Andra tecken blir ersatta av deras motsvarighet i ASCII eller utelämnas helt. En siffra kommer att läggas till eller ökas på vid en kollision. Det interna användarnamnet används för att identifiera användaren internt. Det är även förvalt som användarens användarnamn i ownCloud. Det är även en port för fjärråtkomst, t.ex. för alla *DAV-tjänster. Med denna inställning kan det förvalda beteendet åsidosättas. För att uppnå ett liknande beteende som innan ownCloud 5, ange attributet för användarens visningsnamn i detta fält. Lämna det tomt för förvalt beteende. Ändringarna kommer endast att påverka nyligen mappade (tillagda) LDAP-användare",
+"Internal Username Attribute:" => "Internt Användarnamn Attribut:",
+"Override UUID detection" => "Åsidosätt UUID detektion",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Som standard upptäcker ownCloud automatiskt UUID-attributet. Det UUID-attributet används för att utan tvivel identifiera LDAP-användare och grupper. Dessutom kommer interna användarnamn skapas baserat på detta UUID, om inte annat anges ovan. Du kan åsidosätta inställningen och passera ett attribut som du själv väljer. Du måste se till att attributet som du väljer kan hämtas för både användare och grupper och att det är unikt. Lämna det tomt för standard beteende. Förändringar kommer endast att påverka nyligen mappade (tillagda) LDAP-användare och grupper.",
+"UUID Attribute:" => "UUID Attribut:",
+"Username-LDAP User Mapping" => "Användarnamn-LDAP User Mapping",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud använder sig av användarnamn för att lagra och tilldela (meta) data. För att exakt kunna identifiera och känna igen användare, kommer varje LDAP-användare ha ett internt användarnamn. Detta kräver en mappning från ownCloud-användarnamn till LDAP-användare. Det skapade användarnamnet mappas till UUID för LDAP-användaren. Dessutom cachas DN samt minska LDAP-interaktionen, men den används inte för identifiering. Om DN förändras, kommer förändringarna hittas av ownCloud. Det interna ownCloud-namnet används överallt i ownCloud. Om du rensar/raderar mappningarna kommer att lämna referenser överallt i systemet. Men den är inte konfigurationskänslig, den påverkar alla LDAP-konfigurationer! Rensa/radera aldrig mappningarna i en produktionsmiljö. Utan gör detta endast på i testmiljö!",
+"Clear Username-LDAP User Mapping" => "Rensa Användarnamn-LDAP User Mapping",
+"Clear Groupname-LDAP Group Mapping" => "Rensa Gruppnamn-LDAP Group Mapping",
"Test Configuration" => "Testa konfigurationen",
"Help" => "Hjälp"
);
diff --git a/apps/user_ldap/l10n/ta_LK.php b/apps/user_ldap/l10n/ta_LK.php
index f6beb3c4863..997f09ca877 100644
--- a/apps/user_ldap/l10n/ta_LK.php
+++ b/apps/user_ldap/l10n/ta_LK.php
@@ -1,5 +1,6 @@
"நீக்கம் தோல்வியடைந்தது",
+"Error" => "வழு",
"Host" => "ஓம்புனர்",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "நீங்கள் SSL சேவையை தவிர உடன்படு வரைமுறையை தவிர்க்க முடியும். பிறகு ldaps:.// உடன் ஆரம்பிக்கவும்",
"Base DN" => "தள DN",
diff --git a/apps/user_ldap/l10n/te.php b/apps/user_ldap/l10n/te.php
index d9a3e713f03..3f047631cf7 100644
--- a/apps/user_ldap/l10n/te.php
+++ b/apps/user_ldap/l10n/te.php
@@ -1,4 +1,5 @@
"పొరపాటు",
"Password" => "సంకేతపదం",
"Help" => "సహాయం"
);
diff --git a/apps/user_ldap/l10n/th_TH.php b/apps/user_ldap/l10n/th_TH.php
index 802badb2f03..ec279ba01e5 100644
--- a/apps/user_ldap/l10n/th_TH.php
+++ b/apps/user_ldap/l10n/th_TH.php
@@ -6,6 +6,8 @@
"Deletion failed" => "การลบทิ้งล้มเหลว",
"Keep settings?" => "รักษาการตั้งค่าไว้?",
"Cannot add server configuration" => "ไม่สามารถเพิ่มค่ากำหนดเซิร์ฟเวอร์ได้",
+"Success" => "เสร็จสิ้น",
+"Error" => "ข้อผิดพลาด",
"Connection test succeeded" => "ทดสอบการเชื่อมต่อสำเร็จ",
"Connection test failed" => "ทดสอบการเชื่อมต่อล้มเหลว",
"Do you really want to delete the current Server Configuration?" => "คุณแน่ใจแล้วหรือว่าต้องการลบการกำหนดค่าเซิร์ฟเวอร์ปัจจุบันทิ้งไป?",
diff --git a/apps/user_ldap/l10n/tr.php b/apps/user_ldap/l10n/tr.php
index 6f75f4371db..3835c72313a 100644
--- a/apps/user_ldap/l10n/tr.php
+++ b/apps/user_ldap/l10n/tr.php
@@ -1,15 +1,16 @@
"Sunucu uyunlama basarmadi ",
-"The configuration is valid and the connection could be established!" => "Uyunlama mantikli ve baglama yerlestirmek edebilmi.",
-"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Uyunlama gecerli, fakat Baglama yapamadi. Lutfen kontrol yapmak, eger bu iyi yerlertirdi. ",
-"The configuration is invalid. Please look in the ownCloud log for further details." => "Uyunma mantikli degil. Lutfen log daha kontrol yapmak. ",
+"Failed to delete the server configuration" => "Sunucu yapılandırmasını silme başarısız oldu",
+"The configuration is valid and the connection could be established!" => "Yapılandırma geçerli ve bağlantı kuruldu!",
+"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "Yapılandırma geçerli fakat bağlanma(bind) başarısız. Lütfen Sunucu ayarları ve kimlik bilgilerini kontrol ediniz.",
+"The configuration is invalid. Please look in the ownCloud log for further details." => "Yapılandırma geçersiz. Daha fazla detay için lütfen ownCloud günlüklerine bakınız.",
"Deletion failed" => "Silme başarısız oldu",
-"Take over settings from recent server configuration?" => "Parametri sonadan uyunlama cikarmak mi?",
-"Keep settings?" => "Ayarları kalsınmı?",
-"Cannot add server configuration" => "Sunucu uyunlama birlemek edemen. ",
+"Take over settings from recent server configuration?" => "Ayarları son sunucu yapılandırmalarından devral?",
+"Keep settings?" => "Ayarlar kalsın mı?",
+"Cannot add server configuration" => "Sunucu yapılandırması eklenemedi",
+"Error" => "Hata",
"Connection test succeeded" => "Bağlantı testi başarılı oldu",
"Connection test failed" => "Bağlantı testi başarısız oldu",
-"Do you really want to delete the current Server Configuration?" => "Hakikatten, Sonuncu Funksyon durmak istiyor mi?",
+"Do you really want to delete the current Server Configuration?" => "Şu anki sunucu yapılandırmasını silmek istediğinizden emin misiniz?",
"Confirm Deletion" => "Silmeyi onayla",
"Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "Uyari Apps kullanici_Idap ve user_webdavauth uyunmayan. Bu belki sik degil. Lutfen sistem yonetici sormak on aktif yapmaya. ",
"Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "Ihbar Modulu PHP LDAP yuklemdi degil, backend calismacak. Lutfen sistem yonetici sormak yuklemek icin.",
diff --git a/apps/user_ldap/l10n/ug.php b/apps/user_ldap/l10n/ug.php
index 05a7a3f9a06..8634cdbe1be 100644
--- a/apps/user_ldap/l10n/ug.php
+++ b/apps/user_ldap/l10n/ug.php
@@ -1,5 +1,6 @@
"ئۆچۈرۈش مەغلۇپ بولدى",
+"Error" => "خاتالىق",
"Host" => "باش ئاپپارات",
"Password" => "ئىم",
"User Login Filter" => "ئىشلەتكۈچى تىزىمغا كىرىش سۈزگۈچى",
diff --git a/apps/user_ldap/l10n/uk.php b/apps/user_ldap/l10n/uk.php
index 623d34c98e6..f92c6d5894e 100644
--- a/apps/user_ldap/l10n/uk.php
+++ b/apps/user_ldap/l10n/uk.php
@@ -7,6 +7,8 @@
"Take over settings from recent server configuration?" => "Застосувати налаштування з останньої конфігурації сервера ?",
"Keep settings?" => "Зберегти налаштування ?",
"Cannot add server configuration" => "Неможливо додати конфігурацію сервера",
+"Success" => "Успіх",
+"Error" => "Помилка",
"Connection test succeeded" => "Перевірка з'єднання пройшла успішно",
"Connection test failed" => "Перевірка з'єднання завершилась неуспішно",
"Do you really want to delete the current Server Configuration?" => "Ви дійсно бажаєте видалити поточну конфігурацію сервера ?",
diff --git a/apps/user_ldap/l10n/ur_PK.php b/apps/user_ldap/l10n/ur_PK.php
index 4c606a13808..83570a596a2 100644
--- a/apps/user_ldap/l10n/ur_PK.php
+++ b/apps/user_ldap/l10n/ur_PK.php
@@ -1,4 +1,5 @@
"ایرر",
"Password" => "پاسورڈ",
"Help" => "مدد"
);
diff --git a/apps/user_ldap/l10n/vi.php b/apps/user_ldap/l10n/vi.php
index 4bbb977f363..7e598225926 100644
--- a/apps/user_ldap/l10n/vi.php
+++ b/apps/user_ldap/l10n/vi.php
@@ -1,5 +1,7 @@
"Xóa thất bại",
+"Success" => "Thành công",
+"Error" => "Lỗi",
"Host" => "Máy chủ",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Bạn có thể bỏ qua các giao thức, ngoại trừ SSL. Sau đó bắt đầu với ldaps://",
"Base DN" => "DN cơ bản",
diff --git a/apps/user_ldap/l10n/zh_CN.GB2312.php b/apps/user_ldap/l10n/zh_CN.GB2312.php
index f5bc41fd46b..6c60ec64e27 100644
--- a/apps/user_ldap/l10n/zh_CN.GB2312.php
+++ b/apps/user_ldap/l10n/zh_CN.GB2312.php
@@ -1,5 +1,7 @@
"删除失败",
+"Success" => "成功",
+"Error" => "出错",
"Host" => "主机",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "您可以忽略协议,除非您需要 SSL。然后用 ldaps:// 开头",
"Base DN" => "基本判别名",
diff --git a/apps/user_ldap/l10n/zh_CN.php b/apps/user_ldap/l10n/zh_CN.php
index 1911734805f..675fe4dfc75 100644
--- a/apps/user_ldap/l10n/zh_CN.php
+++ b/apps/user_ldap/l10n/zh_CN.php
@@ -1,4 +1,5 @@
"清除映射失败。",
"Failed to delete the server configuration" => "未能删除服务器配置",
"The configuration is valid and the connection could be established!" => "配置有效,能够建立连接!",
"The configuration is valid, but the Bind failed. Please check the server settings and credentials." => "配置有效但绑定失败。请检查服务器设置和认证信息。",
@@ -7,6 +8,9 @@
"Take over settings from recent server configuration?" => "从近期的服务器配置中导入设置?",
"Keep settings?" => "保留设置吗?",
"Cannot add server configuration" => "无法添加服务器配置",
+"mappings cleared" => "清除映射",
+"Success" => "成功",
+"Error" => "错误",
"Connection test succeeded" => "连接测试成功",
"Connection test failed" => "连接测试失败",
"Do you really want to delete the current Server Configuration?" => "您真的想要删除当前服务器配置吗?",
@@ -70,6 +74,16 @@
"Email Field" => "电邮字段",
"User Home Folder Naming Rule" => "用户主目录命名规则",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "将用户名称留空(默认)。否则指定一个LDAP/AD属性",
+"Internal Username" => "内部用户名",
+"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder in ownCloud. It is also a port of remote URLs, for instance for all *DAV services. With this setting, the default behaviour can be overriden. To achieve a similar behaviour as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users." => "默认情况下内部用户名具有唯一识别属性来确保用户名的唯一性和属性不用转换。内部用户名有严格的字符限制,只允许使用 [ a-zA-Z0-9_.@- ]。其他字符会被ASCII码取代或者被活力。当冲突时会增加或者减少一个数字。内部用户名被用于内部识别用户,同时也作为ownCloud中用户根文件夹的默认名。也作为远程URLs的一部分,比如为了所有的*DAV服务。在这种设置下,默认行为可以被超越。实现一个类似的行为,owncloud 5输入用户的显示名称属性在以下领域之前。让它空着的默认行为。更改只对新映射的影响(增加)的LDAP用户。",
+"Internal Username Attribute:" => "内部用户名属性:",
+"Override UUID detection" => "超越UUID检测",
+"By default, ownCloud autodetects the UUID attribute. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups." => "默认ownCloud自动检测UUID属性。UUID属性用来无误的识别LDAP用户和组。同时内部用户名也基于UUID创建,如果没有上述的指定。也可以超越设置直接指定一种属性。但一定要确保指定的属性取得的用户和组是唯一的。默认行为空。变更基于新映射(增加)LDAP用户和组才会生效。",
+"UUID Attribute:" => "UUID属性:",
+"Username-LDAP User Mapping" => "用户名-LDAP用户映射",
+"ownCloud uses usernames to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from ownCloud username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found by ownCloud. The internal ownCloud name is used all over in ownCloud. Clearing the Mappings will have leftovers everywhere. Clearing the Mappings is not configuration sensitive, it affects all LDAP configurations! Do never clear the mappings in a production environment. Only clear mappings in a testing or experimental stage." => "ownCloud使用用户名存储和分配数据(元)。为了准确地识别和确认用户,每个用户都有一个内部用户名。需要从ownCloud用户名映射到LDAP用户。创建的用户名映射到LDAP用户的UUID。此外,DN是缓存以及减少LDAP交互,但它不用于识别。如果DN变化,ownCloud也会变化。内部ownCloud名在ownCloud的各处使用。清除映射将一片混乱。清除映射不是常用的配置,它影响到所有LDAP配置!千万不要在正式环境中清除映射。只有在测试或试验阶段可以清除映射。",
+"Clear Username-LDAP User Mapping" => "清除用户-LDAP用户映射",
+"Clear Groupname-LDAP Group Mapping" => "清除组用户-LDAP级映射",
"Test Configuration" => "测试配置",
"Help" => "帮助"
);
diff --git a/apps/user_ldap/l10n/zh_HK.php b/apps/user_ldap/l10n/zh_HK.php
index 190e4eba798..ba55c414790 100644
--- a/apps/user_ldap/l10n/zh_HK.php
+++ b/apps/user_ldap/l10n/zh_HK.php
@@ -1,4 +1,6 @@
"成功",
+"Error" => "錯誤",
"Password" => "密碼",
"Port" => "連接埠",
"Help" => "幫助"
diff --git a/apps/user_ldap/l10n/zh_TW.php b/apps/user_ldap/l10n/zh_TW.php
index 9a12bad0747..d01e75356c0 100644
--- a/apps/user_ldap/l10n/zh_TW.php
+++ b/apps/user_ldap/l10n/zh_TW.php
@@ -1,5 +1,7 @@
"移除失敗",
+"Success" => "成功",
+"Error" => "錯誤",
"Host" => "主機",
"Password" => "密碼",
"Port" => "連接阜",
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php
index ad355ce5e24..04f73cf01fe 100644
--- a/apps/user_ldap/lib/access.php
+++ b/apps/user_ldap/lib/access.php
@@ -317,7 +317,19 @@ abstract class Access {
}
$ldapname = $ldapname[0];
}
- $intname = $isUser ? $this->sanitizeUsername($uuid) : $ldapname;
+
+ if($isUser) {
+ $usernameAttribute = $this->connection->ldapExpertUsernameAttr;
+ if(!emptY($usernameAttribute)) {
+ $username = $this->readAttribute($dn, $usernameAttribute);
+ $username = $username[0];
+ } else {
+ $username = $uuid;
+ }
+ $intname = $this->sanitizeUsername($username);
+ } else {
+ $intname = $ldapname;
+ }
//a new user/group! Add it only if it doesn't conflict with other backend's users or existing groups
//disabling Cache is required to avoid that the new user is cached as not-existing in fooExists check
@@ -429,8 +441,8 @@ abstract class Access {
//while loop is just a precaution. If a name is not generated within
//20 attempts, something else is very wrong. Avoids infinite loop.
while($attempts < 20){
- $altName = $name . '_' . uniqid();
- if(\OCP\User::userExists($altName)) {
+ $altName = $name . '_' . rand(1000,9999);
+ if(!\OCP\User::userExists($altName)) {
return $altName;
}
$attempts++;
@@ -897,6 +909,12 @@ abstract class Access {
return true;
}
+ $fixedAttribute = $this->connection->ldapExpertUUIDAttr;
+ if(!empty($fixedAttribute)) {
+ $this->connection->ldapUuidAttribute = $fixedAttribute;
+ return true;
+ }
+
//for now, supported (known) attributes are entryUUID, nsuniqueid, objectGUID
$testAttributes = array('entryuuid', 'nsuniqueid', 'objectguid', 'guid');
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index 88ff318586a..31150a5bec5 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -65,6 +65,8 @@ class Connection {
'ldapAttributesForGroupSearch' => null,
'homeFolderNamingRule' => null,
'hasPagedResultSupport' => false,
+ 'ldapExpertUsernameAttr' => null,
+ 'ldapExpertUUIDAttr' => null,
);
/**
@@ -265,6 +267,10 @@ class Connection {
= preg_split('/\r\n|\r|\n/', $this->$v('ldap_attributes_for_user_search'));
$this->config['ldapAttributesForGroupSearch']
= preg_split('/\r\n|\r|\n/', $this->$v('ldap_attributes_for_group_search'));
+ $this->config['ldapExpertUsernameAttr']
+ = $this->$v('ldap_expert_username_attr');
+ $this->config['ldapExpertUUIDAttr']
+ = $this->$v('ldap_expert_uuid_attr');
$this->configured = $this->validateConfiguration();
}
@@ -290,7 +296,6 @@ class Connection {
'ldap_group_filter'=>'ldapGroupFilter',
'ldap_display_name'=>'ldapUserDisplayName',
'ldap_group_display_name'=>'ldapGroupDisplayName',
-
'ldap_tls'=>'ldapTLS',
'ldap_nocase'=>'ldapNoCase',
'ldap_quota_def'=>'ldapQuotaDefault',
@@ -302,7 +307,9 @@ class Connection {
'ldap_turn_off_cert_check' => 'turnOffCertCheck',
'ldap_configuration_active' => 'ldapConfigurationActive',
'ldap_attributes_for_user_search' => 'ldapAttributesForUserSearch',
- 'ldap_attributes_for_group_search' => 'ldapAttributesForGroupSearch'
+ 'ldap_attributes_for_group_search' => 'ldapAttributesForGroupSearch',
+ 'ldap_expert_username_attr' => 'ldapExpertUsernameAttr',
+ 'ldap_expert_uuid_attr' => 'ldapExpertUUIDAttr',
);
return $array;
}
@@ -505,6 +512,10 @@ class Connection {
$configurationOK = false;
}
+ if(!empty($this->config['ldapExpertUUIDAttr'])) {
+ $this->config['ldapUuidAttribute'] = $this->config['ldapExpertUUIDAttr'];
+ }
+
return $configurationOK;
}
@@ -543,6 +554,8 @@ class Connection {
'ldap_configuration_active' => 1,
'ldap_attributes_for_user_search' => '',
'ldap_attributes_for_group_search' => '',
+ 'ldap_expert_username_attr' => '',
+ 'ldap_expert_uuid_attr' => '',
);
}
@@ -588,14 +601,13 @@ class Connection {
$error = null;
}
- $error = null;
//if LDAP server is not reachable, try the Backup (Replica!) Server
- if((!$bindStatus && ($error === -1))
+ if((!$bindStatus && ($error !== 0))
|| $this->config['ldapOverrideMainServer']
|| $this->getFromCache('overrideMainServer')) {
$this->doConnect($this->config['ldapBackupHost'], $this->config['ldapBackupPort']);
$bindStatus = $this->bind();
- if($bindStatus && $error === -1) {
+ if(!$bindStatus && $error === -1) {
//when bind to backup server succeeded and failed to main server,
//skip contacting him until next cache refresh
$this->writeToCache('overrideMainServer', true);
@@ -609,6 +621,10 @@ class Connection {
if(empty($host)) {
return false;
}
+ if(strpos($host, '://') !== false) {
+ //ldap_connect ignores port paramater when URLs are passed
+ $host .= ':' . $port;
+ }
$this->ldapConnectionRes = ldap_connect($host, $port);
if(ldap_set_option($this->ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {
if(ldap_set_option($this->ldapConnectionRes, LDAP_OPT_REFERRALS, 0)) {
@@ -623,10 +639,17 @@ class Connection {
* Binds to LDAP
*/
public function bind() {
+ static $getConnectionResourceAttempt = false;
if(!$this->config['ldapConfigurationActive']) {
return false;
}
+ if($getConnectionResourceAttempt) {
+ $getConnectionResourceAttempt = false;
+ return false;
+ }
+ $getConnectionResourceAttempt = true;
$cr = $this->getConnectionResource();
+ $getConnectionResourceAttempt = false;
if(!is_resource($cr)) {
return false;
}
diff --git a/apps/user_ldap/lib/helper.php b/apps/user_ldap/lib/helper.php
index 8bebd84c12e..10ed40ebd6a 100644
--- a/apps/user_ldap/lib/helper.php
+++ b/apps/user_ldap/lib/helper.php
@@ -102,4 +102,35 @@ class Helper {
return true;
}
+
+ /**
+ * Truncate's the given mapping table
+ *
+ * @param string $mapping either 'user' or 'group'
+ * @return boolean true on success, false otherwise
+ */
+ static public function clearMapping($mapping) {
+ if($mapping === 'user') {
+ $table = '`*PREFIX*ldap_user_mapping`';
+ } else if ($mapping === 'group') {
+ $table = '`*PREFIX*ldap_group_mapping`';
+ } else {
+ return false;
+ }
+
+ if(strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false) {
+ $query = \OCP\DB::prepare('DELETE FROM '.$table);
+ } else {
+ $query = \OCP\DB::prepare('TRUNCATE '.$table);
+ }
+
+
+ $res = $query->execute();
+
+ if(\OCP\DB::isError($res)) {
+ return false;
+ }
+
+ return true;
+ }
}
diff --git a/apps/user_ldap/lib/jobs.php b/apps/user_ldap/lib/jobs.php
index 094d11db3d5..60ecc0da33d 100644
--- a/apps/user_ldap/lib/jobs.php
+++ b/apps/user_ldap/lib/jobs.php
@@ -23,20 +23,22 @@
namespace OCA\user_ldap\lib;
-class Jobs {
+class Jobs extends \OC\BackgroundJob\TimedJob {
static private $groupsFromDB;
static private $groupBE;
static private $connector;
+ public function __construct(){
+ $this->interval = self::getRefreshInterval();
+ }
+
+ public function run($argument){
+ Jobs::updateGroups();
+ }
+
static public function updateGroups() {
\OCP\Util::writeLog('user_ldap', 'Run background job "updateGroups"', \OCP\Util::DEBUG);
- $lastUpdate = \OCP\Config::getAppValue('user_ldap', 'bgjUpdateGroupsLastRun', 0);
- if((time() - $lastUpdate) < self::getRefreshInterval()) {
- \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – last run too fresh, aborting.', \OCP\Util::DEBUG);
- //komm runter Werner die Maurer geben ein aus
- return;
- }
$knownGroups = array_keys(self::getKnownGroups());
$actualGroups = self::getGroupBE()->getGroups();
@@ -45,7 +47,6 @@ class Jobs {
\OCP\Util::writeLog('user_ldap',
'bgJ "updateGroups" – groups do not seem to be configured properly, aborting.',
\OCP\Util::INFO);
- \OCP\Config::setAppValue('user_ldap', 'bgjUpdateGroupsLastRun', time());
return;
}
@@ -53,8 +54,6 @@ class Jobs {
self::handleCreatedGroups(array_diff($actualGroups, $knownGroups));
self::handleRemovedGroups(array_diff($knownGroups, $actualGroups));
- \OCP\Config::setAppValue('user_ldap', 'bgjUpdateGroupsLastRun', time());
-
\OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – Finished.', \OCP\Util::DEBUG);
}
diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php
index 05497ae8a33..22e2dac6d26 100644
--- a/apps/user_ldap/settings.php
+++ b/apps/user_ldap/settings.php
@@ -4,7 +4,9 @@
* ownCloud - user_ldap
*
* @author Dominik Schmidt
+ * @author Arthur Schiwon
* @copyright 2011 Dominik Schmidt dev@dominik-schmidt.de
+ * @copyright 2012-2013 Arthur Schiwon blizzz@owncloud.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index f0ee8c6b08a..972970aa3ef 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -3,6 +3,7 @@
'.$l->t('Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them.').'');
@@ -96,6 +97,17 @@
t('Help'));?>
diff --git a/apps/user_ldap/user_proxy.php b/apps/user_ldap/user_proxy.php
index 7e5b9045df3..73cc0963182 100644
--- a/apps/user_ldap/user_proxy.php
+++ b/apps/user_ldap/user_proxy.php
@@ -174,7 +174,7 @@ class User_Proxy extends lib\Proxy implements \OCP\UserInterface {
foreach($this->backends as $backend) {
$backendUsers = $backend->getDisplayNames($search, $limit, $offset);
if (is_array($backendUsers)) {
- $users = array_merge($users, $backendUsers);
+ $users = $users + $backendUsers;
}
}
return $users;
diff --git a/apps/user_webdavauth/l10n/ar.php b/apps/user_webdavauth/l10n/ar.php
index c17302f7bb1..78b347e51fa 100644
--- a/apps/user_webdavauth/l10n/ar.php
+++ b/apps/user_webdavauth/l10n/ar.php
@@ -1,5 +1,4 @@
"تأكد شخصية ال WebDAV",
-"URL: http://" => "الرابط: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials."
);
diff --git a/apps/user_webdavauth/l10n/bg_BG.php b/apps/user_webdavauth/l10n/bg_BG.php
index a3bd703b258..61503db8392 100644
--- a/apps/user_webdavauth/l10n/bg_BG.php
+++ b/apps/user_webdavauth/l10n/bg_BG.php
@@ -1,5 +1,4 @@
"WebDAV идентификация",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud ще изпрати потребителските данни до този URL. "
);
diff --git a/apps/user_webdavauth/l10n/ca.php b/apps/user_webdavauth/l10n/ca.php
index 7ac540f2130..339e4dbe688 100644
--- a/apps/user_webdavauth/l10n/ca.php
+++ b/apps/user_webdavauth/l10n/ca.php
@@ -1,5 +1,5 @@
"Autenticació WebDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL:",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviarà les credencials d'usuari a aquesta URL. Aquest endollable en comprova la resposta i interpretarà els codis d'estat 401 i 403 com a credencials no vàlides, i qualsevol altra resposta com a credencials vàlides."
);
diff --git a/apps/user_webdavauth/l10n/cs_CZ.php b/apps/user_webdavauth/l10n/cs_CZ.php
index 9bd4c96a2bb..e1f8d76e166 100644
--- a/apps/user_webdavauth/l10n/cs_CZ.php
+++ b/apps/user_webdavauth/l10n/cs_CZ.php
@@ -1,5 +1,5 @@
"Ověření WebDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud odešle uživatelské údaje na zadanou URL. Plugin zkontroluje odpověď a považuje návratovou hodnotu HTTP 401 a 403 za neplatné údaje a všechny ostatní hodnoty jako platné přihlašovací údaje."
);
diff --git a/apps/user_webdavauth/l10n/da.php b/apps/user_webdavauth/l10n/da.php
index b268d3e15d0..0d1190ba222 100644
--- a/apps/user_webdavauth/l10n/da.php
+++ b/apps/user_webdavauth/l10n/da.php
@@ -1,5 +1,4 @@
"WebDAV-godkendelse",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud vil sende brugerens oplysninger til denne URL. Plugin'et registrerer responsen og fortolker HTTP-statuskoder 401 og 403 som ugyldige oplysninger, men alle andre besvarelser som gyldige oplysninger."
);
diff --git a/apps/user_webdavauth/l10n/de.php b/apps/user_webdavauth/l10n/de.php
index c86ff44e55c..e2db395b1c6 100644
--- a/apps/user_webdavauth/l10n/de.php
+++ b/apps/user_webdavauth/l10n/de.php
@@ -1,5 +1,4 @@
"WebDAV Authentifikation",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten und alle anderen Antworten als gültige Daten interpretieren."
);
diff --git a/apps/user_webdavauth/l10n/de_DE.php b/apps/user_webdavauth/l10n/de_DE.php
index 1aecfd29968..4ca749e898d 100644
--- a/apps/user_webdavauth/l10n/de_DE.php
+++ b/apps/user_webdavauth/l10n/de_DE.php
@@ -1,5 +1,4 @@
"WebDAV-Authentifizierung",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten und alle anderen Antworten als gültige Daten interpretieren."
);
diff --git a/apps/user_webdavauth/l10n/el.php b/apps/user_webdavauth/l10n/el.php
index 951709c4d64..1943b98a750 100644
--- a/apps/user_webdavauth/l10n/el.php
+++ b/apps/user_webdavauth/l10n/el.php
@@ -1,5 +1,4 @@
"Αυθεντικοποίηση μέσω WebDAV ",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Το ownCloud θα στείλει τα διαπιστευτήρια χρήστη σε αυτό το URL. Αυτό το plugin ελέγχει την απάντηση και την μετατρέπει σε HTTP κωδικό κατάστασης 401 και 403 για μη έγκυρα, όλες οι υπόλοιπες απαντήσεις είναι έγκυρες."
);
diff --git a/apps/user_webdavauth/l10n/eo.php b/apps/user_webdavauth/l10n/eo.php
index d945f181e6b..0e1fda7c4c2 100644
--- a/apps/user_webdavauth/l10n/eo.php
+++ b/apps/user_webdavauth/l10n/eo.php
@@ -1,4 +1,3 @@
"WebDAV-aŭtentigo",
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "WebDAV-aŭtentigo"
);
diff --git a/apps/user_webdavauth/l10n/es.php b/apps/user_webdavauth/l10n/es.php
index 103c3738e2d..18c87794d65 100644
--- a/apps/user_webdavauth/l10n/es.php
+++ b/apps/user_webdavauth/l10n/es.php
@@ -1,5 +1,5 @@
"Autenticación de WevDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL:",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
);
diff --git a/apps/user_webdavauth/l10n/es_AR.php b/apps/user_webdavauth/l10n/es_AR.php
index 103c3738e2d..efb82288287 100644
--- a/apps/user_webdavauth/l10n/es_AR.php
+++ b/apps/user_webdavauth/l10n/es_AR.php
@@ -1,5 +1,4 @@
"Autenticación de WevDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
);
diff --git a/apps/user_webdavauth/l10n/et_EE.php b/apps/user_webdavauth/l10n/et_EE.php
index a3b86224ac2..470cb2b0f10 100644
--- a/apps/user_webdavauth/l10n/et_EE.php
+++ b/apps/user_webdavauth/l10n/et_EE.php
@@ -1,5 +1,4 @@
"WebDAV autentimine",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud saadab kasutajatunnused sellel aadressil. See vidin kontrollib vastust ning tuvastab HTTP vastuskoodid 401 ja 403 kui vigased, ning kõik teised vastused kui korrektsed kasutajatunnused."
);
diff --git a/apps/user_webdavauth/l10n/eu.php b/apps/user_webdavauth/l10n/eu.php
index d792c1588bb..6395d7fc1e0 100644
--- a/apps/user_webdavauth/l10n/eu.php
+++ b/apps/user_webdavauth/l10n/eu.php
@@ -1,5 +1,4 @@
"WebDAV Autentikazioa",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudek erabiltzailearen kredentzialak URL honetara bidaliko ditu. Plugin honek erantzuna aztertzen du eta HTTP 401 eta 403 egoera kodeak baliogabezko kredentzialtzat hartuko ditu, beste erantzunak kredentzial egokitzat hartuko dituelarik."
);
diff --git a/apps/user_webdavauth/l10n/fi_FI.php b/apps/user_webdavauth/l10n/fi_FI.php
index 6c67c78c812..61a848bcfe4 100644
--- a/apps/user_webdavauth/l10n/fi_FI.php
+++ b/apps/user_webdavauth/l10n/fi_FI.php
@@ -1,4 +1,3 @@
"WebDAV-todennus",
-"URL: http://" => "Osoite: http://"
+"WebDAV Authentication" => "WebDAV-todennus"
);
diff --git a/apps/user_webdavauth/l10n/fr.php b/apps/user_webdavauth/l10n/fr.php
index 9d528a3a9d2..e7fad26287c 100644
--- a/apps/user_webdavauth/l10n/fr.php
+++ b/apps/user_webdavauth/l10n/fr.php
@@ -1,5 +1,5 @@
"Authentification WebDAV",
-"URL: http://" => "URL : http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enverra les informations de connexion à cette adresse. Ce module complémentaire analyse le code réponse HTTP et considère tout code différent des codes 401 et 403 comme associé à une authentification correcte."
);
diff --git a/apps/user_webdavauth/l10n/gl.php b/apps/user_webdavauth/l10n/gl.php
index f63a7cb0ce8..35ed8a1969f 100644
--- a/apps/user_webdavauth/l10n/gl.php
+++ b/apps/user_webdavauth/l10n/gl.php
@@ -1,5 +1,5 @@
"Autenticación WebDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviará as credenciais do usuario a este URL. Este engadido comproba a resposta e interpretará os códigos de estado HTTP 401 e 403 como credenciais incorrectas, e todas as outras respostas como credenciais correctas."
);
diff --git a/apps/user_webdavauth/l10n/he.php b/apps/user_webdavauth/l10n/he.php
new file mode 100644
index 00000000000..aee7b00f185
--- /dev/null
+++ b/apps/user_webdavauth/l10n/he.php
@@ -0,0 +1,4 @@
+ "הזדהות מול WebDAV",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "מערכת ownCloud תשלח את פרטי המשתמש לכתובת זו. התוסף יבדוק את התגובה ויתרגם את הקודים 401 ו־403 כתגובה לציון פרטי גישה שגויים ואת כל שאר התגובות כפרטי גישה נכונים."
+);
diff --git a/apps/user_webdavauth/l10n/hu_HU.php b/apps/user_webdavauth/l10n/hu_HU.php
index 64352801142..d7de5e57f3b 100644
--- a/apps/user_webdavauth/l10n/hu_HU.php
+++ b/apps/user_webdavauth/l10n/hu_HU.php
@@ -1,5 +1,4 @@
"WebDAV hitelesítés",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Az ownCloud elküldi a felhasználói fiók adatai a következő URL-re. Ez a bővítőmodul leellenőrzi a választ és ha a HTTP hibakód nem 401 vagy 403 azaz érvénytelen hitelesítő, akkor minden más válasz érvényes lesz."
);
diff --git a/apps/user_webdavauth/l10n/id.php b/apps/user_webdavauth/l10n/id.php
index 4324ee8ff52..8ddf54e4735 100644
--- a/apps/user_webdavauth/l10n/id.php
+++ b/apps/user_webdavauth/l10n/id.php
@@ -1,5 +1,4 @@
"Otentikasi WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud akan mengirimkan informasi pengguna ke URL ini. Pengaya akan mengecek respon dan menginterpretasikan kode status HTTP 401 serta 403 sebagai informasi yang keliru, sedangkan respon lainnya dianggap benar."
);
diff --git a/apps/user_webdavauth/l10n/is.php b/apps/user_webdavauth/l10n/is.php
index 8fe0d974b32..10dcfa6e3d3 100644
--- a/apps/user_webdavauth/l10n/is.php
+++ b/apps/user_webdavauth/l10n/is.php
@@ -1,3 +1,3 @@
"Vefslóð: http://"
+"WebDAV Authentication" => "WebDAV Auðkenni"
);
diff --git a/apps/user_webdavauth/l10n/it.php b/apps/user_webdavauth/l10n/it.php
index a7cd6e8e4b4..1c1e0899b1d 100644
--- a/apps/user_webdavauth/l10n/it.php
+++ b/apps/user_webdavauth/l10n/it.php
@@ -1,5 +1,5 @@
"Autenticazione WebDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL:",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud invierà le credenziali dell'utente a questo URL. Questa estensione controlla la risposta e interpreta i codici di stato 401 e 403 come credenziali non valide, e tutte le altre risposte come credenziali valide."
);
diff --git a/apps/user_webdavauth/l10n/ja_JP.php b/apps/user_webdavauth/l10n/ja_JP.php
index 1cd14a03c72..703cc71489e 100644
--- a/apps/user_webdavauth/l10n/ja_JP.php
+++ b/apps/user_webdavauth/l10n/ja_JP.php
@@ -1,5 +1,5 @@
"WebDAV 認証",
-"URL: http://" => "URL: http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudはこのURLにユーザ資格情報を送信します。このプラグインは応答をチェックし、HTTP状態コードが 401 と 403 の場合は無効な資格情報とし、他の応答はすべて有効な資格情報として処理します。"
);
diff --git a/apps/user_webdavauth/l10n/ka_GE.php b/apps/user_webdavauth/l10n/ka_GE.php
index f475ea0b737..34c502cc5eb 100644
--- a/apps/user_webdavauth/l10n/ka_GE.php
+++ b/apps/user_webdavauth/l10n/ka_GE.php
@@ -1,5 +1,4 @@
"WebDAV აუთენთიფიკაცია",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud–ი გამოგიგზავნით ანგარიშის მონაცემებს ამ URL–ზე. ეს პლაგინი შეამოწმებს პასუხს და მოახდენს მის ინტერპრეტაციას HTTP სტატუსკოდებში 401 და 403 დაუშვებელი მონაცემებისთვის, ხოლო სხვა დანარჩენს დაშვებადი მონაცემებისთვის."
);
diff --git a/apps/user_webdavauth/l10n/ko.php b/apps/user_webdavauth/l10n/ko.php
index 578ff35e721..e0431164a53 100644
--- a/apps/user_webdavauth/l10n/ko.php
+++ b/apps/user_webdavauth/l10n/ko.php
@@ -1,5 +1,4 @@
"WebDAV 인증",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud에서 이 URL로 사용자 인증 정보를 보냅니다. 이 플러그인은 응답을 확인하여 HTTP 상태 코드 401이나 403이 돌아온 경우에 잘못된 인증 정보로 간주합니다. 다른 모든 상태 코드는 올바른 인증 정보로 간주합니다."
);
diff --git a/apps/user_webdavauth/l10n/lt_LT.php b/apps/user_webdavauth/l10n/lt_LT.php
index 8d0492ae487..ed81efdf8bf 100644
--- a/apps/user_webdavauth/l10n/lt_LT.php
+++ b/apps/user_webdavauth/l10n/lt_LT.php
@@ -1,5 +1,4 @@
"WebDAV autorizavimas",
-"URL: http://" => "Adresas: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud išsiųs naudotojo duomenis į šį WWW adresą. Šis įskiepis patikrins gautą atsakymą ir interpretuos HTTP būsenos kodą 401 ir 403 kaip negaliojančius duomenis, ir visus kitus gautus atsakymus kaip galiojančius duomenis. "
);
diff --git a/apps/user_webdavauth/l10n/lv.php b/apps/user_webdavauth/l10n/lv.php
index d0043df9f07..7f90f64d215 100644
--- a/apps/user_webdavauth/l10n/lv.php
+++ b/apps/user_webdavauth/l10n/lv.php
@@ -1,5 +1,4 @@
"WebDAV autentifikācija",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sūtīs lietotāja akreditācijas datus uz šo URL. Šis spraudnis pārbauda atbildi un interpretē HTTP statusa kodus 401 un 403 kā nederīgus akreditācijas datus un visas citas atbildes kā derīgus akreditācijas datus."
);
diff --git a/apps/user_webdavauth/l10n/nl.php b/apps/user_webdavauth/l10n/nl.php
index 7d1bb33923e..086f8ad2ea9 100644
--- a/apps/user_webdavauth/l10n/nl.php
+++ b/apps/user_webdavauth/l10n/nl.php
@@ -1,5 +1,5 @@
"WebDAV authenticatie",
-"URL: http://" => "URL: http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud stuurt de inloggegevens naar deze URL. Deze plugin controleert het antwoord en interpreteert de HTTP statuscodes 401 als 403 als ongeldige inloggegevens, maar alle andere antwoorden als geldige inloggegevens."
);
diff --git a/apps/user_webdavauth/l10n/nn_NO.php b/apps/user_webdavauth/l10n/nn_NO.php
new file mode 100644
index 00000000000..5c4184b33a8
--- /dev/null
+++ b/apps/user_webdavauth/l10n/nn_NO.php
@@ -0,0 +1,4 @@
+ "WebDAV-autentisering",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sender brukarakkreditiv til denne nettadressa. Dette programtillegget kontrollerer svaret og tolkar HTTP-statuskodane 401 og 403 som ugyldige, og alle andre svar som gyldige."
+);
diff --git a/apps/user_webdavauth/l10n/pl.php b/apps/user_webdavauth/l10n/pl.php
index 4887e935316..8c8116e5234 100644
--- a/apps/user_webdavauth/l10n/pl.php
+++ b/apps/user_webdavauth/l10n/pl.php
@@ -1,5 +1,5 @@
"Uwierzytelnienie WebDAV",
-"URL: http://" => "URL: http://",
+"URL: " => "URL: ",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud wyśle dane uwierzytelniające do tego URL. Ten plugin sprawdza odpowiedź i zinterpretuje kody HTTP 401 oraz 403 jako nieprawidłowe dane uwierzytelniające, a każdy inny kod odpowiedzi jako poprawne dane."
);
diff --git a/apps/user_webdavauth/l10n/pt_BR.php b/apps/user_webdavauth/l10n/pt_BR.php
index 6ddd00ccc3e..1f96b75462a 100644
--- a/apps/user_webdavauth/l10n/pt_BR.php
+++ b/apps/user_webdavauth/l10n/pt_BR.php
@@ -1,5 +1,4 @@
"Autenticação WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "O ownCloud enviará as credenciais do usuário para esta URL. Este plugin verifica a resposta e interpreta o os códigos de status do HTTP 401 e 403 como credenciais inválidas, e todas as outras respostas como credenciais válidas."
);
diff --git a/apps/user_webdavauth/l10n/pt_PT.php b/apps/user_webdavauth/l10n/pt_PT.php
index d7e87b5c8d1..eec1a328e1d 100644
--- a/apps/user_webdavauth/l10n/pt_PT.php
+++ b/apps/user_webdavauth/l10n/pt_PT.php
@@ -1,5 +1,4 @@
"Autenticação WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "O ownCloud vai enviar as credenciais do utilizador através deste URL. Este plugin verifica a resposta e vai interpretar os códigos de estado HTTP 401 e 403 como credenciais inválidas, e todas as outras como válidas."
);
diff --git a/apps/user_webdavauth/l10n/ro.php b/apps/user_webdavauth/l10n/ro.php
index 9df490e81ec..bccd7d50e22 100644
--- a/apps/user_webdavauth/l10n/ro.php
+++ b/apps/user_webdavauth/l10n/ro.php
@@ -1,5 +1,4 @@
"Autentificare WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud va trimite datele de autentificare la acest URL. Acest modul verifică răspunsul și va interpreta codurile de status HTTP 401 sau 403 ca fiind date de autentificare invalide, și orice alt răspuns ca fiind date valide."
);
diff --git a/apps/user_webdavauth/l10n/ru.php b/apps/user_webdavauth/l10n/ru.php
index f12982fc406..ad3dfd2e67f 100644
--- a/apps/user_webdavauth/l10n/ru.php
+++ b/apps/user_webdavauth/l10n/ru.php
@@ -1,5 +1,4 @@
"Идентификация WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud отправит пользовательские данные на этот URL. Затем плагин проверит ответ, в случае HTTP ответа 401 или 403 данные будут считаться неверными, при любых других ответах - верными."
);
diff --git a/apps/user_webdavauth/l10n/sk_SK.php b/apps/user_webdavauth/l10n/sk_SK.php
index c4e6dfddc7b..589a82dc6f5 100644
--- a/apps/user_webdavauth/l10n/sk_SK.php
+++ b/apps/user_webdavauth/l10n/sk_SK.php
@@ -1,5 +1,4 @@
"WebDAV overenie",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud odošle používateľské údaje na zadanú URL. Plugin skontroluje odpoveď a považuje návratovú hodnotu HTTP 401 a 403 za neplatné údaje a všetky ostatné hodnoty ako platné prihlasovacie údaje."
);
diff --git a/apps/user_webdavauth/l10n/sl.php b/apps/user_webdavauth/l10n/sl.php
index 7c592723af6..6bae847dc34 100644
--- a/apps/user_webdavauth/l10n/sl.php
+++ b/apps/user_webdavauth/l10n/sl.php
@@ -1,5 +1,4 @@
"Overitev WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Sistem ownCloud bo poslal uporabniška poverila na navedeni naslov URL. Ta vstavek preveri odziv in tolmači kode stanja HTTP 401 in HTTP 403 kot spodletel odgovor in vse ostale odzive kot veljavna poverila."
);
diff --git a/apps/user_webdavauth/l10n/sr.php b/apps/user_webdavauth/l10n/sr.php
index 518fcbe9be5..44ff078493c 100644
--- a/apps/user_webdavauth/l10n/sr.php
+++ b/apps/user_webdavauth/l10n/sr.php
@@ -1,5 +1,4 @@
"WebDAV провера идентитета",
-"URL: http://" => "Адреса: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud ће послати акредитиве корисника на ову адресу. Овај прикључак проверава одговор и тумачи HTTP статусне кодове 401 и 403 као неисправне акредитиве, а све остале одговоре као исправне."
);
diff --git a/apps/user_webdavauth/l10n/sv.php b/apps/user_webdavauth/l10n/sv.php
index c79b35c27cd..481b7710946 100644
--- a/apps/user_webdavauth/l10n/sv.php
+++ b/apps/user_webdavauth/l10n/sv.php
@@ -1,5 +1,5 @@
"WebDAV Autentisering",
-"URL: http://" => "URL: http://",
+"URL: " => "URL:",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
);
diff --git a/apps/user_webdavauth/l10n/th_TH.php b/apps/user_webdavauth/l10n/th_TH.php
index 2bd1f685e65..3c84ef7104d 100644
--- a/apps/user_webdavauth/l10n/th_TH.php
+++ b/apps/user_webdavauth/l10n/th_TH.php
@@ -1,5 +1,4 @@
"WebDAV Authentication",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud จะส่งข้อมูลการเข้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังกล่าวนี้ ปลั๊กอินดังกล่าวจะทำการตรวจสอบข้อมูลที่โต้ตอบกลับมาและจะทำการแปลรหัส HTTP statuscodes 401 และ 403 ให้เป็นข้อมูลการเข้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลการเข้าใช้งานที่สามารถใช้งานได้"
);
diff --git a/apps/user_webdavauth/l10n/tr.php b/apps/user_webdavauth/l10n/tr.php
index c495a39dce5..06bf97c4b03 100644
--- a/apps/user_webdavauth/l10n/tr.php
+++ b/apps/user_webdavauth/l10n/tr.php
@@ -1,5 +1,4 @@
"WebDAV Kimlik doğrulaması",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud deneyme kullanicin URLe gonderecek. Bu toplan cepaplama muayene edecek ve status kodeci HTTPden 401 ve 403 deneyi gecerli ve hepsi baska cevaplamari mantekli gibi yorumlacak. "
);
diff --git a/apps/user_webdavauth/l10n/ug.php b/apps/user_webdavauth/l10n/ug.php
index 03ced5f4aa2..7231d0c5708 100644
--- a/apps/user_webdavauth/l10n/ug.php
+++ b/apps/user_webdavauth/l10n/ug.php
@@ -1,4 +1,3 @@
"WebDAV سالاھىيەت دەلىللەش",
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "WebDAV سالاھىيەت دەلىللەش"
);
diff --git a/apps/user_webdavauth/l10n/uk.php b/apps/user_webdavauth/l10n/uk.php
index 66887df54b5..2f4d3c95da3 100644
--- a/apps/user_webdavauth/l10n/uk.php
+++ b/apps/user_webdavauth/l10n/uk.php
@@ -1,5 +1,4 @@
"Аутентифікація WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud надішле облікові дані на цей URL. Цей плагін перевірить відповідь і буде інтерпретувати HTTP коди 401 і 403 як повідомлення про недійсні повноваження, а решту відповідей як дійсні облікові дані."
);
diff --git a/apps/user_webdavauth/l10n/vi.php b/apps/user_webdavauth/l10n/vi.php
index ee2aa089125..53f1e1c4209 100644
--- a/apps/user_webdavauth/l10n/vi.php
+++ b/apps/user_webdavauth/l10n/vi.php
@@ -1,5 +1,4 @@
"Xác thực WebDAV",
-"URL: http://" => "URL: http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sẽ gửi chứng thư người dùng tới URL này. Tính năng này kiểm tra trả lời và sẽ hiểu mã 401 và 403 của giao thức HTTP là chứng thư không hợp lệ, và mọi trả lời khác được coi là hợp lệ."
);
diff --git a/apps/user_webdavauth/l10n/zh_CN.php b/apps/user_webdavauth/l10n/zh_CN.php
index 72d2a0c11df..5a935f17125 100644
--- a/apps/user_webdavauth/l10n/zh_CN.php
+++ b/apps/user_webdavauth/l10n/zh_CN.php
@@ -1,5 +1,4 @@
"WebDAV 认证",
-"URL: http://" => "URL:http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 将会发送用户的身份到此 URL。这个插件检查返回值并且将 HTTP 状态编码 401 和 403 解释为非法身份,其他所有返回值为合法身份。"
);
diff --git a/apps/user_webdavauth/l10n/zh_TW.php b/apps/user_webdavauth/l10n/zh_TW.php
index 6f94b77ac57..32166b04751 100644
--- a/apps/user_webdavauth/l10n/zh_TW.php
+++ b/apps/user_webdavauth/l10n/zh_TW.php
@@ -1,5 +1,4 @@
"WebDAV 認證",
-"URL: http://" => "網址:http://",
"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 會將把用戶的登入資訊發送到這個網址以嘗試登入,並檢查回應, HTTP 狀態碼401和403視為登入失敗,所有其他回應視為登入成功。"
);
diff --git a/apps/user_webdavauth/templates/settings.php b/apps/user_webdavauth/templates/settings.php
index ec6524ee4f7..e199c32675c 100755
--- a/apps/user_webdavauth/templates/settings.php
+++ b/apps/user_webdavauth/templates/settings.php
@@ -1,7 +1,7 @@