aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2016-10-14 17:14:36 +0200
committerArthur Schiwon <blizzz@arthur-schiwon.de>2016-10-16 14:42:16 +0200
commitdade28cadd3d73feaf665cfd338928643b7c5793 (patch)
tree89741d6c6950cd409b24744cc50fbcc985f35021 /apps
parenta49d571799566d6b0e980a6dc73e641c07cc395d (diff)
parent62e19dfa8064c1d5a6d06d2d5c49e277716d4b4e (diff)
downloadnextcloud-server-dade28cadd3d73feaf665cfd338928643b7c5793.tar.gz
nextcloud-server-dade28cadd3d73feaf665cfd338928643b7c5793.zip
Merge branch 'master' into downstream-ldap-3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/Connector/Sabre/TagsPlugin.php2
-rw-r--r--apps/files/l10n/ru.js6
-rw-r--r--apps/files/l10n/ru.json6
-rw-r--r--apps/files/l10n/zh_TW.js3
-rw-r--r--apps/files/l10n/zh_TW.json3
-rw-r--r--apps/files_sharing/lib/API/Share20OCS.php54
-rw-r--r--apps/files_sharing/tests/ApiTest.php31
-rw-r--r--apps/files_sharing/tests/External/ManagerTest.php6
-rw-r--r--apps/files_sharing/tests/SizePropagationTest.php1
-rw-r--r--apps/files_sharing/tests/TestCase.php3
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.js5
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.json5
-rw-r--r--apps/updatenotification/l10n/fr.js1
-rw-r--r--apps/updatenotification/l10n/fr.json1
-rw-r--r--apps/updatenotification/l10n/zh_TW.js17
-rw-r--r--apps/updatenotification/l10n/zh_TW.json17
-rw-r--r--apps/user_ldap/lib/Access.php1
-rw-r--r--apps/user_ldap/lib/Command/ShowConfig.php3
-rw-r--r--apps/user_ldap/lib/Command/ShowRemnants.php3
19 files changed, 118 insertions, 50 deletions
diff --git a/apps/dav/lib/Connector/Sabre/TagsPlugin.php b/apps/dav/lib/Connector/Sabre/TagsPlugin.php
index b1a6d1fb96b..ef6bece58bc 100644
--- a/apps/dav/lib/Connector/Sabre/TagsPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/TagsPlugin.php
@@ -109,7 +109,7 @@ class TagsPlugin extends \Sabre\DAV\ServerPlugin
*/
public function initialize(\Sabre\DAV\Server $server) {
- $server->xml->namespacesMap[self::NS_OWNCLOUD] = 'oc';
+ $server->xml->namespaceMap[self::NS_OWNCLOUD] = 'oc';
$server->xml->elementMap[self::TAGS_PROPERTYNAME] = 'OCA\\DAV\\Connector\\Sabre\\TagList';
$this->server = $server;
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index e69a8321c1f..d8c3f6703e7 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -109,9 +109,15 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s удалил %1$s",
"You restored %1$s" : "Вы восстановили %1$s",
"%2$s restored %1$s" : "%2$s восстановил %1$s",
+ "You renamed %2$s to %1$s" : "Вы переименовали %2$s в %1$s",
+ "%2$s renamed %3$s to %1$s" : "%2$s переименовал %3$s в %1$s",
+ "You moved %2$s to %1$s" : "Вы переместили %2$s в %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s переместил %3$s в %1$s",
"Changed by %2$s" : "Изменено %2$s",
"Deleted by %2$s" : "Удалено %2$s",
"Restored by %2$s" : "Восстановлено %2$s",
+ "Renamed by %2$s" : "Переименовано %2$s",
+ "Moved by %2$s" : "Перемещено %2$s",
"Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
"Maximum upload size" : "Максимальный размер загружаемого файла",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 599f0d4d216..10396ad3cf9 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -107,9 +107,15 @@
"%2$s deleted %1$s" : "%2$s удалил %1$s",
"You restored %1$s" : "Вы восстановили %1$s",
"%2$s restored %1$s" : "%2$s восстановил %1$s",
+ "You renamed %2$s to %1$s" : "Вы переименовали %2$s в %1$s",
+ "%2$s renamed %3$s to %1$s" : "%2$s переименовал %3$s в %1$s",
+ "You moved %2$s to %1$s" : "Вы переместили %2$s в %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s переместил %3$s в %1$s",
"Changed by %2$s" : "Изменено %2$s",
"Deleted by %2$s" : "Удалено %2$s",
"Restored by %2$s" : "Восстановлено %2$s",
+ "Renamed by %2$s" : "Переименовано %2$s",
+ "Moved by %2$s" : "Перемещено %2$s",
"Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
"Maximum upload size" : "Максимальный размер загружаемого файла",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 6cafc5e5c2f..23dc1c23c0b 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"{seconds}s" : "{seconds} 秒",
"Any moment now..." : "即將完成…",
"Soon..." : "即將完成…",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳",
"Actions" : "動作",
"Download" : "下載",
@@ -110,6 +111,8 @@ OC.L10N.register(
"Changed by %2$s" : "由 %2$s 改動",
"Deleted by %2$s" : "由 %2$s 刪除",
"Restored by %2$s" : "由 %2$s 還原",
+ "Renamed by %2$s" : "由 %2$s 重新命名",
+ "Moved by %2$s" : "由 %2$s 移動",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 5e9f270e534..94e8bbe4bfd 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -40,6 +40,7 @@
"{seconds}s" : "{seconds} 秒",
"Any moment now..." : "即將完成…",
"Soon..." : "即將完成…",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳",
"Actions" : "動作",
"Download" : "下載",
@@ -108,6 +109,8 @@
"Changed by %2$s" : "由 %2$s 改動",
"Deleted by %2$s" : "由 %2$s 刪除",
"Restored by %2$s" : "由 %2$s 還原",
+ "Renamed by %2$s" : "由 %2$s 重新命名",
+ "Moved by %2$s" : "由 %2$s 移動",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
diff --git a/apps/files_sharing/lib/API/Share20OCS.php b/apps/files_sharing/lib/API/Share20OCS.php
index 34f73c7ac07..8d00d176678 100644
--- a/apps/files_sharing/lib/API/Share20OCS.php
+++ b/apps/files_sharing/lib/API/Share20OCS.php
@@ -29,6 +29,7 @@ use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCS\OCSNotFoundException;
use OCP\AppFramework\OCSController;
+use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IGroupManager;
use OCP\IL10N;
@@ -84,15 +85,15 @@ class Share20OCS extends OCSController {
* @param IL10N $l10n
*/
public function __construct(
- $appName,
- IRequest $request,
- IManager $shareManager,
- IGroupManager $groupManager,
- IUserManager $userManager,
- IRootFolder $rootFolder,
- IURLGenerator $urlGenerator,
- IUser $currentUser,
- IL10N $l10n
+ $appName,
+ IRequest $request,
+ IManager $shareManager,
+ IGroupManager $groupManager,
+ IUserManager $userManager,
+ IRootFolder $rootFolder,
+ IURLGenerator $urlGenerator,
+ IUser $currentUser,
+ IL10N $l10n
) {
parent::__construct($appName, $request);
@@ -110,10 +111,11 @@ class Share20OCS extends OCSController {
* Convert an IShare to an array for OCS output
*
* @param \OCP\Share\IShare $share
+ * @param Node|null $recipientNode
* @return array
* @throws NotFoundException In case the node can't be resolved.
*/
- protected function formatShare(\OCP\Share\IShare $share) {
+ protected function formatShare(\OCP\Share\IShare $share, Node $recipientNode = null) {
$sharedBy = $this->userManager->get($share->getSharedBy());
$shareOwner = $this->userManager->get($share->getShareOwner());
@@ -132,14 +134,22 @@ class Share20OCS extends OCSController {
];
$userFolder = $this->rootFolder->getUserFolder($this->currentUser->getUID());
- $nodes = $userFolder->getById($share->getNodeId());
+ if ($recipientNode) {
+ $node = $recipientNode;
+ } else {
+ $nodes = $userFolder->getById($share->getNodeId());
- if (empty($nodes)) {
- throw new NotFoundException();
+ if (empty($nodes)) {
+ // fallback to guessing the path
+ $node = $userFolder->get($share->getTarget());
+ if ($node === null) {
+ throw new NotFoundException();
+ }
+ } else {
+ $node = $nodes[0];
+ }
}
- $node = $nodes[0];
-
$result['path'] = $userFolder->getRelativePath($node->getPath());
if ($node instanceOf \OCP\Files\Folder) {
$result['item_type'] = 'folder';
@@ -402,7 +412,7 @@ class Share20OCS extends OCSController {
} catch (GenericShareException $e) {
$code = $e->getCode() === 0 ? 403 : $e->getCode();
throw new OCSException($e->getHint(), $code);
- }catch (\Exception $e) {
+ } catch (\Exception $e) {
throw new OCSForbiddenException($e->getMessage());
}
@@ -421,7 +431,7 @@ class Share20OCS extends OCSController {
$shares = array_merge($userShares, $groupShares);
- $shares = array_filter($shares, function(IShare $share) {
+ $shares = array_filter($shares, function (IShare $share) {
return $share->getShareOwner() !== $this->currentUser->getUID();
});
@@ -541,7 +551,7 @@ class Share20OCS extends OCSController {
$formatted = [];
foreach ($shares as $share) {
try {
- $formatted[] = $this->formatShare($share);
+ $formatted[] = $this->formatShare($share, $path);
} catch (NotFoundException $e) {
//Ignore share
}
@@ -708,7 +718,8 @@ class Share20OCS extends OCSController {
// If the share is shared with you (or a group you are a member of)
if ($share->getShareType() === \OCP\Share::SHARE_TYPE_USER &&
- $share->getSharedWith() === $this->currentUser->getUID()) {
+ $share->getSharedWith() === $this->currentUser->getUID()
+ ) {
return true;
}
@@ -743,7 +754,7 @@ class Share20OCS extends OCSController {
throw new \Exception('Invalid date. Format must be YYYY-MM-DD');
}
- $date->setTime(0,0,0);
+ $date->setTime(0, 0, 0);
return $date;
}
@@ -761,7 +772,7 @@ class Share20OCS extends OCSController {
// First check if it is an internal share.
try {
- $share = $this->shareManager->getShareById('ocinternal:'.$id);
+ $share = $this->shareManager->getShareById('ocinternal:' . $id);
} catch (ShareNotFound $e) {
if (!$this->shareManager->outgoingServer2ServerSharesAllowed()) {
throw new ShareNotFound();
@@ -775,6 +786,7 @@ class Share20OCS extends OCSController {
/**
* Lock a Node
+ *
* @param \OCP\Files\Node $node
*/
private function lock(\OCP\Files\Node $node) {
diff --git a/apps/files_sharing/tests/ApiTest.php b/apps/files_sharing/tests/ApiTest.php
index a62c29c5cad..aff3aadd7e7 100644
--- a/apps/files_sharing/tests/ApiTest.php
+++ b/apps/files_sharing/tests/ApiTest.php
@@ -29,6 +29,7 @@
namespace OCA\Files_Sharing\Tests;
+use OC\Files\Cache\Scanner;
use OCP\AppFramework\OCS\OCSBadRequestException;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCS\OCSForbiddenException;
@@ -72,6 +73,8 @@ class ApiTest extends TestCase {
$this->view->mkdir($this->folder . $this->subfolder . $this->subsubfolder);
$this->view->file_put_contents($this->folder.$this->filename, $this->data);
$this->view->file_put_contents($this->folder . $this->subfolder . $this->filename, $this->data);
+ $mount = $this->view->getMount($this->filename);
+ $mount->getStorage()->getScanner()->scan('', Scanner::SCAN_RECURSIVE);
$this->userFolder = \OC::$server->getUserFolder(self::TEST_FILES_SHARING_API_USER1);
}
@@ -113,10 +116,8 @@ class ApiTest extends TestCase {
);
}
- /**
- * @medium
- */
function testCreateShareUserFile() {
+ $this->setUp(); // for some reasons phpunit refuses to do this for us only for this test
$ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER1);
$result = $ocs->createShare($this->filename, \OCP\Constants::PERMISSION_ALL, \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2);
$ocs->cleanup();
@@ -627,7 +628,7 @@ class ApiTest extends TestCase {
);
foreach ($testValues as $value) {
- $ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER2);
+ $ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER2);
$result = $ocs->getShares('false', 'false', 'true', $value['query']);
$ocs->cleanup();
@@ -764,6 +765,7 @@ class ApiTest extends TestCase {
* @medium
*/
function testGetShareMultipleSharedFolder() {
+ $this->setUp();
$node1 = $this->userFolder->get($this->folder . $this->subfolder);
$share1 = $this->shareManager->newShare();
$share1->setNode($node1)
@@ -789,8 +791,9 @@ class ApiTest extends TestCase {
->setPermissions(1);
$share3 = $this->shareManager->createShare($share3);
+ // $request = $this->createRequest(['path' => $this->subfolder]);
$ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER2);
- $result1 = $ocs->getShares();
+ $result1 = $ocs->getShares('false','false','false', $this->subfolder);
$ocs->cleanup();
// test should return one share within $this->folder
@@ -798,8 +801,9 @@ class ApiTest extends TestCase {
$this->assertCount(1, $data1);
$s1 = reset($data1);
+ //$request = $this->createRequest(['path' => $this->folder.$this->subfolder]);
$ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER2);
- $result2 = $ocs->getShares();
+ $result2 = $ocs->getShares('false', 'false', 'false', $this->folder . $this->subfolder);
$ocs->cleanup();
// test should return one share within $this->folder
@@ -807,7 +811,7 @@ class ApiTest extends TestCase {
$this->assertCount(1, $data2);
$s2 = reset($data2);
- $this->assertEquals($this->folder.$this->subfolder, $s1['path']);
+ $this->assertEquals($this->subfolder, $s1['path']);
$this->assertEquals($this->folder.$this->subfolder, $s2['path']);
$this->shareManager->deleteShare($share1);
@@ -1193,14 +1197,11 @@ class ApiTest extends TestCase {
* Tests mounting a folder that is an external storage mount point.
*/
public function testShareStorageMountPoint() {
- self::$tempStorage = new \OC\Files\Storage\Temporary(array());
- self::$tempStorage->file_put_contents('test.txt', 'abcdef');
- self::$tempStorage->getScanner()->scan('');
-
- // needed because the sharing code sometimes switches the user internally and mounts the user's
- // storages. In our case the temp storage isn't mounted automatically, so doing it in the post hook
- // (similar to how ext storage works)
- \OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OCA\Files_Sharing\Tests\ApiTest', 'initTestMountPointsHook');
+ $tempStorage = new \OC\Files\Storage\Temporary(array());
+ $tempStorage->file_put_contents('test.txt', 'abcdef');
+ $tempStorage->getScanner()->scan('');
+
+ $this->registerMount(self::TEST_FILES_SHARING_API_USER1, $tempStorage, self::TEST_FILES_SHARING_API_USER1 . '/files' . self::TEST_FOLDER_NAME);
// logging in will auto-mount the temp storage for user1 as well
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
diff --git a/apps/files_sharing/tests/External/ManagerTest.php b/apps/files_sharing/tests/External/ManagerTest.php
index 096bbe85776..48476888bdd 100644
--- a/apps/files_sharing/tests/External/ManagerTest.php
+++ b/apps/files_sharing/tests/External/ManagerTest.php
@@ -58,7 +58,7 @@ class ManagerTest extends TestCase {
* @var \OCP\IUser
*/
private $user;
- private $mountProvider;
+ private $testMountProvider;
protected function setUp() {
parent::setUp();
@@ -82,13 +82,13 @@ class ManagerTest extends TestCase {
$discoveryManager,
$this->uid
);
- $this->mountProvider = new MountProvider(\OC::$server->getDatabaseConnection(), function() {
+ $this->testMountProvider = new MountProvider(\OC::$server->getDatabaseConnection(), function() {
return $this->manager;
});
}
private function setupMounts() {
- $mounts = $this->mountProvider->getMountsForUser($this->user, new StorageFactory());
+ $mounts = $this->testMountProvider->getMountsForUser($this->user, new StorageFactory());
foreach ($mounts as $mount) {
$this->mountManager->addMount($mount);
}
diff --git a/apps/files_sharing/tests/SizePropagationTest.php b/apps/files_sharing/tests/SizePropagationTest.php
index 3655977fd94..04db505e8a5 100644
--- a/apps/files_sharing/tests/SizePropagationTest.php
+++ b/apps/files_sharing/tests/SizePropagationTest.php
@@ -38,7 +38,6 @@ use Test\Traits\UserTrait;
*/
class SizePropagationTest extends TestCase {
use UserTrait;
- use MountProviderTrait;
protected function setupUser($name, $password = '') {
$this->createUser($name, $password);
diff --git a/apps/files_sharing/tests/TestCase.php b/apps/files_sharing/tests/TestCase.php
index 0ad58151dbb..1777eb5bad2 100644
--- a/apps/files_sharing/tests/TestCase.php
+++ b/apps/files_sharing/tests/TestCase.php
@@ -31,8 +31,10 @@
namespace OCA\Files_Sharing\Tests;
+use OC\Files\Cache\Scanner;
use OC\Files\Filesystem;
use OCA\Files_Sharing\AppInfo\Application;
+use Test\Traits\MountProviderTrait;
/**
* Class TestCase
@@ -42,6 +44,7 @@ use OCA\Files_Sharing\AppInfo\Application;
* Base class for sharing tests.
*/
abstract class TestCase extends \Test\TestCase {
+ use MountProviderTrait;
const TEST_FILES_SHARING_API_USER1 = "test-share-user1";
const TEST_FILES_SHARING_API_USER2 = "test-share-user2";
diff --git a/apps/twofactor_backupcodes/l10n/fr.js b/apps/twofactor_backupcodes/l10n/fr.js
index 89c7420b867..56b14ae0f6a 100644
--- a/apps/twofactor_backupcodes/l10n/fr.js
+++ b/apps/twofactor_backupcodes/l10n/fr.js
@@ -3,12 +3,15 @@ OC.L10N.register(
{
"Generate backup codes" : "Générer des codes de récupération",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Les codes de récupération ont été générés. {{used}} codes sur {{total}} ont été utilisés.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pouvez plus y avoir accès ultérieurement",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si vous régénérez les codes de récupération, vous invalidez automatiquement les anciens codes.",
"An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"Nextcloud backup codes" : "Codes de récupération Nextcloud",
"Backup code" : "Code de récupération",
- "Use backup code" : "Utiliser un code de récupération"
+ "Use backup code" : "Utiliser un code de récupération",
+ "Second-factor backup codes" : "Codes de récupération pour l'authentification en deux étapes"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/twofactor_backupcodes/l10n/fr.json b/apps/twofactor_backupcodes/l10n/fr.json
index 9d7dbf03e5d..275fbb7e2f2 100644
--- a/apps/twofactor_backupcodes/l10n/fr.json
+++ b/apps/twofactor_backupcodes/l10n/fr.json
@@ -1,12 +1,15 @@
{ "translations": {
"Generate backup codes" : "Générer des codes de récupération",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Les codes de récupération ont été générés. {{used}} codes sur {{total}} ont été utilisés.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pouvez plus y avoir accès ultérieurement",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si vous régénérez les codes de récupération, vous invalidez automatiquement les anciens codes.",
"An error occurred while generating your backup codes" : "Une erreur est survenue lors de la génération de vos codes de récupération",
"Nextcloud backup codes" : "Codes de récupération Nextcloud",
"Backup code" : "Code de récupération",
- "Use backup code" : "Utiliser un code de récupération"
+ "Use backup code" : "Utiliser un code de récupération",
+ "Second-factor backup codes" : "Codes de récupération pour l'authentification en deux étapes"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js
index 7f7cf75dda5..7d646f36ff5 100644
--- a/apps/updatenotification/l10n/fr.js
+++ b/apps/updatenotification/l10n/fr.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Could not start updater, please try the manual update" : "Impossible de démarrer le système de mise à jour, s'il vous plaît essayer la mise à jour manuelle",
"{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations sur comment mettre à jour.",
"Channel updated" : "Canal de mise à jour modifié",
+ "Update to %1$s is available." : "Une mise à jour vers %1$s est disponible",
"Update for %1$s to version %2$s is available." : "Une mise à jour de %1$s vers la version %2$s est disponible.",
"A new version is available: %s" : "Une nouvelle version est disponible : %s",
"Open updater" : "Ouvrir le système de mise à jour",
diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json
index a4e7ba64bf4..057cb2c7b39 100644
--- a/apps/updatenotification/l10n/fr.json
+++ b/apps/updatenotification/l10n/fr.json
@@ -3,6 +3,7 @@
"Could not start updater, please try the manual update" : "Impossible de démarrer le système de mise à jour, s'il vous plaît essayer la mise à jour manuelle",
"{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations sur comment mettre à jour.",
"Channel updated" : "Canal de mise à jour modifié",
+ "Update to %1$s is available." : "Une mise à jour vers %1$s est disponible",
"Update for %1$s to version %2$s is available." : "Une mise à jour de %1$s vers la version %2$s est disponible.",
"A new version is available: %s" : "Une nouvelle version est disponible : %s",
"Open updater" : "Ouvrir le système de mise à jour",
diff --git a/apps/updatenotification/l10n/zh_TW.js b/apps/updatenotification/l10n/zh_TW.js
index db8798e4a90..64a0e002d5b 100644
--- a/apps/updatenotification/l10n/zh_TW.js
+++ b/apps/updatenotification/l10n/zh_TW.js
@@ -1,9 +1,22 @@
OC.L10N.register(
"updatenotification",
{
+ "Update notifications" : "更新通知",
+ "Could not start updater, please try the manual update" : "無法啟動更新程式,請嘗試手動更新",
"{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
- "Updater" : "更新者",
+ "Channel updated" : "頻道已更新",
+ "Update to %1$s is available." : "更新版 %1$s 已經釋出",
+ "Update for %1$s to version %2$s is available." : "%1$s 到 %2$s 的更新已經釋出",
+ "A new version is available: %s" : "新版本可用:%s",
+ "Open updater" : "打開更新程式",
+ "Download now" : "現在下載",
+ "Your version is up to date." : "您的版本是最新版",
+ "Checked on %s" : "於 %s 檢查過",
"Update channel:" : "更新通道:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "您可以隨時更新至較新的版本 / 實驗通道,但您不能降版至更穩定的通道。"
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "您可以隨時更新至較新的版本 / 實驗通道,但您不能降版至更穩定的通道。",
+ "Notify members of the following groups about available updates:" : "有可用更新時通知這些群組:",
+ "Only notification for app updates are available." : "僅提供應用程式更新的通知",
+ "The selected update channel does not support updates of the server." : "所選的更新頻道不提供伺服器軟體的更新",
+ "Updater" : "更新者"
},
"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/zh_TW.json b/apps/updatenotification/l10n/zh_TW.json
index 2b0baa5eace..7e8edb9820e 100644
--- a/apps/updatenotification/l10n/zh_TW.json
+++ b/apps/updatenotification/l10n/zh_TW.json
@@ -1,7 +1,20 @@
{ "translations": {
+ "Update notifications" : "更新通知",
+ "Could not start updater, please try the manual update" : "無法啟動更新程式,請嘗試手動更新",
"{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
- "Updater" : "更新者",
+ "Channel updated" : "頻道已更新",
+ "Update to %1$s is available." : "更新版 %1$s 已經釋出",
+ "Update for %1$s to version %2$s is available." : "%1$s 到 %2$s 的更新已經釋出",
+ "A new version is available: %s" : "新版本可用:%s",
+ "Open updater" : "打開更新程式",
+ "Download now" : "現在下載",
+ "Your version is up to date." : "您的版本是最新版",
+ "Checked on %s" : "於 %s 檢查過",
"Update channel:" : "更新通道:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "您可以隨時更新至較新的版本 / 實驗通道,但您不能降版至更穩定的通道。"
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "您可以隨時更新至較新的版本 / 實驗通道,但您不能降版至更穩定的通道。",
+ "Notify members of the following groups about available updates:" : "有可用更新時通知這些群組:",
+ "Only notification for app updates are available." : "僅提供應用程式更新的通知",
+ "The selected update channel does not support updates of the server." : "所選的更新頻道不提供伺服器軟體的更新",
+ "Updater" : "更新者"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php
index 19920c58d6c..e7facd80ae0 100644
--- a/apps/user_ldap/lib/Access.php
+++ b/apps/user_ldap/lib/Access.php
@@ -304,7 +304,6 @@ class Access extends LDAPUtility implements IUserTools {
}
/**
- public function ocname2dn($name, $isUser) {
* returns the internal ownCloud name for the given LDAP DN of the group, false on DN outside of search DN or failure
* @param string $fdn the dn of the group object
* @param string $ldapName optional, the display name of the object
diff --git a/apps/user_ldap/lib/Command/ShowConfig.php b/apps/user_ldap/lib/Command/ShowConfig.php
index ac70468b1c4..7a24889eb09 100644
--- a/apps/user_ldap/lib/Command/ShowConfig.php
+++ b/apps/user_ldap/lib/Command/ShowConfig.php
@@ -26,6 +26,7 @@
namespace OCA\User_LDAP\Command;
use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
@@ -91,7 +92,7 @@ class ShowConfig extends Command {
$configuration = $configHolder->getConfiguration();
ksort($configuration);
- $table = $this->getHelperSet()->get('table');
+ $table = new Table($output);
$table->setHeaders(array('Configuration', $id));
$rows = array();
foreach($configuration as $key => $value) {
diff --git a/apps/user_ldap/lib/Command/ShowRemnants.php b/apps/user_ldap/lib/Command/ShowRemnants.php
index df38d6f650d..0e6aea6a5ab 100644
--- a/apps/user_ldap/lib/Command/ShowRemnants.php
+++ b/apps/user_ldap/lib/Command/ShowRemnants.php
@@ -26,6 +26,7 @@
namespace OCA\User_LDAP\Command;
use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
@@ -64,7 +65,7 @@ class ShowRemnants extends Command {
*/
protected function execute(InputInterface $input, OutputInterface $output) {
/** @var \Symfony\Component\Console\Helper\Table $table */
- $table = $this->getHelperSet()->get('table');
+ $table = new Table($output);
$table->setHeaders(array(
'ownCloud name', 'Display Name', 'LDAP UID', 'LDAP DN', 'Last Login',
'Dir', 'Sharer'));