summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/comments/l10n/pl.js3
-rw-r--r--apps/comments/l10n/pl.json3
-rw-r--r--apps/dav/lib/Connector/Sabre/Auth.php21
-rw-r--r--apps/dav/lib/Connector/Sabre/Exception/PasswordLoginForbidden.php54
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/AuthTest.php19
-rw-r--r--apps/federatedfilesharing/l10n/pl.js1
-rw-r--r--apps/federatedfilesharing/l10n/pl.json1
-rw-r--r--apps/files/l10n/pl.js20
-rw-r--r--apps/files/l10n/pl.json20
-rw-r--r--apps/files_external/js/settings.js4
-rw-r--r--apps/files_external/lib/Lib/Storage/Google.php4
-rw-r--r--apps/files_external/templates/settings.php6
-rw-r--r--apps/files_sharing/appinfo/app.php6
-rw-r--r--apps/files_sharing/lib/Helper.php12
-rw-r--r--apps/files_sharing/lib/SharedMount.php2
-rw-r--r--apps/systemtags/l10n/ca.js21
-rw-r--r--apps/systemtags/l10n/ca.json21
-rw-r--r--apps/updatenotification/l10n/ca.js14
-rw-r--r--apps/updatenotification/l10n/ca.json14
-rw-r--r--apps/updatenotification/l10n/pl.js4
-rw-r--r--apps/updatenotification/l10n/pl.json4
-rw-r--r--apps/updatenotification/l10n/sl.js1
-rw-r--r--apps/updatenotification/l10n/sl.json1
23 files changed, 232 insertions, 24 deletions
diff --git a/apps/comments/l10n/pl.js b/apps/comments/l10n/pl.js
index d5e3f4b3320..d4a492e1da2 100644
--- a/apps/comments/l10n/pl.js
+++ b/apps/comments/l10n/pl.js
@@ -14,7 +14,10 @@ OC.L10N.register(
"Allowed characters {count} of {max}" : "Dozwolone znaki {count} z {max}",
"{count} unread comments" : "{count} nieprzeczytanych komentarzy",
"Comment" : "Komentarz",
+ "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Komentarze</strong> dla plików <em>(zawsze wypisane w strumieniu)</em>",
+ "You commented" : "Skomentowałeś/łaś",
"%1$s commented" : "%1$s skomentował",
+ "You commented on %2$s" : "Skomentowałeś/łaś %2$s",
"%1$s commented on %2$s" : "%1$s skomentował %2$s"
},
"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/pl.json b/apps/comments/l10n/pl.json
index 28bbf20817f..78e9f0ff210 100644
--- a/apps/comments/l10n/pl.json
+++ b/apps/comments/l10n/pl.json
@@ -12,7 +12,10 @@
"Allowed characters {count} of {max}" : "Dozwolone znaki {count} z {max}",
"{count} unread comments" : "{count} nieprzeczytanych komentarzy",
"Comment" : "Komentarz",
+ "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Komentarze</strong> dla plików <em>(zawsze wypisane w strumieniu)</em>",
+ "You commented" : "Skomentowałeś/łaś",
"%1$s commented" : "%1$s skomentował",
+ "You commented on %2$s" : "Skomentowałeś/łaś %2$s",
"%1$s commented on %2$s" : "%1$s skomentował %2$s"
},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/dav/lib/Connector/Sabre/Auth.php b/apps/dav/lib/Connector/Sabre/Auth.php
index 51f0acbe2ee..82c2711b560 100644
--- a/apps/dav/lib/Connector/Sabre/Auth.php
+++ b/apps/dav/lib/Connector/Sabre/Auth.php
@@ -31,8 +31,10 @@ namespace OCA\DAV\Connector\Sabre;
use Exception;
use OC\AppFramework\Http\Request;
+use OC\Authentication\Exceptions\PasswordLoginForbiddenException;
use OC\Authentication\TwoFactorAuth\Manager;
use OC\User\Session;
+use OCA\DAV\Connector\Sabre\Exception\PasswordLoginForbidden;
use OCP\IRequest;
use OCP\ISession;
use Sabre\DAV\Auth\Backend\AbstractBasic;
@@ -115,14 +117,19 @@ class Auth extends AbstractBasic {
return true;
} else {
\OC_Util::setupFS(); //login hooks may need early access to the filesystem
- if($this->userSession->logClientIn($username, $password, $this->request)) {
- \OC_Util::setupFS($this->userSession->getUser()->getUID());
- $this->session->set(self::DAV_AUTHENTICATED, $this->userSession->getUser()->getUID());
+ try {
+ if ($this->userSession->logClientIn($username, $password, $this->request)) {
+ \OC_Util::setupFS($this->userSession->getUser()->getUID());
+ $this->session->set(self::DAV_AUTHENTICATED, $this->userSession->getUser()->getUID());
+ $this->session->close();
+ return true;
+ } else {
+ $this->session->close();
+ return false;
+ }
+ } catch (PasswordLoginForbiddenException $ex) {
$this->session->close();
- return true;
- } else {
- $this->session->close();
- return false;
+ throw new PasswordLoginForbidden();
}
}
}
diff --git a/apps/dav/lib/Connector/Sabre/Exception/PasswordLoginForbidden.php b/apps/dav/lib/Connector/Sabre/Exception/PasswordLoginForbidden.php
new file mode 100644
index 00000000000..6537da3d56d
--- /dev/null
+++ b/apps/dav/lib/Connector/Sabre/Exception/PasswordLoginForbidden.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @author Christoph Wurst <christoph@owncloud.com>
+ *
+ * @copyright Copyright (c) 2016, 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\DAV\Connector\Sabre\Exception;
+
+use DOMElement;
+use Sabre\DAV\Server;
+use Sabre\DAV\Exception\NotAuthenticated;
+
+class PasswordLoginForbidden extends NotAuthenticated {
+
+ const NS_OWNCLOUD = 'http://owncloud.org/ns';
+
+ public function getHTTPCode() {
+ return 401;
+ }
+
+ /**
+ * This method allows the exception to include additional information
+ * into the WebDAV error response
+ *
+ * @param Server $server
+ * @param DOMElement $errorNode
+ * @return void
+ */
+ public function serialize(Server $server, DOMElement $errorNode) {
+
+ // set ownCloud namespace
+ $errorNode->setAttribute('xmlns:o', self::NS_OWNCLOUD);
+
+ $error = $errorNode->ownerDocument->createElementNS('o:', 'o:hint', 'password login forbidden');
+ $errorNode->appendChild($error);
+ }
+
+}
diff --git a/apps/dav/tests/unit/Connector/Sabre/AuthTest.php b/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
index 147a0c2b8c5..9564298f23a 100644
--- a/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/AuthTest.php
@@ -208,6 +208,25 @@ class AuthTest extends TestCase {
$this->assertFalse($this->invokePrivate($this->auth, 'validateUserPass', ['MyTestUser', 'MyTestPassword']));
}
+ /**
+ * @expectedException \OCA\DAV\Connector\Sabre\Exception\PasswordLoginForbidden
+ */
+ public function testValidateUserPassWithPasswordLoginForbidden() {
+ $this->userSession
+ ->expects($this->once())
+ ->method('isLoggedIn')
+ ->will($this->returnValue(false));
+ $this->userSession
+ ->expects($this->once())
+ ->method('logClientIn')
+ ->with('MyTestUser', 'MyTestPassword')
+ ->will($this->throwException(new \OC\Authentication\Exceptions\PasswordLoginForbiddenException()));
+ $this->session
+ ->expects($this->once())
+ ->method('close');
+
+ $this->invokePrivate($this->auth, 'validateUserPass', ['MyTestUser', 'MyTestPassword']);
+ }
public function testAuthenticateAlreadyLoggedInWithoutCsrfTokenForNonGet() {
$request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')
diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js
index 1d8b949c74a..4f65f44553e 100644
--- a/apps/federatedfilesharing/l10n/pl.js
+++ b/apps/federatedfilesharing/l10n/pl.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"federatedfilesharing",
{
+ "Federated sharing" : "Sfederowane udostępnianie",
"Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s",
"File is already shared with %s" : "Plik jest już współdzielony z %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Współdzielenie %s nie powiodło się, nie można odnaleźć %s. Prawdopobnie serwer nie jest teraz osiągalny.",
diff --git a/apps/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json
index c44eecbeeb7..7b43ed3fce1 100644
--- a/apps/federatedfilesharing/l10n/pl.json
+++ b/apps/federatedfilesharing/l10n/pl.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Federated sharing" : "Sfederowane udostępnianie",
"Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s",
"File is already shared with %s" : "Plik jest już współdzielony z %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Współdzielenie %s nie powiodło się, nie można odnaleźć %s. Prawdopobnie serwer nie jest teraz osiągalny.",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index a366c6a967c..c5273a36ebd 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Invalid directory." : "Zła ścieżka.",
"Files" : "Pliki",
"All files" : "Wszystkie pliki",
+ "File could not be found" : "Nie można odnaleźć pliku",
"Home" : "Dom",
"Close" : "Zamknij",
"Favorites" : "Ulubione",
@@ -32,8 +33,15 @@ OC.L10N.register(
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"Uploading..." : "Wgrywanie....",
"..." : "...",
+ "{hours}:{minutes}:{seconds} hour{plural_s} left" : "Pozostało {hours}:{minutes}:{seconds} hour{plural_s} ",
+ "{hours}:{minutes}h" : "{hours}:{minutes}godz.",
+ "{minutes}:{seconds} minute{plural_s} left" : "Pozostało {minutes}:{seconds} minute{plural_s}",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}min.",
"{seconds} second{plural_s} left" : "Pozostało sekund: {seconds}",
"{seconds}s" : "{seconds} s",
+ "Any moment now..." : "Jeszcze chwilę...",
+ "Soon..." : "Wkrótce...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
"Actions" : "Akcje",
"Download" : "Pobierz",
@@ -49,6 +57,10 @@ OC.L10N.register(
"This directory is unavailable, please check the logs or contact the administrator" : "Ten folder jest niedostępny, proszę sprawdzić logi lub skontaktować się z administratorem.",
"Could not move \"{file}\", target exists" : "Nie można było przenieść „{file}” – plik o takiej nazwie już istnieje",
"Could not move \"{file}\"" : "Nie można było przenieść \"{file}\"",
+ "{newName} already exists" : "{newName} już istnieje",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Nie można zmienić nazwy \"{fileName}\", plik nie istnieje",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{targetName}\" jest juz używana w folderze \"{dir}\". Proszę wybrać inną nazwę.",
+ "Could not rename \"{fileName}\"" : "Nie można zmienić nazwy \"{fileName}\"",
"Could not create file \"{file}\"" : "Nie można było utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można było utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\"" : "Nie można utworzyć folderu „{dir}”",
@@ -71,8 +83,10 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"Path" : "Ścieżka",
+ "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
+ "Local link" : "Lokalny odnośnik",
"Folder" : "Folder",
"New folder" : "Nowy folder",
"{newname} already exists" : "{newname} już istnieje",
@@ -80,6 +94,7 @@ OC.L10N.register(
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plkow</strong> <em>(Tylko w strumieniu aktywności)</em>",
"A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
"A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócy</strong>",
"You created %1$s" : "Utworzyłeś %1$s",
@@ -99,15 +114,20 @@ OC.L10N.register(
"Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku",
"max. possible: " : "maks. możliwy:",
"Save" : "Zapisz",
+ "With PHP-FPM it might take 5 minutes for changes to be applied." : "Z PHP-FPM zastosowanie zmian może zająć 5 minut.",
+ "Missing permissions to edit from here." : "Brakuje uprawnień do edycji.",
"Settings" : "Ustawienia",
"Show hidden files" : "Pokaż ukryte pliki",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Użyj tego adresu aby uzyskać <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dostęp do swoich plików poprzez WebDAV</a>",
"No files in here" : "Brak plików",
+ "Upload some content or sync with your devices!" : "Wgraj coś, albo wykonaj synchronizację ze swoimi urządzeniami.",
"No entries found in this folder" : "Brak wpisów w tym folderze",
"Select all" : "Wybierz wszystko",
"Upload too large" : "Ładowany plik jest za duży",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość.",
"No favorites" : "Brak ulubionych",
+ "Files and folders you mark as favorite will show up here" : "Pliki i katalogi, które oznaczysz jako ulubione wyświetlą się tutaj",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt"
},
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 05b65b2f84a..c0be569faf6 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -19,6 +19,7 @@
"Invalid directory." : "Zła ścieżka.",
"Files" : "Pliki",
"All files" : "Wszystkie pliki",
+ "File could not be found" : "Nie można odnaleźć pliku",
"Home" : "Dom",
"Close" : "Zamknij",
"Favorites" : "Ulubione",
@@ -30,8 +31,15 @@
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"Uploading..." : "Wgrywanie....",
"..." : "...",
+ "{hours}:{minutes}:{seconds} hour{plural_s} left" : "Pozostało {hours}:{minutes}:{seconds} hour{plural_s} ",
+ "{hours}:{minutes}h" : "{hours}:{minutes}godz.",
+ "{minutes}:{seconds} minute{plural_s} left" : "Pozostało {minutes}:{seconds} minute{plural_s}",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}min.",
"{seconds} second{plural_s} left" : "Pozostało sekund: {seconds}",
"{seconds}s" : "{seconds} s",
+ "Any moment now..." : "Jeszcze chwilę...",
+ "Soon..." : "Wkrótce...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
"Actions" : "Akcje",
"Download" : "Pobierz",
@@ -47,6 +55,10 @@
"This directory is unavailable, please check the logs or contact the administrator" : "Ten folder jest niedostępny, proszę sprawdzić logi lub skontaktować się z administratorem.",
"Could not move \"{file}\", target exists" : "Nie można było przenieść „{file}” – plik o takiej nazwie już istnieje",
"Could not move \"{file}\"" : "Nie można było przenieść \"{file}\"",
+ "{newName} already exists" : "{newName} już istnieje",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Nie można zmienić nazwy \"{fileName}\", plik nie istnieje",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{targetName}\" jest juz używana w folderze \"{dir}\". Proszę wybrać inną nazwę.",
+ "Could not rename \"{fileName}\"" : "Nie można zmienić nazwy \"{fileName}\"",
"Could not create file \"{file}\"" : "Nie można było utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można było utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\"" : "Nie można utworzyć folderu „{dir}”",
@@ -69,8 +81,10 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"Path" : "Ścieżka",
+ "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
+ "Local link" : "Lokalny odnośnik",
"Folder" : "Folder",
"New folder" : "Nowy folder",
"{newname} already exists" : "{newname} już istnieje",
@@ -78,6 +92,7 @@
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plkow</strong> <em>(Tylko w strumieniu aktywności)</em>",
"A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
"A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócy</strong>",
"You created %1$s" : "Utworzyłeś %1$s",
@@ -97,15 +112,20 @@
"Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku",
"max. possible: " : "maks. możliwy:",
"Save" : "Zapisz",
+ "With PHP-FPM it might take 5 minutes for changes to be applied." : "Z PHP-FPM zastosowanie zmian może zająć 5 minut.",
+ "Missing permissions to edit from here." : "Brakuje uprawnień do edycji.",
"Settings" : "Ustawienia",
"Show hidden files" : "Pokaż ukryte pliki",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Użyj tego adresu aby uzyskać <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dostęp do swoich plików poprzez WebDAV</a>",
"No files in here" : "Brak plików",
+ "Upload some content or sync with your devices!" : "Wgraj coś, albo wykonaj synchronizację ze swoimi urządzeniami.",
"No entries found in this folder" : "Brak wpisów w tym folderze",
"Select all" : "Wybierz wszystko",
"Upload too large" : "Ładowany plik jest za duży",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość.",
"No favorites" : "Brak ulubionych",
+ "Files and folders you mark as favorite will show up here" : "Pliki i katalogi, które oznaczysz jako ulubione wyświetlą się tutaj",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt"
},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 2477f513db3..d210c158ec1 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -854,7 +854,7 @@ MountConfigListView.prototype = _.extend({
this.configureAuthMechanism($tr, storageConfig.authMechanism, onCompletion);
if (storageConfig.backendOptions) {
- $td.children().each(function() {
+ $td.find('input, select').each(function() {
var input = $(this);
var val = storageConfig.backendOptions[input.data('parameter')];
if (val !== undefined) {
@@ -1001,7 +1001,7 @@ MountConfigListView.prototype = _.extend({
newElement = $('<input type="password" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" placeholder="'+ trimmedPlaceholder+'" />');
} else if (placeholder.type === MountConfigListView.ParameterTypes.BOOLEAN) {
var checkboxId = _.uniqueId('checkbox_');
- newElement = $('<input type="checkbox" id="'+checkboxId+'" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" /><label for="'+checkboxId+'">'+ trimmedPlaceholder+'</label>');
+ newElement = $('<div><label><input type="checkbox" id="'+checkboxId+'" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" />'+ trimmedPlaceholder+'</label></div>');
} else if (placeholder.type === MountConfigListView.ParameterTypes.HIDDEN) {
newElement = $('<input type="hidden" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" />');
} else {
diff --git a/apps/files_external/lib/Lib/Storage/Google.php b/apps/files_external/lib/Lib/Storage/Google.php
index 96f12800c10..0b617aafe9d 100644
--- a/apps/files_external/lib/Lib/Storage/Google.php
+++ b/apps/files_external/lib/Lib/Storage/Google.php
@@ -168,11 +168,11 @@ class Google extends \OC\Files\Storage\Common {
$path = trim($path, '/');
$this->driveFiles[$path] = $file;
if ($file === false) {
- // Set all child paths as false
+ // Remove all children
$len = strlen($path);
foreach ($this->driveFiles as $key => $file) {
if (substr($key, 0, $len) === $path) {
- $this->driveFiles[$key] = false;
+ unset($this->driveFiles[$key]);
}
}
}
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index c9cc40b0ba0..6662f637039 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -51,13 +51,17 @@
break;
case DefinitionParameter::VALUE_BOOLEAN: ?>
<?php $checkboxId = uniqid("checkbox_"); ?>
+ <div>
+ <label>
<input type="checkbox"
id="<?php p($checkboxId); ?>"
<?php if (!empty($classes)): ?> class="checkbox <?php p(implode(' ', $classes)); ?>"<?php endif; ?>
data-parameter="<?php p($parameter->getName()); ?>"
<?php if ($value === true): ?> checked="checked"<?php endif; ?>
/>
- <label for="<?php p($checkboxId); ?>"><?php p($placeholder); ?></label>
+ <?php p($placeholder); ?>
+ </label>
+ </div>
<?php
break;
case DefinitionParameter::VALUE_HIDDEN: ?>
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 5740574ec4c..c6ae6903eec 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -32,14 +32,14 @@ $l = \OC::$server->getL10N('files_sharing');
\OC::$CLASSPATH['OC_Share_Backend_Folder'] = 'files_sharing/lib/share/folder.php';
\OC::$CLASSPATH['OC\Files\Storage\Shared'] = 'files_sharing/lib/sharedstorage.php';
-$application = new \OCA\Files_Sharing\AppInfo\Application();
-$application->registerMountProviders();
-
\OCA\Files_Sharing\Helper::registerHooks();
\OCP\Share::registerBackend('file', 'OC_Share_Backend_File');
\OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file');
+$application = new \OCA\Files_Sharing\AppInfo\Application();
+$application->registerMountProviders();
+
$eventDispatcher = \OC::$server->getEventDispatcher();
$eventDispatcher->addListener(
'OCA\Files::loadAdditionalScripts',
diff --git a/apps/files_sharing/lib/Helper.php b/apps/files_sharing/lib/Helper.php
index e4640f82eb6..2353a281b7e 100644
--- a/apps/files_sharing/lib/Helper.php
+++ b/apps/files_sharing/lib/Helper.php
@@ -277,19 +277,23 @@ class Helper {
/**
* get default share folder
*
+ * @param \OC\Files\View
* @return string
*/
- public static function getShareFolder() {
+ public static function getShareFolder($view = null) {
+ if ($view === null) {
+ $view = Filesystem::getView();
+ }
$shareFolder = \OC::$server->getConfig()->getSystemValue('share_folder', '/');
$shareFolder = Filesystem::normalizePath($shareFolder);
- if (!Filesystem::file_exists($shareFolder)) {
+ if (!$view->file_exists($shareFolder)) {
$dir = '';
$subdirs = explode('/', $shareFolder);
foreach ($subdirs as $subdir) {
$dir = $dir . '/' . $subdir;
- if (!Filesystem::is_dir($dir)) {
- Filesystem::mkdir($dir);
+ if (!$view->is_dir($dir)) {
+ $view->mkdir($dir);
}
}
}
diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php
index 83527053f43..2b066bd2d94 100644
--- a/apps/files_sharing/lib/SharedMount.php
+++ b/apps/files_sharing/lib/SharedMount.php
@@ -81,7 +81,7 @@ class SharedMount extends MountPoint implements MoveableMount {
$parent = dirname($share->getTarget());
if (!$this->recipientView->is_dir($parent)) {
- $parent = Helper::getShareFolder();
+ $parent = Helper::getShareFolder($this->recipientView);
}
$newMountPoint = $this->generateUniqueTarget(
diff --git a/apps/systemtags/l10n/ca.js b/apps/systemtags/l10n/ca.js
index 20ec2d4edb1..46d9d409662 100644
--- a/apps/systemtags/l10n/ca.js
+++ b/apps/systemtags/l10n/ca.js
@@ -2,6 +2,27 @@ OC.L10N.register(
"systemtags",
{
"Tags" : "Etiquetes",
+ "Tagged files" : "Fitxers marcats",
+ "Select tags to filter by" : "Selecciona les marques per filtrar-ne",
+ "Please select tags to filter by" : "Si us plau selecciona les marques per filtrar-ne",
+ "No files found for the selected tags" : "No s'han trobat fitxers per les marques sel·leccionades",
+ "<strong>System tags</strong> for a file have been modified" : "Les <strong>Marques de Sistema</strong> d'un fitxer s'han modificat",
+ "You assigned system tag %3$s" : "Has assignat la marca de sistema %3$s",
+ "%1$s assigned system tag %3$s" : "%1$s ha assignat la marca de sistema %3$s",
+ "You unassigned system tag %3$s" : "Has des-assignat la marca de sistema %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s ha des-assignat la marca de sistema %3$s",
+ "You created system tag %2$s" : "Has creat la marca de sistema %2$s",
+ "%1$s created system tag %2$s" : "%1$s ha creat la marca de sistema %2$s",
+ "You deleted system tag %2$s" : "Has esborrat la marca de sistema %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s ha esborrat la marca de sistema %2$s",
+ "You updated system tag %3$s to %2$s" : "Has actualitzat les marques de sistema de la %3$s a la %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s ha actualitzat les marques de sistema de la %3$s a la %2$s",
+ "You assigned system tag %3$s to %2$s" : "Has assignat les marques de sistema de la %3$s a la %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s ha assignat les marques de sistema de la %3$s a la %2$s",
+ "You unassigned system tag %3$s from %2$s" : "Has des-assignat les marques de sistema de la %3$s a la %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s ha des-assignat les marques de sistema de la %3$s a la %2$s",
+ "%s (restricted)" : "%s (restringit)",
+ "%s (invisible)" : "%s (invisible)",
"No files in here" : "No hi ha arxius",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
"Name" : "Nom",
diff --git a/apps/systemtags/l10n/ca.json b/apps/systemtags/l10n/ca.json
index 87c8c678761..9bb1d6fba83 100644
--- a/apps/systemtags/l10n/ca.json
+++ b/apps/systemtags/l10n/ca.json
@@ -1,5 +1,26 @@
{ "translations": {
"Tags" : "Etiquetes",
+ "Tagged files" : "Fitxers marcats",
+ "Select tags to filter by" : "Selecciona les marques per filtrar-ne",
+ "Please select tags to filter by" : "Si us plau selecciona les marques per filtrar-ne",
+ "No files found for the selected tags" : "No s'han trobat fitxers per les marques sel·leccionades",
+ "<strong>System tags</strong> for a file have been modified" : "Les <strong>Marques de Sistema</strong> d'un fitxer s'han modificat",
+ "You assigned system tag %3$s" : "Has assignat la marca de sistema %3$s",
+ "%1$s assigned system tag %3$s" : "%1$s ha assignat la marca de sistema %3$s",
+ "You unassigned system tag %3$s" : "Has des-assignat la marca de sistema %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s ha des-assignat la marca de sistema %3$s",
+ "You created system tag %2$s" : "Has creat la marca de sistema %2$s",
+ "%1$s created system tag %2$s" : "%1$s ha creat la marca de sistema %2$s",
+ "You deleted system tag %2$s" : "Has esborrat la marca de sistema %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s ha esborrat la marca de sistema %2$s",
+ "You updated system tag %3$s to %2$s" : "Has actualitzat les marques de sistema de la %3$s a la %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s ha actualitzat les marques de sistema de la %3$s a la %2$s",
+ "You assigned system tag %3$s to %2$s" : "Has assignat les marques de sistema de la %3$s a la %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s ha assignat les marques de sistema de la %3$s a la %2$s",
+ "You unassigned system tag %3$s from %2$s" : "Has des-assignat les marques de sistema de la %3$s a la %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s ha des-assignat les marques de sistema de la %3$s a la %2$s",
+ "%s (restricted)" : "%s (restringit)",
+ "%s (invisible)" : "%s (invisible)",
"No files in here" : "No hi ha arxius",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
"Name" : "Nom",
diff --git a/apps/updatenotification/l10n/ca.js b/apps/updatenotification/l10n/ca.js
index 5f6db3199a6..10e7328cb07 100644
--- a/apps/updatenotification/l10n/ca.js
+++ b/apps/updatenotification/l10n/ca.js
@@ -1,7 +1,19 @@
OC.L10N.register(
"updatenotification",
{
+ "Update notifications" : "Notificacions d'actualització",
"{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.",
- "Updater" : "Actualitzador"
+ "Updated channel" : "Canal actualitzat",
+ "ownCloud core" : "Nucli d'ownCloud",
+ "Update for %1$s to version %2$s is available." : "L'actualització per %1$s a la versió %2$s està disponible.",
+ "Updater" : "Actualitzador",
+ "A new version is available: %s" : "Una nova versió està disponible: %s",
+ "Open updater" : "Obrir actualitzador",
+ "Your version is up to date." : "La teva versió està actualitzada.",
+ "Checked on %s" : "Comprovat en %s",
+ "Update channel:" : "Actualitzar canal:",
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sempre podràs actualitzar a una versió més recent / canal experimental. Però mai es pot fer un \"downgrade\" a un canal més estable.",
+ "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:",
+ "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "Només notificació d'actualitzacions d'aplicacions estan disponibles, degut a que el canal d'actualització per ownCloud seleccionat no permet les notificacions."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/ca.json b/apps/updatenotification/l10n/ca.json
index 74b1a731e90..673db0accd8 100644
--- a/apps/updatenotification/l10n/ca.json
+++ b/apps/updatenotification/l10n/ca.json
@@ -1,5 +1,17 @@
{ "translations": {
+ "Update notifications" : "Notificacions d'actualització",
"{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.",
- "Updater" : "Actualitzador"
+ "Updated channel" : "Canal actualitzat",
+ "ownCloud core" : "Nucli d'ownCloud",
+ "Update for %1$s to version %2$s is available." : "L'actualització per %1$s a la versió %2$s està disponible.",
+ "Updater" : "Actualitzador",
+ "A new version is available: %s" : "Una nova versió està disponible: %s",
+ "Open updater" : "Obrir actualitzador",
+ "Your version is up to date." : "La teva versió està actualitzada.",
+ "Checked on %s" : "Comprovat en %s",
+ "Update channel:" : "Actualitzar canal:",
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sempre podràs actualitzar a una versió més recent / canal experimental. Però mai es pot fer un \"downgrade\" a un canal més estable.",
+ "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:",
+ "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "Només notificació d'actualitzacions d'aplicacions estan disponibles, degut a que el canal d'actualització per ownCloud seleccionat no permet les notificacions."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/pl.js b/apps/updatenotification/l10n/pl.js
index d86fdf3c243..ffeb1b0601f 100644
--- a/apps/updatenotification/l10n/pl.js
+++ b/apps/updatenotification/l10n/pl.js
@@ -12,6 +12,8 @@ OC.L10N.register(
"Your version is up to date." : "Posiadasz aktualną wersję.",
"Checked on %s" : "Sprawdzone na %s",
"Update channel:" : "Kanał aktualizacji:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Możesz zawsze zaktualizować swoją wersję do nowego / ekperymentalnego kanału. Jednakże nie możesz powrócić do poprzedniej stabilniejszej wersji. "
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Możesz zawsze zaktualizować swoją wersję do nowego / ekperymentalnego kanału. Jednakże nie możesz powrócić do poprzedniej stabilniejszej wersji. ",
+ "Notify members of the following groups about available updates:" : "Powiadom członków następujących grup o dostępnych aktualizacjach: ",
+ "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "Tylko powiadomienia o aktualizacjach aplikacji są dostępne, gdyż wybrany kanał aktualizacji ownCloud nie zezwala na powiadomienia. "
},
"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/pl.json b/apps/updatenotification/l10n/pl.json
index b5d7132d9f0..6f03b0105bf 100644
--- a/apps/updatenotification/l10n/pl.json
+++ b/apps/updatenotification/l10n/pl.json
@@ -10,6 +10,8 @@
"Your version is up to date." : "Posiadasz aktualną wersję.",
"Checked on %s" : "Sprawdzone na %s",
"Update channel:" : "Kanał aktualizacji:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Możesz zawsze zaktualizować swoją wersję do nowego / ekperymentalnego kanału. Jednakże nie możesz powrócić do poprzedniej stabilniejszej wersji. "
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Możesz zawsze zaktualizować swoją wersję do nowego / ekperymentalnego kanału. Jednakże nie możesz powrócić do poprzedniej stabilniejszej wersji. ",
+ "Notify members of the following groups about available updates:" : "Powiadom członków następujących grup o dostępnych aktualizacjach: ",
+ "Only notification for app updates are available, because the selected update channel for ownCloud itself does not allow notifications." : "Tylko powiadomienia o aktualizacjach aplikacji są dostępne, gdyż wybrany kanał aktualizacji ownCloud nie zezwala na powiadomienia. "
},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sl.js b/apps/updatenotification/l10n/sl.js
index 12ba787e5e4..a59a58731fb 100644
--- a/apps/updatenotification/l10n/sl.js
+++ b/apps/updatenotification/l10n/sl.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Update notifications" : "Posodobi obvestila",
"{version} is available. Get more information on how to update." : "Na voljo je nova različica {version}. Na voljo je več podrobnosti o nadgradnji.",
"Updated channel" : "Posodobljen kanal",
+ "ownCloud core" : "Jedro ownCloud",
"Update for %1$s to version %2$s is available." : "Posodobitev %1$s na različico %2$s je na voljo.",
"Updater" : "Posodabljalnik",
"A new version is available: %s" : "Na voljo je nova različica: %s",
diff --git a/apps/updatenotification/l10n/sl.json b/apps/updatenotification/l10n/sl.json
index ecc0e3519d4..c96c9666fb1 100644
--- a/apps/updatenotification/l10n/sl.json
+++ b/apps/updatenotification/l10n/sl.json
@@ -2,6 +2,7 @@
"Update notifications" : "Posodobi obvestila",
"{version} is available. Get more information on how to update." : "Na voljo je nova različica {version}. Na voljo je več podrobnosti o nadgradnji.",
"Updated channel" : "Posodobljen kanal",
+ "ownCloud core" : "Jedro ownCloud",
"Update for %1$s to version %2$s is available." : "Posodobitev %1$s na različico %2$s je na voljo.",
"Updater" : "Posodabljalnik",
"A new version is available: %s" : "Na voljo je nova različica: %s",