diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php index 05ab1722b3..99739cb4ce 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/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php index de6a154242..8c6b637265 100644 --- a/apps/files/l10n/cs_CZ.php +++ b/apps/files/l10n/cs_CZ.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} složky", "1 file" => "1 soubor", "{count} files" => "{count} soubory", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Název složky nelze použít. Použití názvu 'Shared' je ownCloudem rezervováno", "Unable to rename file" => "Nelze přejmenovat soubor", "Upload" => "Odeslat", "File handling" => "Zacházení se soubory", diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php index bcc3a4c6c9..e9a6ad6bde 100644 --- a/apps/files/l10n/de.php +++ b/apps/files/l10n/de.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} Ordner", "1 file" => "1 Datei", "{count} files" => "{count} Dateien", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Der Ordnername ist ungültig. Nur ownCloud kann den Ordner \"Shared\" anlegen", "Unable to rename file" => "Konnte Datei nicht umbenennen", "Upload" => "Hochladen", "File handling" => "Dateibehandlung", diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php index 963f25ebed..b15c7a5649 100644 --- a/apps/files/l10n/he.php +++ b/apps/files/l10n/he.php @@ -1,4 +1,6 @@ "לא ניתן להעביר את %s - קובץ בשם הזה כבר קיים", +"Could not move %s" => "לא ניתן להעביר את %s", "No file was uploaded. Unknown error" => "לא הועלה קובץ. טעות בלתי מזוהה.", "There is no error, the file uploaded with success" => "לא התרחשה שגיאה, הקובץ הועלה בהצלחה", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "הקבצים שנשלחו חורגים מהגודל שצוין בהגדרה upload_max_filesize שבקובץ php.ini:", @@ -7,6 +9,8 @@ "No file was uploaded" => "שום קובץ לא הועלה", "Missing a temporary folder" => "תקיה זמנית חסרה", "Failed to write to disk" => "הכתיבה לכונן נכשלה", +"Not enough storage available" => "אין די שטח פנוי באחסון", +"Invalid directory." => "תיקייה שגויה.", "Files" => "קבצים", "Share" => "שתף", "Delete permanently" => "מחק לצמיתות", @@ -19,7 +23,9 @@ "cancel" => "ביטול", "replaced {new_name} with {old_name}" => "{new_name} הוחלף ב־{old_name}", "undo" => "ביטול", +"perform delete operation" => "ביצוע פעולת מחיקה", "1 file uploading" => "קובץ אחד נשלח", +"files uploading" => "קבצים בהעלאה", "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.", "Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים", "Upload cancelled." => "ההעלאה בוטלה.", @@ -33,6 +39,7 @@ "{count} folders" => "{count} תיקיות", "1 file" => "קובץ אחד", "{count} files" => "{count} קבצים", +"Unable to rename file" => "לא ניתן לשנות את שם הקובץ", "Upload" => "העלאה", "File handling" => "טיפול בקבצים", "Maximum upload size" => "גודל העלאה מקסימלי", diff --git a/apps/files/l10n/hi.php b/apps/files/l10n/hi.php new file mode 100644 index 0000000000..df57abe28b --- /dev/null +++ b/apps/files/l10n/hi.php @@ -0,0 +1,4 @@ + "साझा करें", +"Save" => "सहेजें" +); diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php index 3e2ea80c94..5938521bea 100644 --- a/apps/files/l10n/lt_LT.php +++ b/apps/files/l10n/lt_LT.php @@ -1,12 +1,19 @@ "Nepavyko perkelti %s - failas su tokiu pavadinimu jau egzistuoja", +"Could not move %s" => "Nepavyko perkelti %s", +"No file was uploaded. Unknown error" => "Failai nebuvo įkelti dėl nežinomos priežasties", "There is no error, the file uploaded with success" => "Failas įkeltas sėkmingai, be klaidų", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Įkeliamas failas yra didesnis nei leidžia upload_max_filesize php.ini faile:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Įkeliamo failo dydis viršija MAX_FILE_SIZE nustatymą, kuris naudojamas HTML formoje.", "The uploaded file was only partially uploaded" => "Failas buvo įkeltas tik dalinai", "No file was uploaded" => "Nebuvo įkeltas joks failas", "Missing a temporary folder" => "Nėra laikinojo katalogo", "Failed to write to disk" => "Nepavyko įrašyti į diską", +"Not enough storage available" => "Nepakanka vietos serveryje", +"Invalid directory." => "Neteisingas aplankas", "Files" => "Failai", "Share" => "Dalintis", +"Delete permanently" => "Ištrinti negrįžtamai", "Delete" => "Ištrinti", "Rename" => "Pervadinti", "Pending" => "Laukiantis", @@ -16,10 +23,21 @@ "cancel" => "atšaukti", "replaced {new_name} with {old_name}" => "pakeiskite {new_name} į {old_name}", "undo" => "anuliuoti", +"perform delete operation" => "ištrinti", "1 file uploading" => "įkeliamas 1 failas", +"files uploading" => "įkeliami failai", +"'.' is an invalid file name." => "'.' yra neleidžiamas failo pavadinime.", +"File name cannot be empty." => "Failo pavadinimas negali būti tuščias.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neleistinas pavadinimas, '\\', '/', '<', '>', ':', '\"', '|', '?' ir '*' yra neleidžiami.", +"Your storage is full, files can not be updated or synced anymore!" => "Jūsų visa vieta serveryje užimta", +"Your storage is almost full ({usedSpacePercent}%)" => "Jūsų vieta serveryje beveik visa užimta ({usedSpacePercent}%)", +"Your download is being prepared. This might take some time if the files are big." => "Jūsų atsisiuntimas yra paruošiamas. tai gali užtrukti jei atsisiunčiamas didelis failas.", "Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas", +"Not enough space available" => "Nepakanka vietos", "Upload cancelled." => "Įkėlimas atšauktas.", "File upload is in progress. Leaving the page now will cancel the upload." => "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.", +"URL cannot be empty." => "URL negali būti tuščias.", +"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Negalimas aplanko pavadinimas. 'Shared' pavadinimas yra rezervuotas ownCloud", "Error" => "Klaida", "Name" => "Pavadinimas", "Size" => "Dydis", @@ -28,6 +46,8 @@ "{count} folders" => "{count} aplankalai", "1 file" => "1 failas", "{count} files" => "{count} failai", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Negalimas aplanko pavadinimas. 'Shared' pavadinimas yra rezervuotas ownCloud", +"Unable to rename file" => "Nepavyko pervadinti failo", "Upload" => "Įkelti", "File handling" => "Failų tvarkymas", "Maximum upload size" => "Maksimalus įkeliamo failo dydis", @@ -40,12 +60,16 @@ "New" => "Naujas", "Text file" => "Teksto failas", "Folder" => "Katalogas", +"From link" => "Iš nuorodos", +"Deleted files" => "Ištrinti failai", "Cancel upload" => "Atšaukti siuntimą", +"You don’t have write permissions here." => "Jūs neturite rašymo leidimo.", "Nothing in here. Upload something!" => "Čia tuščia. Įkelkite ką nors!", "Download" => "Atsisiųsti", "Unshare" => "Nebesidalinti", "Upload too large" => "Įkėlimui failas per didelis", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Bandomų įkelti failų dydis viršija maksimalų, kuris leidžiamas šiame serveryje", "Files are being scanned, please wait." => "Skenuojami failai, prašome palaukti.", -"Current scanning" => "Šiuo metu skenuojama" +"Current scanning" => "Šiuo metu skenuojama", +"Upgrading filesystem cache..." => "Atnaujinamas sistemos kešavimas..." ); diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php index 83412bf2be..43a8dc7008 100644 --- a/apps/files/l10n/ru.php +++ b/apps/files/l10n/ru.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} папок", "1 file" => "1 файл", "{count} files" => "{count} файлов", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Неправильное имя каталога. Имя 'Shared' зарезервировано.", "Unable to rename file" => "Невозможно переименовать файл", "Upload" => "Загрузка", "File handling" => "Управление файлами", diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php index 82d169d569..171c95f7a0 100644 --- a/apps/files/l10n/sv.php +++ b/apps/files/l10n/sv.php @@ -46,6 +46,7 @@ "{count} folders" => "{count} mappar", "1 file" => "1 fil", "{count} files" => "{count} filer", +"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Ogiltigt mappnamn. Användning av 'Shared' är reserverad av ownCloud", "Unable to rename file" => "Kan inte byta namn på filen", "Upload" => "Ladda upp", "File handling" => "Filhantering", diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php index c9e3de5691..6e68d81ba0 100644 --- a/apps/files_encryption/appinfo/app.php +++ b/apps/files_encryption/appinfo/app.php @@ -25,6 +25,12 @@ stream_wrapper_register('crypt', 'OCA\Encryption\Stream'); // check if we are logged in if (OCP\User::isLoggedIn()) { + + // ensure filesystem is loaded + if(!\OC\Files\Filesystem::$loaded) { + \OC_Util::setupFS(); + } + $view = new OC_FilesystemView('/'); $session = new \OCA\Encryption\Session($view); diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index cfe9e9d2a3..4434df8f14 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -46,6 +46,11 @@ class Hooks { $view = new \OC_FilesystemView('/'); + // ensure filesystem is loaded + if(!\OC\Files\Filesystem::$loaded) { + \OC_Util::setupFS($params['uid']); + } + $util = new Util($view, $params['uid']); // setup user, if user not ready force relogin @@ -141,6 +146,15 @@ class Hooks { \OC_FileProxy::$enabled = $proxyStatus; } + /** + * @brief If the password can't be changed within ownCloud, than update the key password in advance. + */ + public static function preSetPassphrase($params) { + if ( ! \OC_User::canUserChangePassword($params['uid']) ) { + self::setPassphrase($params); + } + } + /** * @brief Change a user's encryption passphrase * @param array $params keys: uid, password diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php index 46e91d1f07..5db1d7e58c 100644 --- a/apps/files_encryption/l10n/ca.php +++ b/apps/files_encryption/l10n/ca.php @@ -1,4 +1,22 @@ "La clau de recuperació s'ha activat", +"Could not enable recovery key. Please check your recovery key password!" => "No s'ha pogut activar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!", +"Recovery key successfully disabled" => "La clau de recuperació s'ha descativat", +"Could not disable recovery key. Please check your recovery key password!" => "No s'ha pogut desactivar la calu de recuperació. Comproveu la contrasenya de la clau de recuperació!", +"Password successfully changed." => "La contrasenya s'ha canviat.", +"Could not change the password. Maybe the old password was not correct." => "No s'ha pogut canviar la contrasenya. Potser la contrasenya anterior no era correcta.", "Saving..." => "Desant...", -"Encryption" => "Xifrat" +"Encryption" => "Xifrat", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Activa la clau de recuperació de contrasenya (permet compartir la clau de recuperació):", +"Recovery account password" => "Contrasenya de recuperació del compte", +"Enabled" => "Activat", +"Disabled" => "Desactivat", +"Change encryption passwords recovery key:" => "Canvia la clau de recuperació de la contrasenya:", +"Old Recovery account password" => "Contrasenya de recuperació anterior", +"New Recovery account password" => "Nova contrasenya de recuperació de compte", +"Change Password" => "Canvia la contrasenya", +"Enable password recovery by sharing all files with your administrator:" => "Activa la recuperació de contrasenya compartint tots els fitxers amb l'administrador:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Activant aquesta opció us permetrà obtenir de nou accés als fitxers encriptats si perdeu la contrasenya", +"File recovery settings updated" => "S'han actualitzat els arranjaments de recuperació de fitxers", +"Could not update file recovery" => "No s'ha pogut actualitzar la recuperació de fitxers" ); diff --git a/apps/files_encryption/l10n/cs_CZ.php b/apps/files_encryption/l10n/cs_CZ.php index f9b2dd06b6..e8c365972c 100644 --- a/apps/files_encryption/l10n/cs_CZ.php +++ b/apps/files_encryption/l10n/cs_CZ.php @@ -1,4 +1,22 @@ "Záchranný klíč byl úspěšně povolen", +"Could not enable recovery key. Please check your recovery key password!" => "Nepodařilo se povolit záchranný klíč. Zkontrolujte prosím vaše heslo záchranného klíče!", +"Recovery key successfully disabled" => "Záchranný klíč byl úspěšně zakázán", +"Could not disable recovery key. Please check your recovery key password!" => "Nelze zakázat záchranný klíč. Zkontrolujte prosím heslo vašeho záchranného klíče.", +"Password successfully changed." => "Heslo bylo úspěšně změněno.", +"Could not change the password. Maybe the old password was not correct." => "Nelze změnit heslo. Pravděpodobně nebylo stávající heslo zadáno správně.", "Saving..." => "Ukládám...", -"Encryption" => "Šifrování" +"Encryption" => "Šifrování", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Povolit záchranný klíč šifrovacích hesel (povolí sdílený záchranný klíč):", +"Recovery account password" => "Heslo pro obnovu účtu", +"Enabled" => "Povoleno", +"Disabled" => "Zakázáno", +"Change encryption passwords recovery key:" => "Změnit záchranný klíč šifrovacích hesel:", +"Old Recovery account password" => "Stávající heslo pro obnovu účtu", +"New Recovery account password" => "Nové heslo pro obnovu účtu", +"Change Password" => "Změnit heslo", +"Enable password recovery by sharing all files with your administrator:" => "Povolit obnovu hesla sdílením všech souborů s vaším správcem:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Povolení vám umožní znovu získat přístup k vašim zašifrovaným souborům pokud ztratíte heslo", +"File recovery settings updated" => "Možnosti obnovy souborů aktualizovány", +"Could not update file recovery" => "Nelze aktualizovat obnovu souborů" ); diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php index 2ab77f480c..18fe7df648 100644 --- a/apps/files_encryption/l10n/de.php +++ b/apps/files_encryption/l10n/de.php @@ -1,4 +1,17 @@ "Wiederherstellungsschlüssel wurde erfolgreich aktiviert", +"Could not enable recovery key. Please check your recovery key password!" => "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden. Überprüfen Sie Ihr Wiederherstellungspasswort!", +"Recovery key successfully disabled" => "Wiederherstellungsschlüssel deaktiviert.", +"Could not disable recovery key. Please check your recovery key password!" => "Der Wiederherstellungsschlüssel konnte nicht deaktiviert werden. Überprüfen Sie Ihr Wiederherstellungspasswort!", +"Password successfully changed." => "Dein Passwort wurde geändert.", +"Could not change the password. Maybe the old password was not correct." => "Das Passwort konnte nicht geändert werden. Vielleicht war das alte Passwort falsch.", "Saving..." => "Speichern...", -"Encryption" => "Verschlüsselung" +"Encryption" => "Verschlüsselung", +"Recovery account password" => "Password zurücksetzen", +"Enabled" => "Aktiviert", +"Disabled" => "Deaktiviert", +"Change encryption passwords recovery key:" => "Wiederherstellungsschlüssel für Passwörter ändern:", +"Change Password" => "Passwort ändern", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Wenn Sie diese Einstellung aktivieren, können Sie auch im Falle des Verlustes Ihres Passworts auf verschlüsselte Dateien zugreifen", +"File recovery settings updated" => "Einstellungen zur Wiederherstellung von Dateien wurden aktualisiert" ); diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php index 5ab283ccab..48bf3a89a2 100644 --- a/apps/files_encryption/l10n/de_DE.php +++ b/apps/files_encryption/l10n/de_DE.php @@ -1,9 +1,20 @@ "Der Wiederherstellungsschlüssel wurde erfolgreich aktiviert.", +"Could not enable recovery key. Please check your recovery key password!" => "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden. Bitte überprüfen Sie das Passwort für den Wiederherstellungsschlüssel!", +"Recovery key successfully disabled" => "Der Wiederherstellungsschlüssel wurde erfolgreich deaktiviert.", +"Could not disable recovery key. Please check your recovery key password!" => "Der Wiederherstellungsschlüssel konnte nicht deaktiviert werden. Bitte überprüfen Sie das Passwort für den Wiederherstellungsschlüssel!", "Password successfully changed." => "Das Passwort wurde erfolgreich geändert.", "Could not change the password. Maybe the old password was not correct." => "Das Passwort konnte nicht geändert werden. Vielleicht war das alte Passwort nicht richtig.", "Saving..." => "Speichern...", "Encryption" => "Verschlüsselung", +"Recovery account password" => "Account-Passwort wiederherstellen", "Enabled" => "Aktiviert", "Disabled" => "Deaktiviert", -"Change Password" => "Passwort ändern" +"Old Recovery account password" => "Altes Passwort für die Account-Wiederherstellung", +"New Recovery account password" => "Neues Passwort für die Account-Wiederherstellung", +"Change Password" => "Passwort ändern", +"Enable password recovery by sharing all files with your administrator:" => "Aktiviere die Wiederherstellung deines Passwortes durch das Teilen aller Dateien mit dem Administrator:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Durch die Aktivierung dieser Option haben Sie die Möglichkeit, wieder auf Ihre verschlüsselten Dateien zugreifen zu können, wenn Sie Ihr Passwort verloren haben.", +"File recovery settings updated" => "Die Einstellungen für die Dateiwiederherstellung wurden aktualisiert.", +"Could not update file recovery" => "Die Dateiwiederherstellung konnte nicht aktualisiert werden." ); diff --git a/apps/files_encryption/l10n/es.php b/apps/files_encryption/l10n/es.php index 7311a78f09..58adbd716a 100644 --- a/apps/files_encryption/l10n/es.php +++ b/apps/files_encryption/l10n/es.php @@ -1,4 +1,22 @@ "Se ha habilitado la recuperación de archivos", +"Could not enable recovery key. Please check your recovery key password!" => "No se pudo habilitar la clave de recuperación. Por favor compruebe su contraseña.", +"Recovery key successfully disabled" => "Clave de recuperación deshabilitada", +"Could not disable recovery key. Please check your recovery key password!" => "No se pudo deshabilitar la clave de recuperación. Por favor compruebe su contraseña!", +"Password successfully changed." => "Su contraseña ha sido cambiada", +"Could not change the password. Maybe the old password was not correct." => "No se pudo cambiar la contraseña. Compruebe que la contraseña actual sea correcta.", "Saving..." => "Guardando...", -"Encryption" => "Cifrado" +"Encryption" => "Cifrado", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Habilitar clave de recuperación de contraseñas ():", +"Recovery account password" => "Recuperar contraseña", +"Enabled" => "Habilitar", +"Disabled" => "Deshabilitado", +"Change encryption passwords recovery key:" => "Cambiar clave de cifrado de contraseñas:", +"Old Recovery account password" => "Contraseña de recuperación actual", +"New Recovery account password" => "Contraseña de recuperación nueva", +"Change Password" => "Cambiar contraseña", +"Enable password recovery by sharing all files with your administrator:" => "Habilitar recuperación de contraseña compartiendo todos los archivos con su administrador", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Habilitar esta opción para poder acceder a sus archivos cifrados si pierde su contraseña", +"File recovery settings updated" => "Opciones de recuperación de archivos actualizada", +"Could not update file recovery" => "No se pudo actualizar la recuperación de archivos" ); diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php index 98fb70691d..af4fd1a893 100644 --- a/apps/files_encryption/l10n/fr.php +++ b/apps/files_encryption/l10n/fr.php @@ -1,4 +1,22 @@ "Clé de récupération activée avec succès", +"Could not enable recovery key. Please check your recovery key password!" => "Ne peut pas activer la clé de récupération. s'il vous plait vérifiez votre mot de passe de clé de récupération!", +"Recovery key successfully disabled" => "Clé de récupération désactivée avc succès", +"Could not disable recovery key. Please check your recovery key password!" => "Ne peut pas désactiver la clé de récupération. S'il vous plait vérifiez votre mot de passe de clé de récupération!", +"Password successfully changed." => "Mot de passe changé avec succès ", +"Could not change the password. Maybe the old password was not correct." => "Ne peut pas changer le mot de passe. L'ancien mot de passe est peut-être incorrect.", "Saving..." => "Enregistrement...", -"Encryption" => "Chiffrement" +"Encryption" => "Chiffrement", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Activer la clé de récupération par mots de passe de cryptage (autoriser le partage de la clé de récupération) ", +"Recovery account password" => "Rétablissement du compte mot de passe ", +"Enabled" => "Activer", +"Disabled" => "Désactiver", +"Change encryption passwords recovery key:" => "Changer les mots de passe de cryptage par la clé de récupération", +"Old Recovery account password" => "Ancien compte de récupération de mots de passe", +"New Recovery account password" => "Nouveau compte de récupération de mots de passe", +"Change Password" => "Changer de mot de passe", +"Enable password recovery by sharing all files with your administrator:" => "Activer la récupération des mots de passe en partageant les fichiers avec votre administrateur:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "En activant cette option cela vous autorisera à récupérer votre accès aux fichiers cryptés si votre mot de passe est perdu", +"File recovery settings updated" => "Mise à jour des paramètres de récupération de fichiers ", +"Could not update file recovery" => "Ne peut pas remettre à jour les fichiers de récupération" ); diff --git a/apps/files_encryption/l10n/ja_JP.php b/apps/files_encryption/l10n/ja_JP.php index 7f906ae5c0..6d2d3e249c 100644 --- a/apps/files_encryption/l10n/ja_JP.php +++ b/apps/files_encryption/l10n/ja_JP.php @@ -1,4 +1,8 @@ "リカバリ用のキーは正常に有効化されました", +"Could not enable recovery key. Please check your recovery key password!" => "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認して下さい!", +"Recovery key successfully disabled" => "リカバリ用のキーを正常に無効化しました", +"Could not disable recovery key. Please check your recovery key password!" => "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認して下さい!", "Password successfully changed." => "パスワードを変更できました。", "Could not change the password. Maybe the old password was not correct." => "パスワードを変更できませんでした。古いパスワードが間違っているかもしれません。", "Saving..." => "保存中...", diff --git a/apps/files_encryption/l10n/lt_LT.php b/apps/files_encryption/l10n/lt_LT.php index 6bc80ff44a..8e9d02c3b1 100644 --- a/apps/files_encryption/l10n/lt_LT.php +++ b/apps/files_encryption/l10n/lt_LT.php @@ -1,4 +1,22 @@ "Atkūrimo raktas sėkmingai įjungtas", +"Could not enable recovery key. Please check your recovery key password!" => "Neišėjo įjungti jūsų atkūrimo rakto. Prašome jį patikrinti!", +"Recovery key successfully disabled" => "Atkūrimo raktas sėkmingai išjungtas", +"Could not disable recovery key. Please check your recovery key password!" => "Neišėjo išjungti jūsų atkūrimo rakto. Prašome jį patikrinti!", +"Password successfully changed." => "Slaptažodis sėkmingai pakeistas", +"Could not change the password. Maybe the old password was not correct." => "Slaptažodis nebuvo pakeistas. Gali būti, kad buvo neteisingai suvestas senasis.", "Saving..." => "Saugoma...", -"Encryption" => "Šifravimas" +"Encryption" => "Šifravimas", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Įjungti šifravimo slaptažodžio atstatymo raktą (leidžia dalintis su atstatymo raktu):", +"Recovery account password" => "Atstatymo vartotojo slaptažodis", +"Enabled" => "Įjungta", +"Disabled" => "Išjungta", +"Change encryption passwords recovery key:" => "Pakeisti šifravimo slaptažodžio atstatymo raktą:", +"Old Recovery account password" => "Seno atstatymo vartotojo slaptažodis", +"New Recovery account password" => "naujo atstatymo vartotojo slaptažodis", +"Change Password" => "Pakeisti slaptažodį", +"Enable password recovery by sharing all files with your administrator:" => "Įjungti slaptažodžio atkūrimą dalinantis visais failas su administratoriumi:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Įjungus šią funkciją jums bus suteiktas priėjimas prie šifruotos informacijos ir pamiršus slaptažodį.", +"File recovery settings updated" => "Failų atstatymo nustatymai pakeisti", +"Could not update file recovery" => "Neišėjo atnaujinti failų atkūrimo" ); diff --git a/apps/files_encryption/l10n/nl.php b/apps/files_encryption/l10n/nl.php index ebcbdfab15..9c462917cf 100644 --- a/apps/files_encryption/l10n/nl.php +++ b/apps/files_encryption/l10n/nl.php @@ -1,4 +1,8 @@ "Herstelsleutel succesvol geactiveerd", +"Could not enable recovery key. Please check your recovery key password!" => "Kon herstelsleutel niet activeren. Controleer het wachtwoord van uw herstelsleutel!", +"Recovery key successfully disabled" => "Herstelsleutel succesvol gedeactiveerd", +"Could not disable recovery key. Please check your recovery key password!" => "Kon herstelsleutel niet deactiveren. Controleer het wachtwoord van uw herstelsleutel!", "Password successfully changed." => "Wachtwoord succesvol gewijzigd.", "Could not change the password. Maybe the old password was not correct." => "Kon wachtwoord niet wijzigen. Wellicht oude wachtwoord niet juist ingevoerd.", "Saving..." => "Opslaan", diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php index ce8814c233..e5fa0b55ca 100644 --- a/apps/files_encryption/l10n/pt_BR.php +++ b/apps/files_encryption/l10n/pt_BR.php @@ -1,4 +1,8 @@ "Recuperação de chave habilitada com sucesso", +"Could not enable recovery key. Please check your recovery key password!" => "Impossível habilitar recuperação de chave. Por favor verifique sua senha para recuperação de chave!", +"Recovery key successfully disabled" => "Recuperação de chave desabilitada com sucesso", +"Could not disable recovery key. Please check your recovery key password!" => "Impossível desabilitar recuperação de chave. Por favor verifique sua senha para recuperação de chave!", "Password successfully changed." => "Senha alterada com sucesso.", "Could not change the password. Maybe the old password was not correct." => "Não foi possível alterar a senha. Talvez a senha antiga não estava correta.", "Saving..." => "Salvando...", diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php index 966963b554..efcfc10507 100644 --- a/apps/files_encryption/l10n/sv.php +++ b/apps/files_encryption/l10n/sv.php @@ -1,4 +1,22 @@ "Återställningsnyckeln har framgångsrikt aktiverats", +"Could not enable recovery key. Please check your recovery key password!" => "Kunde inte aktivera återställningsnyckeln. Vänligen kontrollera ditt lösenord för återställningsnyckeln!", +"Recovery key successfully disabled" => "Återställningsnyckeln har framgångsrikt inaktiverats", +"Could not disable recovery key. Please check your recovery key password!" => "Kunde inte inaktivera återställningsnyckeln. Vänligen kontrollera ditt lösenord för återställningsnyckeln!", +"Password successfully changed." => "Ändringen av lösenordet lyckades.", +"Could not change the password. Maybe the old password was not correct." => "Kunde inte ändra lösenordet. Kanske det gamla lösenordet inte var rätt.", "Saving..." => "Sparar...", -"Encryption" => "Kryptering" +"Encryption" => "Kryptering", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Aktivera återställningsnyckel för krypterade lösenord. (tillåt delning till återställningsnyckeln):", +"Recovery account password" => "Återställning av kontolösenord", +"Enabled" => "Aktiverad", +"Disabled" => "Inaktiverad", +"Change encryption passwords recovery key:" => "Ändra återställningsnyckeln för krypterade lösenord:", +"Old Recovery account password" => "Gamla lösenordet för återställningskontot", +"New Recovery account password" => "Nytt återställningslösenord för kontot", +"Change Password" => "Byt lösenord", +"Enable password recovery by sharing all files with your administrator:" => "Aktivera lösenordsåterställning genom att dela alla filer med din administratör:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Aktivera det här alternativet för att kunna återfå tillgång till dina krypterade filer om du skulle förlora/glömma ditt lösenord", +"File recovery settings updated" => "Inställningarna för filåterställning har uppdaterats", +"Could not update file recovery" => "Kunde inte uppdatera filåterställning" ); diff --git a/apps/files_encryption/l10n/tr.php b/apps/files_encryption/l10n/tr.php index 917ff0a0ea..fc0847ed85 100644 --- a/apps/files_encryption/l10n/tr.php +++ b/apps/files_encryption/l10n/tr.php @@ -1,4 +1,22 @@ "Kurtarma anahtarı başarıyla etkinleştirildi", +"Could not enable recovery key. Please check your recovery key password!" => "Kurtarma anahtarı etkinleştirilemedi. Lütfen kurtarma anahtarı parolanızı kontrol edin!", +"Recovery key successfully disabled" => "Kurtarma anahtarı başarıyla devre dışı bırakıldı", +"Could not disable recovery key. Please check your recovery key password!" => "Kurtarma anahtarı devre dışı bırakılamadı. Lütfen kurtarma anahtarı parolanızı kontrol edin!", +"Password successfully changed." => "Şifreniz başarıyla değiştirildi.", +"Could not change the password. Maybe the old password was not correct." => "Parola değiştirilemedi. Eski parolanız doğru olmayabilir", "Saving..." => "Kaydediliyor...", -"Encryption" => "Şifreleme" +"Encryption" => "Şifreleme", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "Şifreli parola kurtarma anahtarını etkinleştir(kurtarma anahtarı paylaşımına izin ver)", +"Recovery account password" => "Kurtarma hesabı parolası", +"Enabled" => "Etkinleştirildi", +"Disabled" => "Devre dışı", +"Change encryption passwords recovery key:" => "Şifreli parolalar kurtarma anahtarını değiştir:", +"Old Recovery account password" => "Eski kurtarma hesabı parolası", +"New Recovery account password" => "Yeni kurtarma hesabı parolası", +"Change Password" => "Parola değiştir", +"Enable password recovery by sharing all files with your administrator:" => "Parola kurtarmasını tüm paylaşılan dosyaları sistem yöneticiniz ile paylaşarak kurtarmayı etkinleştir:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "Bu seçeneği etkinleştirmekle eğer parolanızı kaybederseniz şifreli dosyalara erişimi elde etmiş olursunuz", +"File recovery settings updated" => "Dosya kurtarma ayarları güncellendi", +"Could not update file recovery" => "Dosya kurtarma güncellenemedi" ); diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php index 0af5bdc9a6..3e76060b1d 100644 --- a/apps/files_encryption/l10n/vi.php +++ b/apps/files_encryption/l10n/vi.php @@ -1,4 +1,10 @@ "Đã đổi mật khẩu.", +"Could not change the password. Maybe the old password was not correct." => "Không thể đổi mật khẩu. Có lẽ do mật khẩu cũ không đúng.", "Saving..." => "Đang lưu...", -"Encryption" => "Mã hóa" +"Encryption" => "Mã hóa", +"Recovery account password" => "Mật khẩu cho tài khoản cứu hộ", +"Enabled" => "Bật", +"Disabled" => "Tắt", +"Change Password" => "Đổi Mật khẩu" ); diff --git a/apps/files_encryption/l10n/zh_CN.php b/apps/files_encryption/l10n/zh_CN.php index e565fce801..59582e6fd5 100644 --- a/apps/files_encryption/l10n/zh_CN.php +++ b/apps/files_encryption/l10n/zh_CN.php @@ -1,4 +1,22 @@ "恢复密钥成功启用", +"Could not enable recovery key. Please check your recovery key password!" => "不能启用恢复密钥。请检查恢复密钥密码!", +"Recovery key successfully disabled" => "恢复密钥成功禁用", +"Could not disable recovery key. Please check your recovery key password!" => "不能禁用恢复密钥。请检查恢复密钥密码!", +"Password successfully changed." => "密码修改成功。", +"Could not change the password. Maybe the old password was not correct." => "不能修改密码。旧密码可能不正确。", "Saving..." => "保存中", -"Encryption" => "加密" +"Encryption" => "加密", +"Enable encryption passwords recovery key (allow sharing to recovery key):" => "启用加密密码恢复密钥(允许共享恢复密钥):", +"Recovery account password" => "恢复账户密码", +"Enabled" => "开启", +"Disabled" => "禁用", +"Change encryption passwords recovery key:" => "变更加密密码恢复密钥:", +"Old Recovery account password" => "旧恢复账号密码", +"New Recovery account password" => "新恢复账号密码", +"Change Password" => "修改密码", +"Enable password recovery by sharing all files with your administrator:" => "通过与系统管理员共享全部文件启用密码恢复:", +"Enabling this option will allow you to reobtain access to your encrypted files if your password is lost" => "启用该选项将允许你丢失密码时重新取得加密过的文件。", +"File recovery settings updated" => "文件恢复设置已更新", +"Could not update file recovery" => "不能更新文件恢复" ); diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php index 923cc2ce9d..a22c139c50 100755 --- a/apps/files_encryption/lib/helper.php +++ b/apps/files_encryption/lib/helper.php @@ -48,6 +48,7 @@ class Helper { \OCP\Util::connectHook('OC_User', 'post_login', 'OCA\Encryption\Hooks', 'login'); \OCP\Util::connectHook('OC_User', 'post_setPassword', 'OCA\Encryption\Hooks', 'setPassphrase'); + \OCP\Util::connectHook('OC_User', 'pre_setPassword', 'OCA\Encryption\Hooks', 'preSetPassphrase'); \OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Encryption\Hooks', 'postCreateUser'); \OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Encryption\Hooks', 'postDeleteUser'); } diff --git a/apps/files_encryption/tests/share.php b/apps/files_encryption/tests/share.php index 9a0d542c6d..ae006c1794 100755 --- a/apps/files_encryption/tests/share.php +++ b/apps/files_encryption/tests/share.php @@ -533,7 +533,7 @@ class Test_Encryption_Share extends \PHPUnit_Framework_TestCase { // some hacking to simulate public link $GLOBALS['app'] = 'files_sharing'; $GLOBALS['fileOwner'] = \Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1; - \OC_User::setUserId(''); + \OC_User::setUserId(false); // get file contents $retrievedCryptedFile = file_get_contents('crypt://' . $this->filename); diff --git a/apps/files_external/l10n/sv.php b/apps/files_external/l10n/sv.php index 45d3589228..80e68ab6e0 100644 --- a/apps/files_external/l10n/sv.php +++ b/apps/files_external/l10n/sv.php @@ -6,6 +6,7 @@ "Error configuring Google Drive storage" => "Fel vid konfigurering av Google Drive", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Varning: \"smb-klienten\" är inte installerad. Montering av CIFS/SMB delningar är inte möjligt. Kontakta din systemadministratör för att få den installerad.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Varning: Stöd för FTP i PHP är inte aktiverat eller installerat. Montering av FTP-delningar är inte möjligt. Kontakta din systemadministratör för att få det installerat.", +"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Varning: Curl-stöd i PHP är inte aktiverat eller installerat. Montering av ownCloud / WebDAV eller GoogleDrive är inte möjligt. Vänligen be din administratör att installera det.", "External Storage" => "Extern lagring", "Folder name" => "Mappnamn", "External storage" => "Extern lagring", diff --git a/apps/files_external/l10n/zh_CN.GB2312.php b/apps/files_external/l10n/zh_CN.GB2312.php index c74323db17..47298f8007 100644 --- a/apps/files_external/l10n/zh_CN.GB2312.php +++ b/apps/files_external/l10n/zh_CN.GB2312.php @@ -6,6 +6,7 @@ "Error configuring Google Drive storage" => "配置 Google Drive 存储失败", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "注意:“SMB客户端”未安装。CIFS/SMB分享不可用。请向您的系统管理员请求安装该客户端。", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "注意:PHP的FTP支持尚未启用或未安装。FTP分享不可用。请向您的系统管理员请求安装。", +"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "警告: PHP 的 Curl 支持没有安装或打开。挂载 ownCloud、WebDAV 或 Google Drive 的功能将不可用。请询问您的系统管理员去安装它。", "External Storage" => "外部存储", "Folder name" => "文件夹名", "External storage" => "外部存储", diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index 655c3c9a81..81a6c95638 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -57,12 +57,22 @@ class SMB extends \OC\Files\Storage\StreamWrapper{ public function stat($path) { if ( ! $path and $this->root=='/') {//mtime doesn't work for shares - $mtime=$this->shareMTime(); $stat=stat($this->constructUrl($path)); + if (empty($stat)) { + return false; + } + $mtime=$this->shareMTime(); $stat['mtime']=$mtime; return $stat; } else { - return stat($this->constructUrl($path)); + $stat = stat($this->constructUrl($path)); + + // smb4php can return an empty array if the connection could not be established + if (empty($stat)) { + return false; + } + + return $stat; } } diff --git a/apps/files_external/tests/config.php b/apps/files_external/tests/config.php index 1d4f30c713..bac594b485 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -1,4 +1,13 @@ use them +$privateConfigFile = $_SERVER['HOME'] . '/owncloud-extfs-test-config.php'; +if (file_exists($privateConfigFile)) { + $config = include($privateConfigFile); + return $config; +} + +// this is now more a template now for your private configurations return array( 'ftp'=>array( 'run'=>false, diff --git a/apps/files_sharing/l10n/lt_LT.php b/apps/files_sharing/l10n/lt_LT.php index 96ab48cd2c..40ed115599 100644 --- a/apps/files_sharing/l10n/lt_LT.php +++ b/apps/files_sharing/l10n/lt_LT.php @@ -1,6 +1,9 @@ "Slaptažodis", "Submit" => "Išsaugoti", +"%s shared the folder %s with you" => "%s pasidalino su jumis %s aplanku", +"%s shared the file %s with you" => "%s pasidalino su jumis %s failu", "Download" => "Atsisiųsti", +"No preview available for" => "Peržiūra nėra galima", "web services under your control" => "jūsų valdomos web paslaugos" ); diff --git a/apps/files_trashbin/l10n/bg_BG.php b/apps/files_trashbin/l10n/bg_BG.php index 288518e1a4..1e0953b013 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 e31fdb952e..853d4e1925 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 011de161e4..7df63bd7f2 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_versions/l10n/he.php b/apps/files_versions/l10n/he.php index ad2e261d53..577389eb08 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/sv.php b/apps/files_versions/l10n/sv.php index bcd21bc599..8317097630 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/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php index 81eaa0404b..593e846bc0 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/js/settings.js b/apps/user_ldap/js/settings.js index f47d49cf22..52d5dbc48d 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'); diff --git a/apps/user_ldap/l10n/cs_CZ.php b/apps/user_ldap/l10n/cs_CZ.php index dd7373eb69..65c7c76b5d 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,7 @@ "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ý", @@ -72,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/de_DE.php b/apps/user_ldap/l10n/de_DE.php index e22c5b5bdd..8aa64477e4 100644 --- a/apps/user_ldap/l10n/de_DE.php +++ b/apps/user_ldap/l10n/de_DE.php @@ -74,6 +74,8 @@ "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/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php index a06d0bd535..361ae5e040 100644 --- a/apps/user_ldap/l10n/hu_HU.php +++ b/apps/user_ldap/l10n/hu_HU.php @@ -75,6 +75,12 @@ "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/is.php b/apps/user_ldap/l10n/is.php index dadac9eeda..6ea474f56d 100644 --- a/apps/user_ldap/l10n/is.php +++ b/apps/user_ldap/l10n/is.php @@ -1,6 +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/nl.php b/apps/user_ldap/l10n/nl.php index c935d387cc..c75aae3ea4 100644 --- a/apps/user_ldap/l10n/nl.php +++ b/apps/user_ldap/l10n/nl.php @@ -75,10 +75,13 @@ "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", diff --git a/apps/user_ldap/l10n/pl.php b/apps/user_ldap/l10n/pl.php index 7edfe0919e..5495ab9940 100644 --- a/apps/user_ldap/l10n/pl.php +++ b/apps/user_ldap/l10n/pl.php @@ -75,6 +75,7 @@ "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:", diff --git a/apps/user_ldap/l10n/ru.php b/apps/user_ldap/l10n/ru.php index eed6d373b9..0573be3993 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,7 @@ "Take over settings from recent server configuration?" => "Принять настройки из последней конфигурации сервера?", "Keep settings?" => "Сохранить настройки?", "Cannot add server configuration" => "Не получилось добавить конфигурацию сервера", +"mappings cleared" => "Соответствия очищены", "Success" => "Успешно", "Error" => "Ошибка", "Connection test succeeded" => "Проверка соединения удалась", @@ -72,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/sv.php b/apps/user_ldap/l10n/sv.php index eb30bd22f0..6ab8a9e5a6 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,7 @@ "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", @@ -72,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/zh_CN.php b/apps/user_ldap/l10n/zh_CN.php index 7b8389227a..675fe4dfc7 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,7 @@ "Take over settings from recent server configuration?" => "从近期的服务器配置中导入设置?", "Keep settings?" => "保留设置吗?", "Cannot add server configuration" => "无法添加服务器配置", +"mappings cleared" => "清除映射", "Success" => "成功", "Error" => "错误", "Connection test succeeded" => "连接测试成功", @@ -72,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/lib/connection.php b/apps/user_ldap/lib/connection.php index ba4de13534..31150a5bec 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -601,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); @@ -622,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)) { @@ -636,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 07d13a806a..10ed40ebd6 100644 --- a/apps/user_ldap/lib/helper.php +++ b/apps/user_ldap/lib/helper.php @@ -118,7 +118,13 @@ class Helper { return false; } - $query = \OCP\DB::prepare('TRUNCATE '.$table); + 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)) { diff --git a/apps/user_ldap/lib/jobs.php b/apps/user_ldap/lib/jobs.php index 094d11db3d..60ecc0da33 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_webdavauth/l10n/he.php b/apps/user_webdavauth/l10n/he.php new file mode 100644 index 0000000000..9ab6b83bc7 --- /dev/null +++ b/apps/user_webdavauth/l10n/he.php @@ -0,0 +1,5 @@ + "הזדהות מול 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 תשלח את פרטי המשתמש לכתובת זו. התוסף יבדוק את התגובה ויתרגם את הקודים 401 ו־403 כתגובה לציון פרטי גישה שגויים ואת כל שאר התגובות כפרטי גישה נכונים." +); diff --git a/apps/user_webdavauth/l10n/is.php b/apps/user_webdavauth/l10n/is.php index 8fe0d974b3..bb59ef5e44 100644 --- a/apps/user_webdavauth/l10n/is.php +++ b/apps/user_webdavauth/l10n/is.php @@ -1,3 +1,4 @@ "WebDAV Auðkenni", "URL: http://" => "Vefslóð: http://" ); diff --git a/core/css/jquery.ocdialog.css b/core/css/jquery.ocdialog.css new file mode 100644 index 0000000000..c300b031af --- /dev/null +++ b/core/css/jquery.ocdialog.css @@ -0,0 +1,48 @@ +.oc-dialog { + background: white; + color: #333333; + border-radius: 3px; box-shadow: 0 0 7px #888888; + padding: 15px; + z-index: 1000; + font-size: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + min-width: 200px; +} +.oc-dialog-title { + background: white; + font-weight: bold; + font-size: 110%; + margin-bottom: 10px; +} +.oc-dialog-content { + z-index: 1000; + background: white; +} +.oc-dialog-separator { +} +.oc-dialog-buttonrow { + background: white; + float: right; + position: relative; + bottom: 0; + display: block; + margin-top: 10px; +} + +.oc-dialog-close { + position:absolute; + top:7px; right:7px; + height:20px; width:20px; + background:url('../img/actions/delete.svg') no-repeat center; +} + +.oc-dialog-dim { + background-color: #000; + opacity: .20;filter:Alpha(Opacity=20); + z-index: 999; + position: absolute; + top: 0; left: 0; + width: 100%; height: 100%; +} diff --git a/core/css/styles.css b/core/css/styles.css index 70a840d689..313f89195d 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -37,7 +37,7 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endC /* INPUTS */ -input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], +input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"], textarea, select, button, .button, #quota, div.jp-progress, .pager li a { @@ -48,11 +48,11 @@ button, .button, -moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em; } input[type="hidden"] { height:0; width:0; } -input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], textarea { +input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"], textarea { background:#f8f8f8; color:#555; cursor:text; font-family: inherit; /* use default ownCloud font instead of default textarea monospace */ } -input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"] { +input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"] { -webkit-appearance:textfield; -moz-appearance:textfield; -webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box; } @@ -61,6 +61,7 @@ input[type="password"]:hover, input[type="password"]:focus, input[type="password input[type="number"]:hover, input[type="number"]:focus, input[type="number"]:active, .searchbox input[type="search"]:hover, .searchbox input[type="search"]:focus, .searchbox input[type="search"]:active, input[type="email"]:hover, input[type="email"]:focus, input[type="email"]:active, +input[type="url"]:hover, input[type="url"]:focus, input[type="url"]:active, textarea:hover, textarea:focus, textarea:active { background-color:#fff; color:#333; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; @@ -391,7 +392,12 @@ a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;paddin #oc-dialog-filepicker-content .dirtree span:not(:last-child) { cursor: pointer; } #oc-dialog-filepicker-content .dirtree span:last-child { font-weight: bold; } #oc-dialog-filepicker-content .dirtree span:not(:last-child)::after { content: '>'; padding: 3px;} -#oc-dialog-filepicker-content .filelist {height:270px; overflow-y:auto; background-color:white; width:100%;} +#oc-dialog-filepicker-content .filelist { + overflow-y:auto; + max-height: 300px; + background-color:white; + width:100%; +} #oc-dialog-filepicker-content .filelist img { margin: 2px 1em 0 4px; } #oc-dialog-filepicker-content .filelist .date { float:right;margin-right:1em; } #oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;} diff --git a/core/js/jquery.ocdialog.js b/core/js/jquery.ocdialog.js new file mode 100644 index 0000000000..7413927e3b --- /dev/null +++ b/core/js/jquery.ocdialog.js @@ -0,0 +1,217 @@ +(function($) { + $.widget('oc.ocdialog', { + options: { + width: 'auto', + height: 'auto', + closeButton: true, + closeOnEscape: true, + modal: false + }, + _create: function() { + var self = this; + + this.originalCss = { + display: this.element[0].style.display, + width: this.element[0].style.width, + height: this.element[0].style.height, + }; + + this.originalTitle = this.element.attr('title'); + this.options.title = this.options.title || this.originalTitle; + + this.$dialog = $('
') + .attr({ + // Setting tabIndex makes the div focusable + tabIndex: -1, + role: 'dialog' + }) + .insertBefore(this.element); + this.$dialog.append(this.element.detach()); + this.element.removeAttr('title').addClass('oc-dialog-content').appendTo(this.$dialog); + + this.$dialog.css({ + display: 'inline-block', + position: 'fixed' + }); + + $(document).on('keydown keyup', function(event) { + if(event.target !== self.$dialog.get(0) && self.$dialog.find($(event.target)).length === 0) { + return; + } + // Escape + if(event.keyCode === 27 && self.options.closeOnEscape) { + self.close(); + return false; + } + // Enter + if(event.keyCode === 13) { + event.stopImmediatePropagation(); + if(event.type === 'keyup') { + event.preventDefault(); + return false; + } + // If no button is selected we trigger the primary + if(self.$buttonrow && self.$buttonrow.find($(event.target)).length === 0) { + var $button = self.$buttonrow.find('button.primary'); + if($button) { + $button.trigger('click'); + } + } else if(self.$buttonrow) { + $(event.target).trigger('click'); + } + return false; + } + }); + $(window).resize(function() { + self.parent = self.$dialog.parent().length > 0 ? self.$dialog.parent() : $('body'); + var pos = self.parent.position(); + self.$dialog.css({ + left: pos.left + (self.parent.width() - self.$dialog.outerWidth())/2, + top: pos.top + (self.parent.height() - self.$dialog.outerHeight())/2 + }); + }); + + this._setOptions(this.options); + $(window).trigger('resize'); + this._createOverlay(); + }, + _init: function() { + this.$dialog.focus(); + this._trigger('open'); + }, + _setOption: function(key, value) { + var self = this; + switch(key) { + case 'title': + var $title = $('

' + this.options.title + + '

'); //
'); + if(this.$title) { + this.$title.replaceWith($title); + } else { + this.$title = $title.prependTo(this.$dialog); + } + this._setSizes(); + break; + case 'buttons': + var $buttonrow = $('
'); + if(this.$buttonrow) { + this.$buttonrow.replaceWith($buttonrow); + } else { + this.$buttonrow = $buttonrow.appendTo(this.$dialog); + } + $.each(value, function(idx, val) { + var $button = $('