diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2016-10-14 17:14:36 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2016-10-16 14:42:16 +0200 |
commit | dade28cadd3d73feaf665cfd338928643b7c5793 (patch) | |
tree | 89741d6c6950cd409b24744cc50fbcc985f35021 /apps | |
parent | a49d571799566d6b0e980a6dc73e641c07cc395d (diff) | |
parent | 62e19dfa8064c1d5a6d06d2d5c49e277716d4b4e (diff) | |
download | nextcloud-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.php | 2 | ||||
-rw-r--r-- | apps/files/l10n/ru.js | 6 | ||||
-rw-r--r-- | apps/files/l10n/ru.json | 6 | ||||
-rw-r--r-- | apps/files/l10n/zh_TW.js | 3 | ||||
-rw-r--r-- | apps/files/l10n/zh_TW.json | 3 | ||||
-rw-r--r-- | apps/files_sharing/lib/API/Share20OCS.php | 54 | ||||
-rw-r--r-- | apps/files_sharing/tests/ApiTest.php | 31 | ||||
-rw-r--r-- | apps/files_sharing/tests/External/ManagerTest.php | 6 | ||||
-rw-r--r-- | apps/files_sharing/tests/SizePropagationTest.php | 1 | ||||
-rw-r--r-- | apps/files_sharing/tests/TestCase.php | 3 | ||||
-rw-r--r-- | apps/twofactor_backupcodes/l10n/fr.js | 5 | ||||
-rw-r--r-- | apps/twofactor_backupcodes/l10n/fr.json | 5 | ||||
-rw-r--r-- | apps/updatenotification/l10n/fr.js | 1 | ||||
-rw-r--r-- | apps/updatenotification/l10n/fr.json | 1 | ||||
-rw-r--r-- | apps/updatenotification/l10n/zh_TW.js | 17 | ||||
-rw-r--r-- | apps/updatenotification/l10n/zh_TW.json | 17 | ||||
-rw-r--r-- | apps/user_ldap/lib/Access.php | 1 | ||||
-rw-r--r-- | apps/user_ldap/lib/Command/ShowConfig.php | 3 | ||||
-rw-r--r-- | apps/user_ldap/lib/Command/ShowRemnants.php | 3 |
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')); |