diff options
Diffstat (limited to 'apps/files_external')
34 files changed, 476 insertions, 82 deletions
diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index c00ae3ee019..3a222141fb5 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -37,6 +37,11 @@ class Application extends App { $this->loadBackends(); $this->loadAuthMechanisms(); + + // app developers: do NOT depend on this! it will disappear with oC 9.0! + \OC::$server->getEventDispatcher()->dispatch( + 'OCA\\Files_External::loadAdditionalBackends' + ); } /** diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index b542fe63d64..bf9981adabf 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -756,6 +756,13 @@ MountConfigListView.prototype = _.extend({ $tr.append(priorityEl); $td.children().not('[type=hidden]').first().focus(); + // FIXME default backend mount options + $tr.find('input.mountOptions').val(JSON.stringify({ + 'encrypt': true, + 'previews': true, + 'filesystem_check_changes': 1 + })); + $tr.find('td').last().attr('class', 'remove'); $tr.find('td.mountOptionsToggle').removeClass('hidden'); $tr.find('td').last().removeAttr('style'); diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index b39eef71eaa..ab352880b7c 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.", + "Please provide a valid app key and secret." : "Zadejte prosím platný klíč a tajné heslo aplikace.", "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", @@ -22,12 +25,15 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", + "Invalid backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu", "Invalid mount point" : "Neplatný přípojný bod", "Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"", "Personal" : "Osobní", "System" : "Systém", "Grant access" : "Povolit přístup", "Access granted" : "Přístup povolen", + "Error configuring OAuth1" : "Chyba nastavení OAuth1", + "Error configuring OAuth2" : "Chyba nastavení OAuth2", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -39,12 +45,18 @@ OC.L10N.register( "Saved" : "Uloženo", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", + "Access key" : "Přístupový klíč", + "Secret key" : "Tajný klíč", "None" : "Žádné", + "OAuth1" : "OAuth1", "App key" : "Klíč aplikace", "App secret" : "Tajemství aplikace", + "OAuth2" : "OAuth2", "Client ID" : "Klientské ID", "Client secret" : "Klientské tajemství", + "Username and password" : "Uživatelské jméno a heslo", "Password" : "Heslo", + "Session credentials" : "Přihlašovací údaje sezení", "Amazon S3" : "Amazon S3", "Hostname" : "Hostname", "Port" : "Port", @@ -55,11 +67,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Zabezpečené ftps://", + "Google Drive" : "Google Drive", "Local" : "Místní", "Location" : "Umístění", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Kořen", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Poznámka:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", @@ -71,6 +87,7 @@ OC.L10N.register( "Scope" : "Rozsah", "External Storage" : "Externí úložiště", "Folder name" : "Název složky", + "Authentication" : "Ověření", "Configuration" : "Nastavení", "Available for" : "Dostupné pro", "Advanced settings" : "Pokročilá nastavení", diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index c014da7976f..03afeb48b8e 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.", + "Please provide a valid app key and secret." : "Zadejte prosím platný klíč a tajné heslo aplikace.", "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", @@ -20,12 +23,15 @@ "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", + "Invalid backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu", "Invalid mount point" : "Neplatný přípojný bod", "Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"", "Personal" : "Osobní", "System" : "Systém", "Grant access" : "Povolit přístup", "Access granted" : "Přístup povolen", + "Error configuring OAuth1" : "Chyba nastavení OAuth1", + "Error configuring OAuth2" : "Chyba nastavení OAuth2", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -37,12 +43,18 @@ "Saved" : "Uloženo", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", + "Access key" : "Přístupový klíč", + "Secret key" : "Tajný klíč", "None" : "Žádné", + "OAuth1" : "OAuth1", "App key" : "Klíč aplikace", "App secret" : "Tajemství aplikace", + "OAuth2" : "OAuth2", "Client ID" : "Klientské ID", "Client secret" : "Klientské tajemství", + "Username and password" : "Uživatelské jméno a heslo", "Password" : "Heslo", + "Session credentials" : "Přihlašovací údaje sezení", "Amazon S3" : "Amazon S3", "Hostname" : "Hostname", "Port" : "Port", @@ -53,11 +65,15 @@ "URL" : "URL", "Secure https://" : "Zabezpečené https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Zabezpečené ftps://", + "Google Drive" : "Google Drive", "Local" : "Místní", "Location" : "Umístění", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Kořen", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Poznámka:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", @@ -69,6 +85,7 @@ "Scope" : "Rozsah", "External Storage" : "Externí úložiště", "Folder name" : "Název složky", + "Authentication" : "Ověření", "Configuration" : "Nastavení", "Available for" : "Dostupné pro", "Advanced settings" : "Pokročilá nastavení", diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 42944b2f2fb..8ac5b1a4466 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -27,13 +27,17 @@ OC.L10N.register( "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", + "Objectstore forbidden" : "\"Objectstore\" interdit", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied backend parameters" : "Paramètres manquants pour le service", "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", "Access granted" : "Accès autorisé", + "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1", + "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -45,6 +49,9 @@ OC.L10N.register( "Saved" : "Sauvegardé", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", + "Access key" : "Clé d'accès", + "Secret key" : "Clé secrète", + "Builtin" : "inclus", "None" : "Aucun", "OAuth1" : "OAuth1", "App key" : "App key", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index ffc2de0ef53..67b8932202f 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -25,13 +25,17 @@ "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", + "Objectstore forbidden" : "\"Objectstore\" interdit", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied backend parameters" : "Paramètres manquants pour le service", "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", "Access granted" : "Accès autorisé", + "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1", + "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -43,6 +47,9 @@ "Saved" : "Sauvegardé", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", + "Access key" : "Clé d'accès", + "Secret key" : "Clé secrète", + "Builtin" : "inclus", "None" : "Aucun", "OAuth1" : "OAuth1", "App key" : "App key", diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js index a15106a8f74..e26ad12f3a8 100644 --- a/apps/files_external/l10n/id.js +++ b/apps/files_external/l10n/id.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Permintaan pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Akses pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.", + "Please provide a valid app key and secret." : "Silakan berikan kunci dan kerahasiaan aplikasi yang benar.", "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", @@ -22,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", + "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.", "Invalid mount point" : "Mount point salah", + "Objectstore forbidden" : "Objectstore terlarang", "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", + "Unsatisfied backend parameters" : "Parameter backend tidak lengkap", + "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap", + "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"", "Personal" : "Pribadi", "System" : "Sistem", "Grant access" : "Berikan hak akses", "Access granted" : "Akses diberikan", + "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1", + "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -39,12 +49,19 @@ OC.L10N.register( "Saved" : "Disimpan", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", + "Access key" : "Kunci akses", + "Secret key" : "Kunci rahasia", + "Builtin" : "Internal", "None" : "Tidak ada", + "OAuth1" : "OAuth1", "App key" : "Kunci Apl", "App secret" : "Rahasia Apl", + "OAuth2" : "OAuth2", "Client ID" : "ID Klien", "Client secret" : "Rahasia klien", + "Username and password" : "Nama pengguna dan sandi", "Password" : "Sandi", + "Session credentials" : "Kredensial sesi", "Amazon S3" : "Amazon S3", "Hostname" : "Nama Host", "Port" : "Port", @@ -55,11 +72,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Secure ftps://", + "Google Drive" : "Google Drive", "Local" : "Lokal", "Location" : "lokasi", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Catatan:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", @@ -71,6 +92,7 @@ OC.L10N.register( "Scope" : "Skop", "External Storage" : "Penyimpanan Eksternal", "Folder name" : "Nama folder", + "Authentication" : "Otentikasi", "Configuration" : "Konfigurasi", "Available for" : "Tersedia untuk", "Advanced settings" : "Pengaturan Lanjutan", diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json index aa4990ec828..9c83475f756 100644 --- a/apps/files_external/l10n/id.json +++ b/apps/files_external/l10n/id.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Permintaan pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Akses pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.", + "Please provide a valid app key and secret." : "Silakan berikan kunci dan kerahasiaan aplikasi yang benar.", "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", @@ -20,12 +23,19 @@ "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", + "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.", "Invalid mount point" : "Mount point salah", + "Objectstore forbidden" : "Objectstore terlarang", "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", + "Unsatisfied backend parameters" : "Parameter backend tidak lengkap", + "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap", + "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"", "Personal" : "Pribadi", "System" : "Sistem", "Grant access" : "Berikan hak akses", "Access granted" : "Akses diberikan", + "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1", + "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -37,12 +47,19 @@ "Saved" : "Disimpan", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", + "Access key" : "Kunci akses", + "Secret key" : "Kunci rahasia", + "Builtin" : "Internal", "None" : "Tidak ada", + "OAuth1" : "OAuth1", "App key" : "Kunci Apl", "App secret" : "Rahasia Apl", + "OAuth2" : "OAuth2", "Client ID" : "ID Klien", "Client secret" : "Rahasia klien", + "Username and password" : "Nama pengguna dan sandi", "Password" : "Sandi", + "Session credentials" : "Kredensial sesi", "Amazon S3" : "Amazon S3", "Hostname" : "Nama Host", "Port" : "Port", @@ -53,11 +70,15 @@ "URL" : "URL", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Secure ftps://", + "Google Drive" : "Google Drive", "Local" : "Lokal", "Location" : "lokasi", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Catatan:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", @@ -69,6 +90,7 @@ "Scope" : "Skop", "External Storage" : "Penyimpanan Eksternal", "Folder name" : "Nama folder", + "Authentication" : "Otentikasi", "Configuration" : "Konfigurasi", "Available for" : "Tersedia untuk", "Advanced settings" : "Pengaturan Lanjutan", diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index 42cd6429bc4..6e3596e197d 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -27,9 +27,11 @@ OC.L10N.register( "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", + "Objectstore forbidden" : "Objectstore vietato", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", + "Admin-only storage backend \"%s\"" : "Motore di archiviazione per soli amministratori \"%s\"", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index 27e33f9adad..1c64b7dbadd 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -25,9 +25,11 @@ "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", + "Objectstore forbidden" : "Objectstore vietato", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", + "Admin-only storage backend \"%s\"" : "Motore di archiviazione per soli amministratori \"%s\"", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index 3b4ef4fd5ab..48ba2f23a59 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Please provide a valid app key and secret." : "올바른 앱 키와 비밀 값을 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", @@ -22,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid backend or authentication mechanism class" : "백엔드나 인증 방식 클래스가 잘못됨", "Invalid mount point" : "잘못된 마운트 지점", + "Objectstore forbidden" : "Objectstore에 접근 금지됨", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", + "Unsatisfied backend parameters" : "백엔드 인자가 부족함", + "Unsatisfied authentication mechanism parameters" : "인증 방식 인자가 부족함", + "Admin-only storage backend \"%s\"" : "관리자만 접근할 수 있는 저장소 백엔드 \"%s\"", "Personal" : "개인", "System" : "시스템", "Grant access" : "접근 권한 부여", "Access granted" : "접근 허가됨", + "Error configuring OAuth1" : "OAuth1 설정 오류", + "Error configuring OAuth2" : "OAuth2 설정 오류", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -39,12 +49,19 @@ OC.L10N.register( "Saved" : "저장됨", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Access key" : "접근 키", + "Secret key" : "비밀 키", + "Builtin" : "내장", "None" : "없음", + "OAuth1" : "OAuth1", "App key" : "앱 키", "App secret" : "앱 비밀 값", + "OAuth2" : "OAuth2", "Client ID" : "클라이언트 ID", "Client secret" : "클라이언트 비밀 값", + "Username and password" : "사용자 이름과 암호", "Password" : "암호", + "Session credentials" : "세션 접근 정보", "Amazon S3" : "Amazon S3", "Hostname" : "호스트 이름", "Port" : "포트", @@ -55,10 +72,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "보안 https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "보안 ftps://", + "Google Drive" : "Google 드라이브", "Local" : "로컬", "Location" : "위치", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "루트", + "SMB / CIFS" : "SMB/CIFS", "<b>Note:</b> " : "<b>메모:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -70,6 +92,7 @@ OC.L10N.register( "Scope" : "범위", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", + "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Advanced settings" : "고급 설정", diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index eeac61cf666..9a0744a867f 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. 앱 키와 비밀 값이 올바른지 확인하십시오.", + "Please provide a valid app key and secret." : "올바른 앱 키와 비밀 값을 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", @@ -20,12 +23,19 @@ "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", + "Invalid backend or authentication mechanism class" : "백엔드나 인증 방식 클래스가 잘못됨", "Invalid mount point" : "잘못된 마운트 지점", + "Objectstore forbidden" : "Objectstore에 접근 금지됨", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", + "Unsatisfied backend parameters" : "백엔드 인자가 부족함", + "Unsatisfied authentication mechanism parameters" : "인증 방식 인자가 부족함", + "Admin-only storage backend \"%s\"" : "관리자만 접근할 수 있는 저장소 백엔드 \"%s\"", "Personal" : "개인", "System" : "시스템", "Grant access" : "접근 권한 부여", "Access granted" : "접근 허가됨", + "Error configuring OAuth1" : "OAuth1 설정 오류", + "Error configuring OAuth2" : "OAuth2 설정 오류", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -37,12 +47,19 @@ "Saved" : "저장됨", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "Access key" : "접근 키", + "Secret key" : "비밀 키", + "Builtin" : "내장", "None" : "없음", + "OAuth1" : "OAuth1", "App key" : "앱 키", "App secret" : "앱 비밀 값", + "OAuth2" : "OAuth2", "Client ID" : "클라이언트 ID", "Client secret" : "클라이언트 비밀 값", + "Username and password" : "사용자 이름과 암호", "Password" : "암호", + "Session credentials" : "세션 접근 정보", "Amazon S3" : "Amazon S3", "Hostname" : "호스트 이름", "Port" : "포트", @@ -53,10 +70,15 @@ "URL" : "URL", "Secure https://" : "보안 https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "보안 ftps://", + "Google Drive" : "Google 드라이브", "Local" : "로컬", "Location" : "위치", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "루트", + "SMB / CIFS" : "SMB/CIFS", "<b>Note:</b> " : "<b>메모:</b>", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>메모:</b> PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -68,6 +90,7 @@ "Scope" : "범위", "External Storage" : "외부 저장소", "Folder name" : "폴더 이름", + "Authentication" : "인증", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", "Advanced settings" : "고급 설정", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index a9a66934753..d43bb0f9794 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw app sleutel en geheime sleutel juist zijn.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Ophalen toegangstokens mislukt. Verifieer dat uw app sleutel en geheime sleutel juist zijn.", + "Please provide a valid app key and secret." : "Geef een geldige app sleutel en geheime sleutel op.", "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", @@ -22,8 +25,13 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", + "Invalid backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse", "Invalid mount point" : "Ongeldig aankoppelpunt", + "Objectstore forbidden" : "Objectopslag verboden", "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", + "Unsatisfied backend parameters" : "Onvoldoende backend parameters", + "Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters", + "Admin-only storage backend \"%s\"" : "Alleen voor beheerders opslagbackend '%s\"", "Personal" : "Persoonlijk", "System" : "Systeem", "Grant access" : "Sta toegang toe", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index bd3fd953a26..b5c0bf78542 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw app sleutel en geheime sleutel juist zijn.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Ophalen toegangstokens mislukt. Verifieer dat uw app sleutel en geheime sleutel juist zijn.", + "Please provide a valid app key and secret." : "Geef een geldige app sleutel en geheime sleutel op.", "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", @@ -20,8 +23,13 @@ "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", + "Invalid backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse", "Invalid mount point" : "Ongeldig aankoppelpunt", + "Objectstore forbidden" : "Objectopslag verboden", "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", + "Unsatisfied backend parameters" : "Onvoldoende backend parameters", + "Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters", + "Admin-only storage backend \"%s\"" : "Alleen voor beheerders opslagbackend '%s\"", "Personal" : "Persoonlijk", "System" : "Systeem", "Grant access" : "Sta toegang toe", diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js index 44c542d596c..182eb7f17f1 100644 --- a/apps/files_external/l10n/pt_PT.js +++ b/apps/files_external/l10n/pt_PT.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.", + "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", @@ -10,34 +13,50 @@ OC.L10N.register( "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)", + "Password (required for OpenStack Object Storage)" : "Palavra-passe (necessária para OpenStack Object Storage)", "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", + "Timeout of HTTP requests in seconds" : "Expiração de pedidos HTTP em segundos", "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", "Host" : "Anfitrião", - "Username as share" : "Utilizar nome de utilizador como partilha", + "Username as share" : "Nome de utilizador como partilha", "Share" : "Compartilhar", "Remote subfolder" : "Subpasta remota ", "Public key" : "Chave pública", - "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", + "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Conceder acesso", "Access granted" : "Acesso autorizado", + "Error configuring OAuth1" : "Erro de configuração OAuth1", + "Error configuring OAuth2" : "Erro de configuração OAuth2", + "Enable encryption" : "Ative a encriptação", + "Enable previews" : "Ative as pré-visualizações", + "Check for changes" : "Verifique as suas alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", + "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", + "Access key" : "Código de acesso", + "Secret key" : "Código secreto", + "Builtin" : "Integrado", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", + "App secret" : "Segredo da app", + "OAuth2" : "OAuth2", "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", + "Client secret" : "Segredo do cliente\\\\", + "Username and password" : "Nome de utilizador e palavra-passe", "Password" : "Palavra-passe", + "Session credentials" : "Credenciais da sessão", "Amazon S3" : "Amazon S3", "Hostname" : "Nome do Anfitrião", "Port" : "Porta", @@ -48,11 +67,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "https:// Seguro", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "ftps:// Seguro", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização:", "ownCloud" : "ownCloud", - "Root" : "Raiz", + "SFTP" : "SFTP", + "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Nota:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", @@ -64,6 +87,7 @@ OC.L10N.register( "Scope" : "Âmbito", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para ", "Advanced settings" : "Definições avançadas", diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json index cda3b0bbd07..0f3a9298057 100644 --- a/apps/files_external/l10n/pt_PT.json +++ b/apps/files_external/l10n/pt_PT.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.", + "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", @@ -8,34 +11,50 @@ "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)", + "Password (required for OpenStack Object Storage)" : "Palavra-passe (necessária para OpenStack Object Storage)", "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", - "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", + "Timeout of HTTP requests in seconds" : "Expiração de pedidos HTTP em segundos", "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", "Host" : "Anfitrião", - "Username as share" : "Utilizar nome de utilizador como partilha", + "Username as share" : "Nome de utilizador como partilha", "Share" : "Compartilhar", "Remote subfolder" : "Subpasta remota ", "Public key" : "Chave pública", - "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", + "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Conceder acesso", "Access granted" : "Acesso autorizado", + "Error configuring OAuth1" : "Erro de configuração OAuth1", + "Error configuring OAuth2" : "Erro de configuração OAuth2", + "Enable encryption" : "Ative a encriptação", + "Enable previews" : "Ative as pré-visualizações", + "Check for changes" : "Verifique as suas alterações", + "Never" : "Nunca", + "Once every direct access" : "Uma vez em cada acesso direto", + "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", + "Access key" : "Código de acesso", + "Secret key" : "Código secreto", + "Builtin" : "Integrado", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", + "App secret" : "Segredo da app", + "OAuth2" : "OAuth2", "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", + "Client secret" : "Segredo do cliente\\\\", + "Username and password" : "Nome de utilizador e palavra-passe", "Password" : "Palavra-passe", + "Session credentials" : "Credenciais da sessão", "Amazon S3" : "Amazon S3", "Hostname" : "Nome do Anfitrião", "Port" : "Porta", @@ -46,11 +65,15 @@ "URL" : "URL", "Secure https://" : "https:// Seguro", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "ftps:// Seguro", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização:", "ownCloud" : "ownCloud", - "Root" : "Raiz", + "SFTP" : "SFTP", + "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Nota:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", @@ -62,6 +85,7 @@ "Scope" : "Âmbito", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para ", "Advanced settings" : "Definições avançadas", diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js index 81418098ea0..68e69034857 100644 --- a/apps/files_external/l10n/tr.js +++ b/apps/files_external/l10n/tr.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Getirme istek jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Getirme erişim jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.", + "Please provide a valid app key and secret." : "Lütfen geçerli bir uygulama anahtarı ve gizli bilgisini girin.", "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", @@ -22,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", + "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı", "Invalid mount point" : "Geçersiz bağlama noktası", + "Objectstore forbidden" : "Nesne deposu yasaktır", "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", + "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri", + "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri", + "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"", "Personal" : "Kişisel", "System" : "Sistem", "Grant access" : "Erişimi sağla", "Access granted" : "Giriş kabul edildi", + "Error configuring OAuth1" : "OAuth1 yapılandırma hatası", + "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -39,12 +49,19 @@ OC.L10N.register( "Saved" : "Kaydedildi", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", + "Access key" : "Erişim anahtarı", + "Secret key" : "Gizli anahtar", + "Builtin" : "Yerleşik", "None" : "Hiçbiri", + "OAuth1" : "OAuth1", "App key" : "Uyg. anahtarı", "App secret" : "Uyg. parolası", + "OAuth2" : "OAuth2", "Client ID" : "İstemci kimliği", "Client secret" : "İstemci parolası", + "Username and password" : "Kullanıcı adı ve parola", "Password" : "Parola", + "Session credentials" : "Oturum bilgileri", "Amazon S3" : "Amazon S3", "Hostname" : "Makine adı", "Port" : "Port", @@ -55,11 +72,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Güvenli https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Güvenli ftps://", + "Google Drive" : "Google Drive", "Local" : "Yerel", "Location" : "Konum", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Kök", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Not:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", @@ -71,6 +92,7 @@ OC.L10N.register( "Scope" : "Kapsam", "External Storage" : "Harici Depolama", "Folder name" : "Klasör ismi", + "Authentication" : "Kimlik Doğrulama", "Configuration" : "Yapılandırma", "Available for" : "Kullanabilenler", "Advanced settings" : "Gelişmiş ayarlar", diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json index 48349335bf4..7859e8e08dc 100644 --- a/apps/files_external/l10n/tr.json +++ b/apps/files_external/l10n/tr.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Getirme istek jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Getirme erişim jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.", + "Please provide a valid app key and secret." : "Lütfen geçerli bir uygulama anahtarı ve gizli bilgisini girin.", "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", @@ -20,12 +23,19 @@ "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", + "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı", "Invalid mount point" : "Geçersiz bağlama noktası", + "Objectstore forbidden" : "Nesne deposu yasaktır", "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", + "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri", + "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri", + "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"", "Personal" : "Kişisel", "System" : "Sistem", "Grant access" : "Erişimi sağla", "Access granted" : "Giriş kabul edildi", + "Error configuring OAuth1" : "OAuth1 yapılandırma hatası", + "Error configuring OAuth2" : "OAuth2 yapılandırma hatası", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -37,12 +47,19 @@ "Saved" : "Kaydedildi", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", + "Access key" : "Erişim anahtarı", + "Secret key" : "Gizli anahtar", + "Builtin" : "Yerleşik", "None" : "Hiçbiri", + "OAuth1" : "OAuth1", "App key" : "Uyg. anahtarı", "App secret" : "Uyg. parolası", + "OAuth2" : "OAuth2", "Client ID" : "İstemci kimliği", "Client secret" : "İstemci parolası", + "Username and password" : "Kullanıcı adı ve parola", "Password" : "Parola", + "Session credentials" : "Oturum bilgileri", "Amazon S3" : "Amazon S3", "Hostname" : "Makine adı", "Port" : "Port", @@ -53,11 +70,15 @@ "URL" : "URL", "Secure https://" : "Güvenli https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Güvenli ftps://", + "Google Drive" : "Google Drive", "Local" : "Yerel", "Location" : "Konum", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Kök", + "SMB / CIFS" : "SMB / CIFS", "<b>Note:</b> " : "<b>Not:</b> ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", @@ -69,6 +90,7 @@ "Scope" : "Kapsam", "External Storage" : "Harici Depolama", "Folder name" : "Klasör ismi", + "Authentication" : "Kimlik Doğrulama", "Configuration" : "Yapılandırma", "Available for" : "Kullanabilenler", "Advanced settings" : "Gelişmiş ayarlar", diff --git a/apps/files_external/lib/backend/amazons3.php b/apps/files_external/lib/backend/amazons3.php index 880d47621f3..1cf62d7cb09 100644 --- a/apps/files_external/lib/backend/amazons3.php +++ b/apps/files_external/lib/backend/amazons3.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\AmazonS3\AccessKey; class AmazonS3 extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, AccessKey $legacyAuth) { $this ->setIdentifier('amazons3') @@ -49,7 +53,6 @@ class AmazonS3 extends Backend { (new DefinitionParameter('use_path_style', $l->t('Enable Path Style'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\AmazonS3::checkDependencies') ->addAuthScheme(AccessKey::SCHEME_AMAZONS3_ACCESSKEY) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/dav.php b/apps/files_external/lib/backend/dav.php index 5ae6d122588..c4f446548e1 100644 --- a/apps/files_external/lib/backend/dav.php +++ b/apps/files_external/lib/backend/dav.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class DAV extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('dav') @@ -44,7 +47,6 @@ class DAV extends Backend { (new DefinitionParameter('secure', $l->t('Secure https://'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\DAV::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/dropbox.php b/apps/files_external/lib/backend/dropbox.php index bfd2e4cddc4..3e595cb0a9c 100644 --- a/apps/files_external/lib/backend/dropbox.php +++ b/apps/files_external/lib/backend/dropbox.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\OAuth1\OAuth1; class Dropbox extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, OAuth1 $legacyAuth) { $this ->setIdentifier('dropbox') @@ -39,7 +43,6 @@ class Dropbox extends Backend { ->addParameters([ // all parameters handled in OAuth1 mechanism ]) - ->setDependencyCheck('\OC\Files\Storage\Dropbox::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_OAUTH1) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/ftp.php b/apps/files_external/lib/backend/ftp.php index df6ca37679e..1caf3a8fcb8 100644 --- a/apps/files_external/lib/backend/ftp.php +++ b/apps/files_external/lib/backend/ftp.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class FTP extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('ftp') @@ -44,7 +47,6 @@ class FTP extends Backend { (new DefinitionParameter('secure', $l->t('Secure ftps://'))) ->setType(DefinitionParameter::VALUE_BOOLEAN), ]) - ->setDependencyCheck('\OC\Files\Storage\FTP::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/google.php b/apps/files_external/lib/backend/google.php index b46b2f653a6..bc0b52c464b 100644 --- a/apps/files_external/lib/backend/google.php +++ b/apps/files_external/lib/backend/google.php @@ -26,10 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; + use \OCA\Files_External\Lib\Auth\OAuth2\OAuth2; class Google extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, OAuth2 $legacyAuth) { $this ->setIdentifier('googledrive') @@ -39,7 +43,6 @@ class Google extends Backend { ->addParameters([ // all parameters handled in OAuth2 mechanism ]) - ->setDependencyCheck('\OC\Files\Storage\Google::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_OAUTH2) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/backend/legacybackend.php b/apps/files_external/lib/backend/legacybackend.php index 0f60c2caa47..83a5b45940d 100644 --- a/apps/files_external/lib/backend/legacybackend.php +++ b/apps/files_external/lib/backend/legacybackend.php @@ -24,12 +24,21 @@ namespace OCA\Files_External\Lib\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\Auth\Builtin; +use \OCA\Files_External\Lib\MissingDependency; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; /** * Legacy compatibility for OC_Mount_Config::registerBackend() */ class LegacyBackend extends Backend { + use LegacyDependencyCheckPolyfill { + LegacyDependencyCheckPolyfill::checkDependencies as doCheckDependencies; + } + + /** @var bool */ + protected $hasDependencies = false; + /** * @param string $class * @param array $definition @@ -78,8 +87,18 @@ class LegacyBackend extends Backend { $this->setCustomJs($definition['custom']); } if (isset($definition['has_dependencies']) && $definition['has_dependencies']) { - $this->setDependencyCheck($class . '::checkDependencies'); + $this->hasDependencies = true; + } + } + + /** + * @return MissingDependency[] + */ + public function checkDependencies() { + if ($this->hasDependencies) { + return $this->doCheckDependencies(); } + return []; } } diff --git a/apps/files_external/lib/backend/smb.php b/apps/files_external/lib/backend/smb.php index 3d950a80c31..350eca1de34 100644 --- a/apps/files_external/lib/backend/smb.php +++ b/apps/files_external/lib/backend/smb.php @@ -26,11 +26,14 @@ use \OCA\Files_External\Lib\Backend\Backend; use \OCA\Files_External\Lib\DefinitionParameter; use \OCA\Files_External\Lib\Auth\AuthMechanism; use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\LegacyDependencyCheckPolyfill; use \OCA\Files_External\Lib\Auth\Password\Password; class SMB extends Backend { + use LegacyDependencyCheckPolyfill; + public function __construct(IL10N $l, Password $legacyAuth) { $this ->setIdentifier('smb') @@ -43,7 +46,6 @@ class SMB extends Backend { (new DefinitionParameter('root', $l->t('Remote subfolder'))) ->setFlag(DefinitionParameter::FLAG_OPTIONAL), ]) - ->setDependencyCheck('\OC\Files\Storage\SMB::checkDependencies') ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) ->setLegacyAuthMechanism($legacyAuth) ; diff --git a/apps/files_external/lib/config/configadapter.php b/apps/files_external/lib/config/configadapter.php index a15d9e06a5f..a255a7b3d25 100644 --- a/apps/files_external/lib/config/configadapter.php +++ b/apps/files_external/lib/config/configadapter.php @@ -74,6 +74,9 @@ class ConfigAdapter implements IMountProvider { $objectStore = $storage->getBackendOption('objectstore'); if ($objectStore) { $objectClass = $objectStore['class']; + if (!is_subclass_of($objectClass, '\OCP\Files\ObjectStore\IObjectStore')) { + throw new \InvalidArgumentException('Invalid object store'); + } $storage->setBackendOption('objectstore', new $objectClass($objectStore)); } diff --git a/apps/files_external/lib/dependencytrait.php b/apps/files_external/lib/dependencytrait.php index 116421eab14..f0d6d6080e5 100644 --- a/apps/files_external/lib/dependencytrait.php +++ b/apps/files_external/lib/dependencytrait.php @@ -28,58 +28,13 @@ use \OCA\Files_External\Lib\MissingDependency; */ trait DependencyTrait { - /** @var callable|null dependency check */ - private $dependencyCheck = null; - - /** - * @return bool - */ - public function hasDependencies() { - return !is_null($this->dependencyCheck); - } - - /** - * @param callable $dependencyCheck - * @return self - */ - public function setDependencyCheck(callable $dependencyCheck) { - $this->dependencyCheck = $dependencyCheck; - return $this; - } - /** * Check if object is valid for use * * @return MissingDependency[] Unsatisfied dependencies */ public function checkDependencies() { - $ret = []; - - if ($this->hasDependencies()) { - $result = call_user_func($this->dependencyCheck); - if ($result !== true) { - if (!is_array($result)) { - $result = [$result]; - } - foreach ($result as $key => $value) { - if (!($value instanceof MissingDependency)) { - $module = null; - $message = null; - if (is_numeric($key)) { - $module = $value; - } else { - $module = $key; - $message = $value; - } - $value = new MissingDependency($module, $this); - $value->setMessage($message); - } - $ret[] = $value; - } - } - } - - return $ret; + return []; // no dependencies by default } } diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php index e29b1036244..94f954178c0 100644 --- a/apps/files_external/lib/google.php +++ b/apps/files_external/lib/google.php @@ -248,8 +248,6 @@ class Google extends \OC\Files\Storage\Common { } public function opendir($path) { - // Remove leading and trailing slashes - $path = trim($path, '/'); $folder = $this->getDriveFile($path); if ($folder) { $files = array(); diff --git a/apps/files_external/lib/legacydependencycheckpolyfill.php b/apps/files_external/lib/legacydependencycheckpolyfill.php new file mode 100644 index 00000000000..7bb137fb3e1 --- /dev/null +++ b/apps/files_external/lib/legacydependencycheckpolyfill.php @@ -0,0 +1,70 @@ +<?php +/** + * @author Robin McCorkell <rmccorkell@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OCA\Files_External\Lib; + +use \OCA\Files_External\Lib\MissingDependency; + +/** + * Polyfill for checking dependencies using legacy Storage::checkDependencies() + */ +trait LegacyDependencyCheckPolyfill { + + /** + * @return string + */ + abstract public function getStorageClass(); + + /** + * Check if object is valid for use + * + * @return MissingDependency[] Unsatisfied dependencies + */ + public function checkDependencies() { + $ret = []; + + $result = call_user_func([$this->getStorageClass(), 'checkDependencies']); + if ($result !== true) { + if (!is_array($result)) { + $result = [$result]; + } + foreach ($result as $key => $value) { + if (!($value instanceof MissingDependency)) { + $module = null; + $message = null; + if (is_numeric($key)) { + $module = $value; + } else { + $module = $key; + $message = $value; + } + $value = new MissingDependency($module, $this); + $value->setMessage($message); + } + $ret[] = $value; + } + } + + return $ret; + } + +} + diff --git a/apps/files_external/service/storagesservice.php b/apps/files_external/service/storagesservice.php index 947e544d88f..703f277d84e 100644 --- a/apps/files_external/service/storagesservice.php +++ b/apps/files_external/service/storagesservice.php @@ -172,7 +172,7 @@ abstract class StoragesService { // the root mount point is in the format "/$user/files/the/mount/point" // we remove the "/$user/files" prefix - $parts = explode('/', trim($rootMountPath, '/'), 3); + $parts = explode('/', ltrim($rootMountPath, '/'), 3); if (count($parts) < 3) { // something went wrong, skip \OCP\Util::writeLog( @@ -183,7 +183,7 @@ abstract class StoragesService { continue; } - $relativeMountPath = $parts[2]; + $relativeMountPath = rtrim($parts[2], '/'); // note: we cannot do this after the loop because the decrypted config // options might be needed for the config hash diff --git a/apps/files_external/tests/backend/legacybackendtest.php b/apps/files_external/tests/backend/legacybackendtest.php index 44cb16a4986..d57810de29b 100644 --- a/apps/files_external/tests/backend/legacybackendtest.php +++ b/apps/files_external/tests/backend/legacybackendtest.php @@ -23,15 +23,25 @@ namespace OCA\Files_External\Tests\Backend; use \OCA\Files_External\Lib\Backend\LegacyBackend; use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\MissingDependency; class LegacyBackendTest extends \Test\TestCase { + /** + * @return MissingDependency[] + */ + public static function checkDependencies() { + return [ + (new MissingDependency('abc'))->setMessage('foobar') + ]; + } + public function testConstructor() { $auth = $this->getMockBuilder('\OCA\Files_External\Lib\Auth\Builtin') ->disableOriginalConstructor() ->getMock(); - $class = '\OC\Files\Storage\SMB'; + $class = '\OCA\Files_External\Tests\Backend\LegacyBackendTest'; $definition = [ 'configuration' => [ 'textfield' => 'Text field', @@ -49,14 +59,18 @@ class LegacyBackendTest extends \Test\TestCase { $backend = new LegacyBackend($class, $definition, $auth); - $this->assertEquals('\OC\Files\Storage\SMB', $backend->getStorageClass()); + $this->assertEquals('\OCA\Files_External\Tests\Backend\LegacyBackendTest', $backend->getStorageClass()); $this->assertEquals('Backend text', $backend->getText()); $this->assertEquals(123, $backend->getPriority()); $this->assertEquals('foo/bar.js', $backend->getCustomJs()); - $this->assertEquals(true, $backend->hasDependencies()); $this->assertArrayHasKey('builtin', $backend->getAuthSchemes()); $this->assertEquals($auth, $backend->getLegacyAuthMechanism()); + $dependencies = $backend->checkDependencies(); + $this->assertCount(1, $dependencies); + $this->assertEquals('abc', $dependencies[0]->getDependency()); + $this->assertEquals('foobar', $dependencies[0]->getMessage()); + $parameters = $backend->getParameters(); $this->assertEquals('Text field', $parameters['textfield']->getText()); $this->assertEquals(DefinitionParameter::VALUE_TEXT, $parameters['textfield']->getType()); @@ -78,4 +92,22 @@ class LegacyBackendTest extends \Test\TestCase { $this->assertEquals(DefinitionParameter::FLAG_OPTIONAL, $parameters['optionalpassword']->getFlags()); } + public function testNoDependencies() { + $auth = $this->getMockBuilder('\OCA\Files_External\Lib\Auth\Builtin') + ->disableOriginalConstructor() + ->getMock(); + + $class = '\OCA\Files_External\Tests\Backend\LegacyBackendTest'; + $definition = [ + 'configuration' => [ + ], + 'backend' => 'Backend text', + ]; + + $backend = new LegacyBackend($class, $definition, $auth); + + $dependencies = $backend->checkDependencies(); + $this->assertCount(0, $dependencies); + } + } diff --git a/apps/files_external/tests/dependencytraittest.php b/apps/files_external/tests/legacydependencycheckpolyfilltest.php index 5706d97053d..49d825d77aa 100644 --- a/apps/files_external/tests/dependencytraittest.php +++ b/apps/files_external/tests/legacydependencycheckpolyfilltest.php @@ -23,16 +23,23 @@ namespace OCA\Files_External\Tests; use \OCA\Files_External\Lib\MissingDependency; -class DependencyTraitTest extends \Test\TestCase { +class LegacyDependencyCheckPolyfillTest extends \Test\TestCase { + + /** + * @return MissingDependency[] + */ + public static function checkDependencies() { + return [ + (new MissingDependency('dependency'))->setMessage('missing dependency'), + (new MissingDependency('program'))->setMessage('cannot find program'), + ]; + } public function testCheckDependencies() { - $trait = $this->getMockForTrait('\OCA\Files_External\Lib\DependencyTrait'); - $trait->setDependencyCheck(function() { - return [ - (new MissingDependency('dependency'))->setMessage('missing dependency'), - (new MissingDependency('program'))->setMessage('cannot find program'), - ]; - }); + $trait = $this->getMockForTrait('\OCA\Files_External\Lib\LegacyDependencyCheckPolyfill'); + $trait->expects($this->once()) + ->method('getStorageClass') + ->willReturn('\OCA\Files_External\Tests\LegacyDependencyCheckPolyfillTest'); $dependencies = $trait->checkDependencies(); $this->assertCount(2, $dependencies); diff --git a/apps/files_external/tests/service/globalstoragesservicetest.php b/apps/files_external/tests/service/globalstoragesservicetest.php index 2bc480ca312..94c34c221fc 100644 --- a/apps/files_external/tests/service/globalstoragesservicetest.php +++ b/apps/files_external/tests/service/globalstoragesservicetest.php @@ -914,4 +914,32 @@ class GlobalStoragesServiceTest extends StoragesServiceTest { $this->assertEquals('identifier:\Auth\Mechanism', $storage2->getAuthMechanism()->getIdentifier()); } + public function testReadEmptyMountPoint() { + $configFile = $this->dataDir . '/mount.json'; + + $json = [ + 'user' => [ + 'user1' => [ + '/$user/files/' => [ + 'backend' => 'identifier:\OCA\Files_External\Lib\Backend\SFTP', + 'authMechanism' => 'identifier:\Auth\Mechanism', + 'options' => [], + 'mountOptions' => [], + ], + ] + ] + ]; + + file_put_contents($configFile, json_encode($json)); + + $allStorages = $this->service->getAllStorages(); + + $this->assertCount(1, $allStorages); + + $storage1 = $allStorages[1]; + + $this->assertEquals('/', $storage1->getMountPoint()); + } + + } diff --git a/apps/files_external/tests/service/userglobalstoragesservicetest.php b/apps/files_external/tests/service/userglobalstoragesservicetest.php index 49a02453840..b9e2c08c932 100644 --- a/apps/files_external/tests/service/userglobalstoragesservicetest.php +++ b/apps/files_external/tests/service/userglobalstoragesservicetest.php @@ -212,4 +212,9 @@ class UserGlobalStoragesServiceTest extends GlobalStoragesServiceTest { $this->assertTrue(true); } + public function testReadEmptyMountPoint() { + // we don't test this here + $this->assertTrue(true); + } + } |