Compare commits

...

640 Commits

Author SHA1 Message Date
Roeland Jago Douma
343a69569d Merge pull request #6572 from nextcloud/bump-version-another-time
[stable12] Bump version to 12.0.3.3
2017-09-19 20:18:36 +02:00
Lukas Reschke
f438ad5d1e Bump version to 12.0.3.3
For a build with https://github.com/nextcloud/server/pull/6570

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-19 16:48:11 +02:00
Lukas Reschke
5e47b07b21 Merge pull request #6570 from nextcloud/fix-comments-activity-error-12
[stable12] Use the wrapper to get the parameters which was added in #6369
2017-09-19 16:07:44 +02:00
Joas Schilling
4ca0223f37 Use the wrapper to get the parameters which was added in #6369
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-19 15:06:22 +02:00
Nextcloud bot
db56ea3e70 [tx-robot] updated from transifex 2017-09-19 00:08:39 +00:00
Roeland Jago Douma
3488a2099f Merge pull request #6556 from nextcloud/stable12-bump-version-to-final
[stable12] Bump version to 12.0.3
2017-09-18 20:01:51 +02:00
Lukas Reschke
7dc2ffaf00 Bump version to 12.0.3
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-18 18:22:09 +02:00
Nextcloud bot
c854665b0c [tx-robot] updated from transifex 2017-09-18 00:08:41 +00:00
Nextcloud bot
bc88484e7f [tx-robot] updated from transifex 2017-09-17 00:08:34 +00:00
Nextcloud bot
18a258c531 [tx-robot] updated from transifex 2017-09-16 00:08:34 +00:00
Nextcloud bot
99916a9bda [tx-robot] updated from transifex 2017-09-15 00:08:17 +00:00
Nextcloud bot
a7f3fadd37 [tx-robot] updated from transifex 2017-09-14 00:08:21 +00:00
Nextcloud bot
51c110dd66 [tx-robot] updated from transifex 2017-09-13 00:08:21 +00:00
Roeland Jago Douma
c3924068aa Merge pull request #6472 from nextcloud/rc2
v12.0.3RC2
2017-09-12 23:24:47 +02:00
Roeland Jago Douma
2e30eab8c7 Merge pull request #6474 from nextcloud/2fa_apppasword_auth_12
[stable12] Fix AppPassword 2FA auth
2017-09-12 23:23:46 +02:00
Roeland Jago Douma
ab50f0b1de Fix AppPassword 2FA auth
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-12 22:35:16 +02:00
Lukas Reschke
48372f9108 v12.0.3RC2
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-12 22:11:17 +02:00
Morris Jobke
499699f37b Merge pull request #6466 from nextcloud/12-0-3-rc1
12.0.3 RC1
2017-09-12 16:12:06 +02:00
Lukas Reschke
9dbb77b5e6 12.0.3 RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-12 14:46:18 +02:00
Morris Jobke
cb6178b828 Merge pull request #6443 from nextcloud/backport-6064-absolute-path-must-be-relative-to-files-on-theming-update
[stable12] Still throw a locked exception when the path is not relative to $user/files/
2017-09-12 10:03:29 +02:00
Morris Jobke
c1690da20b Merge pull request #6444 from nextcloud/backport-6351-sql-syntax-on-caldav
[stable12] not to backquote LIMIT on CalDavBackend.php
2017-09-12 09:43:24 +02:00
Morris Jobke
5981027f82 Merge pull request #6359 from nextcloud/12-6082
[stable12] Use separate element color in theming
2017-09-12 09:41:10 +02:00
Morris Jobke
3aae3a54e5 Merge pull request #6446 from nextcloud/backport-6414-share-notification-wrong-language
[stable12] Use the language of the recipient for the share notification
2017-09-12 09:40:19 +02:00
Nextcloud bot
c58fdad3de [tx-robot] updated from transifex 2017-09-12 00:08:34 +00:00
Morris Jobke
0c43183ac9 Merge pull request #6442 from nextcloud/backport-6416-make-sure-sqlite-works-without-content
[stable12] Ask the schema whether the table and column exist
2017-09-11 23:20:58 +02:00
Morris Jobke
c81829fd74 Merge pull request #6427 from nextcloud/backport-to-fix-popover-hovering
[stable12] Fix hovering on all popover types
2017-09-11 23:11:40 +02:00
Morris Jobke
0c3c145b90 Merge pull request #6441 from nextcloud/backport-6369-missing-translations-of-comment-activity-in-email
[stable12] Allow translations of the comments activity in the emails too
2017-09-11 23:09:56 +02:00
Morris Jobke
9d7b21efb8 Merge pull request #6440 from nextcloud/stable12-session-timeout-refresh-csrf-token
[stable12] Fix failing csp/nonce check due to timed out session
2017-09-11 22:34:37 +02:00
Joas Schilling
2a6855a76d Use the language of the recipient for the share notification
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:28:20 +02:00
nhirokinet
2eaee586c7 not to backquote LIMIT on CalDavBackend.php 2017-09-11 11:21:43 +02:00
Joas Schilling
d25ea6ae1c Don't lock in the appdata_ directory
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:18:56 +02:00
Joas Schilling
9cae892974 Still throw a locked exception when the path is not relative to $user/files/
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:18:47 +02:00
Joas Schilling
e88a4a0b3d Fix Nextcloud 12 compatibility
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:14:33 +02:00
Joas Schilling
6fd01c3993 Ask the schema whether the table and column exist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:08:58 +02:00
Joas Schilling
206c4da149 Allow translations of the comments activity in the emails too
Message and object data is not available on emails atm,
so we can not use them either...

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-11 11:05:06 +02:00
Christoph Wurst
55c7aa674c Fix failing csp/nonce check due to timed out session
The CSP nonce is based on the CSRF token. This token does not change,
unless you log in (or out). In case of the session data being lost,
e.g. because php gets rid of old sessions, a new CSRF token is gen-
erated. While this is fine in theory, it actually caused some annoying
problems where the browser restored a tab and Nextcloud js was blocked
due to an outdated nonce.
The main problem here is that, while processing the request, we write
out security headers relatively early. At that point the CSRF token
is known/generated and transformed into a CSP nonce. During this request,
however, we also log the user in because the session information was
lost. At that point we also refresh the CSRF token, which eventually
causes the browser to block any scripts as the nonce in the header
does not match the one which is used to include scripts.
This patch adds a flag to indicate whether the CSRF token should be
refreshed or not. It is assumed that refreshing is only necessary
if we want to re-generate the session id too. To my knowledge, this
case only happens on fresh logins, not when we recover from a deleted
session file.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-09-11 10:08:06 +02:00
Nextcloud bot
b7768ac11d [tx-robot] updated from transifex 2017-09-11 00:08:28 +00:00
Nextcloud bot
985cbc6b33 [tx-robot] updated from transifex 2017-09-10 00:08:33 +00:00
John Molakvoæ (skjnldsv)
4baae80d98 Fix hovering on all popover types
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-09-09 14:05:51 +02:00
Nextcloud bot
79c0d69844 [tx-robot] updated from transifex 2017-09-09 00:08:30 +00:00
Morris Jobke
85633784d3 Merge pull request #6421 from nextcloud/12-6419
[stable12] Use tmpfs for mysql CI containers
2017-09-08 16:58:49 +02:00
Morris Jobke
ff94640c4f Use tmpfs for mysql CI containers
Should improve performance

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-08 15:57:15 +02:00
Nextcloud bot
ac96dc80de [tx-robot] updated from transifex 2017-09-08 00:08:25 +00:00
Joas Schilling
27ea0bd9e1 Merge pull request #6396 from nextcloud/12-6329
[stable12] Don't log LDAP password when server is not available
2017-09-07 12:48:13 +02:00
Morris Jobke
7c3148f1aa Merge pull request #6386 from nextcloud/12-6247
[stable12] Fix undefined index oauthState
2017-09-07 09:32:45 +02:00
Joas Schilling
287ebb52d5 Don't log LDAP password when server is not available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-07 09:26:40 +02:00
Nextcloud bot
9071f60605 [tx-robot] updated from transifex 2017-09-07 00:08:32 +00:00
Roeland Jago Douma
ef1c81188b Merge pull request #6319 from nextcloud/improve_2fa-12
[stable12] Improve 2FA
2017-09-06 20:07:46 +02:00
Morris Jobke
04583a7587 Fix tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-06 19:48:12 +02:00
Morris Jobke
6375d7ef7f Fix undefined index oauthState
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-06 19:48:08 +02:00
Lukas Reschke
ad96c58e8b Merge pull request #6368 from nextcloud/backport-5436-fix-group-check
[stable12] Fix group check on share provider
2017-09-06 17:19:15 +02:00
Lukas Reschke
e1e248aeb8 Merge pull request #6357 from nextcloud/swift-tmpfiles-12
[12] Remove tmpFiles Array in Swift.php
2017-09-06 17:17:36 +02:00
Roeland Jago Douma
dbcd549e35 Fix login with basic auth
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-06 17:07:11 +02:00
Nextcloud bot
ba71df12cc [tx-robot] updated from transifex 2017-09-06 00:08:30 +00:00
Morris Jobke
f1bbef392f Merge pull request #6366 from nextcloud/backport-6358-email-update
Backport email update
2017-09-05 20:57:06 +02:00
Jan-Philipp Litza
b35c039b77 Fix 500 Internal Server Error on writing
In some not yet completely determined configurations, the following error could occur while writing a file:

Error: Call to a member function getUsers() on null
    /var/www/nextcloud/lib/private/Share20/Manager.php - line 1277: OC\Share20\DefaultShareProvider->getAccessList(Array, true)
    /var/www/nextcloud/lib/private/Share20/ShareHelper.php - line 51: OC\Share20\Manager->getAccessList(Object(OC\Files\Node\Folder), true, true)
    /var/www/nextcloud/apps/activity/lib/FilesHooks.php - line 616: OC\Share20\ShareHelper->getPathsForAccessList(Object(OC\Files\Node\File))
    /var/www/nextcloud/apps/activity/lib/FilesHooks.php - line 196: OCA\Activity\FilesHooks->getUserPathsFromPath('/path/to/file', 'user')
    /var/www/nextcloud/apps/activity/lib/FilesHooks.php - line 157: OCA\Activity\FilesHooks->addNotificationsForFileAction('/path/to/file', 'file_changed', 'changed_self', 'changed_by')
    /var/www/nextcloud/apps/activity/lib/FilesHooksStatic.php - line 55: OCA\Activity\FilesHooks->fileUpdate('/path/to/file')
    /var/www/nextcloud/lib/private/legacy/hook.php - line 106: OCA\Activity\FilesHooksStatic fileUpdate(Array)
    /var/www/nextcloud/lib/private/Files/View.php - line 1245: OC_Hook emit('OC_Filesystem', 'post_update', Array)
    /var/www/nextcloud/lib/private/Files/View.php - line 1173: OC\Files\View->runHooks(Array, '/path/to/file', true)
    /var/www/nextcloud/lib/private/Files/View.php - line 679: OC\Files\View->basicOperation('file_put_conten...', '/path/to/file', Array, '<?xml version="...')
    /var/www/nextcloud/lib/private/Files/Node/File.php - line 64: OC\Files\View->file_put_contents('/path/to/file', '<?xml version="...')
    [...]

Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2017-09-05 17:31:39 +02:00
Morris Jobke
c0692abee7 Fix tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-05 16:04:29 +02:00
Joas Schilling
6428359820 Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-05 16:04:17 +02:00
Joas Schilling
6e7c37cbd3 Merge setMetaData into constructor
This ensures that the meta data is set in the beginning

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-05 16:04:09 +02:00
Joas Schilling
54faa09b4d Set the meta data before everything
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-05 16:03:57 +02:00
Joas Schilling
6aa707de42 Fix naming of user id in email meta data
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-05 16:03:50 +02:00
Morris Jobke
ec00e4b001 Implement metadata for email templates of remaining emails
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-05 16:03:40 +02:00
Nextcloud bot
42b46ead67 [tx-robot] updated from transifex 2017-09-05 00:08:33 +00:00
Julius Härtl
9bcf90adc8 Cleanup theming styles to fit the new login page
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-04 15:59:46 +02:00
Julius Härtl
ed11c0d6e2 Fix tests for primary element color
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-04 15:59:40 +02:00
Julius Härtl
0f2f19c65f Use separate element color in theming
This way we can use a grey color when the primary color is to bright

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-04 15:50:33 +02:00
Christopher Bartz
222ec97f5f Remove tmpFiles Array in Swift.php
tmpFiles Array is unnecessary and there has been
a reference without an assignment which lead to a bug making swift external
storage unuseable.
2017-09-04 14:54:13 +02:00
blizzz
ebadf2f21d Merge pull request #6355 from nextcloud/6221-12
[stable12] Correctly format OCS response with favorites
2017-09-04 12:52:44 +02:00
Morris Jobke
274b72f223 Merge pull request #6333 from nextcloud/new-dav-event-stable12
[stable12] add a new dav event to allow apps to register their own sabredav plugins
2017-09-04 11:57:22 +02:00
Roeland Jago Douma
38548a7006 Correctly format OCS response with favorites
The helper funtion did not handle the response correctly and basically
only returned the last share with tags.

This is a simple rewrite. That is still understandable. Loops maybe more
than strictly required. But preformance is not the issue here.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-04 11:49:19 +02:00
Nextcloud bot
c5950bd8f8 [tx-robot] updated from transifex 2017-09-03 00:08:24 +00:00
Nextcloud bot
fe2f9ac7ce [tx-robot] updated from transifex 2017-09-02 00:08:39 +00:00
Bjoern Schiessle
38a60e44db also allow to register additional plugins if the old endpoint is used
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-09-01 12:07:05 +02:00
Bjoern Schiessle
8e1d33369b add a new dav event to allow apps to register their own sabredav plugins
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-09-01 12:06:55 +02:00
Nextcloud bot
a8f4b1ee52 [tx-robot] updated from transifex 2017-09-01 00:08:36 +00:00
Roeland Jago Douma
faffebc718 Improve 2FA
* Store the auth state in the session so we don't have to query it every
time.
* Added some tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-31 10:54:10 +02:00
Nextcloud bot
0ba7914d0c [tx-robot] updated from transifex 2017-08-31 00:08:40 +00:00
Morris Jobke
8bc95d3449 Merge pull request #6285 from nextcloud/generate-system-wide-key-pair-12
Generate system wide key pair
2017-08-30 21:31:31 +02:00
Morris Jobke
6704e89c5a Merge pull request #5841 from nextcloud/bugfix-stable12/2855/dont_send_invitations_for_past_events
[stable12] dont send invitations for past events
2017-08-30 21:01:32 +02:00
Bjoern Schiessle
b53587cf8d update autoloader
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-30 20:36:48 +02:00
Bjoern Schiessle
181c77ca87 move repair step to stable12
because we decided to backport it the repair step needs to be executed
already on stable12

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-30 20:36:47 +02:00
Roeland Jago Douma
52833704d5 Bump version
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-30 20:36:47 +02:00
Bjoern Schiessle
3e6833f5a6 add prefix to user and system keys to avoid name collisions
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-30 20:36:10 +02:00
Bjoern Schiessle
5f49398e13 extend the identity proof manager to allow system wide key pairs
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-30 20:36:10 +02:00
Morris Jobke
bf720056c2 Merge pull request #6311 from nextcloud/stable12-specify-slo-url
[Stable12] specify slo url
2017-08-30 20:29:16 +02:00
Lukas Reschke
5755897712 Inject \OCP\IURLGenerator to make tests work
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-30 14:42:50 +02:00
Lukas Reschke
245080e647 Properly allow \OCP\Authentication\IApacheBackend to specify logout URL
Any `\OCP\Authentication\IApacheBackend` previously had to implement `getLogoutAttribute` which returns a string.
This string is directly injected into the logout `<a>` tag, so returning something like `href="foo"` would result
in `<a href="foo">`.

This is rather error prone and also in Nextcloud 12 broken as the logout entry has been moved with
054e161eb5 inside the navigation manager where one cannot simply inject attributes.

Thus this feature is broken in Nextcloud 12 which effectively leads to the bug described at nextcloud/user_saml#112,
people cannot logout anymore when using SAML using SLO. Basically in case of SAML you have a SLO url which redirects
you to the IdP and properly logs you out there as well.

Instead of monkey patching the Navigation manager I decided to instead change `\OCP\Authentication\IApacheBackend` to
use `\OCP\Authentication\IApacheBackend::getLogoutUrl` instead where it can return a string with the appropriate logout
URL. Since this functionality is only prominently used in the SAML plugin. Any custom app would need a small change but
I'm not aware of any and there's simply no way to fix this properly otherwise.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-30 14:42:46 +02:00
Nextcloud bot
c13a06b7a5 [tx-robot] updated from transifex 2017-08-30 00:08:36 +00:00
Morris Jobke
0433b31d74 Merge pull request #6300 from nextcloud/add-share-with
[stable12] Add shareWith to email template metadata
2017-08-29 17:56:42 +02:00
Morris Jobke
7fd3068184 Add shareWith to email template metadata
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-29 16:05:12 +02:00
Morris Jobke
eb1a8a1934 Merge pull request #6278 from nextcloud/stable12-6182-fixes-in-files-drop-js
[stable12] Fixes in files_drop.js
2017-08-29 14:49:05 +02:00
Björn Schießle
1f7ea1f295 Merge pull request #6284 from nextcloud/add-new-propfind-stable12
add propfind to detect encryption status
2017-08-29 10:48:30 +02:00
Nextcloud bot
a6ea872b1f [tx-robot] updated from transifex 2017-08-29 00:08:37 +00:00
Morris Jobke
1af39e8734 Merge pull request #6287 from nextcloud/12-6255
[stable12] Add meta information to emails for better customisation
2017-08-28 18:34:30 +02:00
Morris Jobke
6f9c3ab8a6 Allow the expiration date to be set to null
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-28 17:47:51 +02:00
Morris Jobke
d0bb5c298d Allow the expiration date to be set to null
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-28 17:33:43 +02:00
Joas Schilling
485dbc8d6c Also for reset password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-28 17:33:38 +02:00
Joas Schilling
7df1ddcf2c Add meta information to emails for better customisation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-28 17:33:35 +02:00
Bjoern Schiessle
9128786d09 add propfind to detect encryption status
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-28 14:03:21 +02:00
Nextcloud bot
eb71c1288d [tx-robot] updated from transifex 2017-08-28 00:08:33 +00:00
Daniel Calviño Sánchez
575f0c8421 Do not iterate over the files
As "singleFileUpload" is used the "add" callback (which in turn calls
"addFileToUpload") will always be called with a single file. Therefore
there is no need to iterate over the files (and it is not done in the
other callbacks either, so this aligns the code with the rest of the
callbacks).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-27 18:37:44 +02:00
Daniel Calviño Sánchez
03c6c5bd93 Replace fileName variable with data.files[0].name
There is no need to store the file name, as the "data" parameter given to
all the callbacks provides a "files" attribute with all the files that
the callback refers to; moreover, it will always be a single file due to
the use of "singleFileUploads" in the jQuery File Upload plugin.

This also fixes the loading icon not disappearing when several files were
uploaded at once. "singleFileUploads" causes the "add" callback to be
called once for each file to be uploaded, so "fileName" was overwritten
with the name of each new file in the upload set; when "fileName" was
later used in the "done" callback to find the file in the list whose
loading icon replace with the MIME type icon "fileName" always had the
name of the last file, and thus its icon was the only one replaced.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-27 18:37:43 +02:00
Daniel Calviño Sánchez
b68bad45dc Update the whole file item instead of only its contents
The "done" and "fail" callbacks both update the item for the uploaded
file using "setFileIcon". "setFileIcon" updates the contents of the
"<li>" element for the file, but the "fail" callback was giving
"setFileIcon" an element generated by the template,  so the resulting
HTML contained a "<li>" element nested in another "<li>" element.

However, generating the HTML is better done through a template, so the
template now receives the icon to show in order to be used by a
successful upload and a failed one, and "setFileIcon" was changed to
"updateFileItem".

Note that the mimeTypeUrl does no longer need to be escaped, as
Handlebars templates escape the needed characters automatically.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-27 18:37:43 +02:00
Daniel Calviño Sánchez
8a1850f6b1 Remove "errorThrown" parameter
When the "fail" callback is called, "errorThrown" is a property of the
data object instead of a parameter.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-27 18:37:43 +02:00
Roeland Jago Douma
ad283e40b4 Merge pull request #6270 from nextcloud/6252-12
[stable12] Don't try the actual file upload if the checks already error out
2017-08-26 18:32:03 +02:00
Roeland Jago Douma
0ec858f7e9 Merge pull request #6269 from nextcloud/6251-12
[stable12] Don't fetch the translation from core but from files
2017-08-26 16:26:40 +02:00
Roeland Jago Douma
0228dd7d50 Merge pull request #6268 from nextcloud/smb-2.0.2-12
[12]  update icewind/smb to 2.0.2
2017-08-26 13:50:53 +02:00
Roeland Jago Douma
f29384a057 Merge pull request #6243 from nextcloud/stable12-circles-token
using CircleProvider on token
2017-08-26 13:49:25 +02:00
Roeland Jago Douma
99b102e15d Don't try the actual file upload if the checks already error out
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-26 13:34:29 +02:00
Roeland Jago Douma
7338f7aa21 Don't fetch the translation from core but from files
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-26 13:33:34 +02:00
Robin Appelman
6f06426bd4 update icewind/smb to 2.0.2
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-26 12:14:43 +02:00
Nextcloud bot
2c6bc236cb [tx-robot] updated from transifex 2017-08-26 00:08:36 +00:00
Roeland Jago Douma
8c0042c30c Merge pull request #6258 from nextcloud/stable12_6244
[stable12] [drone] Give redis a change to fireup
2017-08-25 11:29:21 +02:00
Roeland Jago Douma
a9ee70b688 [drone] Give redis a change to fireup
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-25 10:40:02 +02:00
Nextcloud bot
992c91e288 [tx-robot] updated from transifex 2017-08-25 00:09:08 +00:00
Morris Jobke
4c2f194589 Merge pull request #6114 from nextcloud/stable12_5852
[stable12] Delete trash using node API to trigger preview deletion
2017-08-24 02:59:44 +02:00
Morris Jobke
5fab554bd2 Merge pull request #6108 from nextcloud/backport-6080-12
[stable12] Add buttom border for header
2017-08-24 02:58:03 +02:00
Morris Jobke
1928863ee7 Merge pull request #6233 from nextcloud/stable12_6218
[stable12] [3rdparty] Fix sabre/xml empty prop parsing
2017-08-24 02:56:28 +02:00
Nextcloud bot
9baf03d28c [tx-robot] updated from transifex 2017-08-24 00:09:00 +00:00
Roeland Jago Douma
81acf70bca Merge pull request #6240 from nextcloud/12-6239
[stable12] Show "Uploading..." in web UI for long uploads
2017-08-23 19:16:50 +02:00
Maxence Lange
0d4803e6dc using CircleProvider on token
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2017-08-23 16:58:32 +02:00
Morris Jobke
4cf7c351ea Merge pull request #6237 from nextcloud/12-drone-ci-images
[stable12] Use docker images without XDebug and with Opcache
2017-08-23 16:48:26 +02:00
Morris Jobke
618014130e Merge pull request #6166 from nextcloud/stable12-bump-dompurify
[Stable12] Bump dompurify
2017-08-23 16:43:33 +02:00
Roeland Jago Douma
9b3e70f554 Merge pull request #6151 from nextcloud/backport-6099-no-exception-on-sharee-error
[stable12] Catch exceptions on error of cloud id resolution
2017-08-23 15:59:33 +02:00
Roeland Jago Douma
a62620feeb Merge pull request #6148 from nextcloud/backport-6047-select-indexed-columns
[stable12] Use indexed column path_hash to find the parent
2017-08-23 15:58:59 +02:00
Morris Jobke
47f87bbf8c Show "Uploading..." in web UI for long uploads
If the estimated upload time is bigger than 4 hours it shows the text
"Uploading..." because the time then doesn't give any good hint to the
user anyways.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-23 15:53:48 +02:00
Morris Jobke
b1e268e2c1 Use docker images without XDebug and with Opcache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-23 15:28:25 +02:00
Roeland Jago Douma
96509ae621 [3rdparty] Fix sabre/xml empty prop parsing
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-23 14:33:14 +02:00
Nextcloud bot
8f20b4566a [tx-robot] updated from transifex 2017-08-23 00:09:04 +00:00
Roeland Jago Douma
efdf1a4bb5 Merge pull request #6197 from nextcloud/stable12-check-encoding-log
[Stable12] check encoding log
2017-08-22 09:09:35 +02:00
Nextcloud bot
8e8af07e79 [tx-robot] updated from transifex 2017-08-22 00:08:29 +00:00
Morris Jobke
4617f5f656 Merge pull request #6207 from nextcloud/12-6201
[stable12] Increase contrast of dropdown menu text, fix accessibility & visibility issues
2017-08-21 22:10:14 +02:00
Jan-Christoph Borchardt
599398e4a0 Increase contrast of dropdown menu text, fix accessibility & visibility issues
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-08-21 16:34:53 +02:00
Morris Jobke
a90d6090a7 Merge pull request #6195 from nextcloud/12-6194
[stable12] Use correct l10n for app password menu
2017-08-21 12:24:31 +02:00
Lukas Reschke
179b850e4d Ensure log message is UTF-8 encoded
PHP's json_encode only accept proper UTF-8 strings, loop over all
elements to ensure that they are properly UTF-8 compliant or convert
them manually.

Without this somebody passing an invalid User Agent may make json_encode
return false which will get logged as empty newline.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-21 10:21:54 +02:00
Morris Jobke
296f71dd9a Use correct l10n for app password menu
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-21 09:22:52 +02:00
Nextcloud bot
de8fe9cbd9 [tx-robot] updated from transifex 2017-08-21 00:08:22 +00:00
Nextcloud bot
6ea56593a7 [tx-robot] updated from transifex 2017-08-20 00:08:24 +00:00
Nextcloud bot
366c73a185 [tx-robot] updated from transifex 2017-08-19 00:08:36 +00:00
Morris Jobke
ddf7e0629c Merge pull request #6173 from nextcloud/12-6161
[stable12] Enable object storage tests again
2017-08-18 23:02:10 +02:00
Nextcloud bot
7e0c00b576 [tx-robot] updated from transifex 2017-08-18 00:08:25 +00:00
Morris Jobke
37bc43c19c Enable object storage tests again
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-17 19:35:26 +02:00
Lukas Reschke
b88072d336 Build merged JS
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-17 12:36:32 +02:00
Lukas Reschke
8cb3624aab Bump DOMPurify to 1.0.0
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-17 12:36:16 +02:00
Roeland Jago Douma
73e7560655 Merge pull request #6127 from nextcloud/12-6126
[stable12] Trigger search after re-focus
2017-08-17 09:16:28 +02:00
Nextcloud bot
948d6742ce [tx-robot] updated from transifex 2017-08-17 00:08:23 +00:00
Morris Jobke
3326118bdc Merge pull request #6150 from nextcloud/backport-6128-primary-font-color-in-capabilities
[stable12] Add the primary font color to the capabilities as well
2017-08-16 21:51:57 +02:00
Joas Schilling
8f68e0a153 Document that it throws
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-16 13:57:45 +02:00
Joas Schilling
bd80121fc6 Catch exceptions on error of cloud id resolution
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-16 13:57:30 +02:00
Joas Schilling
5474e298a1 Add the primary font color to the capabilities as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-16 11:51:15 +02:00
Morris Jobke
669c82afea Merge pull request #6111 from nextcloud/backport-6098-12
[stable12] Fix federation scope dropdown
2017-08-16 11:25:11 +02:00
Joas Schilling
fa8e202e65 Merge pull request #6112 from nextcloud/backport-5920-12
[stable12] Top bar buttons in share view are wrong positioned
2017-08-16 11:12:53 +02:00
Joas Schilling
ccb758ade3 Use indexed column path_hash to find the parent
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-16 10:49:30 +02:00
Nextcloud bot
7913d33de9 [tx-robot] updated from transifex 2017-08-16 00:08:42 +00:00
Morris Jobke
faa83c3250 Trigger search after re-focus
If the share input field is unfocused, the autocomplete list is closed. Once
the field was focused again it was not properly opened again. This adds a
trigger to redo the search and show the results again.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-15 13:40:35 +02:00
Roeland Jago Douma
32b69cd40b Delete trash using node API to trigger preview deletion
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-15 08:52:13 +02:00
Nextcloud bot
cd2d5b0b27 [tx-robot] updated from transifex 2017-08-15 00:08:25 +00:00
Marin Treselj
83616aea4f Make sure this still works in other apps.
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-08-14 22:24:09 +02:00
Marin Treselj
eaa00ea2c8 Change id to class in the main share template
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-08-14 22:24:00 +02:00
Marin Treselj
84b0790b99 Fixes nextcloud/gallery#269
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-08-14 22:21:42 +02:00
Morris Jobke
b31dfec9b8 Fix federation scope dropdown
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-14 22:15:49 +02:00
Morris Jobke
cafce87a78 Add buttom border for header
* allows to distinct the header from the rest of the UI for bright colors
* ref #5654

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-14 18:00:36 +02:00
Robin Appelman
5d2b6b8240 Merge pull request #6103 from nextcloud/swift-filter-dot-12
[12] Filter magic dot object when swift directory
2017-08-14 17:30:24 +02:00
Robin Appelman
e3166a601d Filter magic dot object when swift directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-14 15:40:25 +02:00
Nextcloud bot
99cef14c31 [tx-robot] updated from transifex 2017-08-14 00:08:31 +00:00
Nextcloud bot
4a140398a9 [tx-robot] updated from transifex 2017-08-13 00:08:23 +00:00
Nextcloud bot
ee73ddd8a9 [tx-robot] updated from transifex 2017-08-12 00:08:28 +00:00
Nextcloud bot
aa51202d98 [tx-robot] updated from transifex 2017-08-11 00:08:30 +00:00
Morris Jobke
27f44b4600 Merge pull request #6067 from nextcloud/stable12-5981-fix-preview-of-theming
[stable12] Fix preview of theming
2017-08-10 21:01:01 +02:00
Morris Jobke
36d6a24402 Merge pull request #6061 from nextcloud/stable12_6052
[stable12] Fix copy from jailed storage
2017-08-10 13:57:18 +02:00
Daniel Calviño Sánchez
0b1dab14ca Fix preview of theming
Pull request #5584 made cached SCSS files depend on a hash of the base
URL, so the "/css/core/server.css" file does no longer exist; as the
file can not be loaded the "Loading preview" message is never removed
and the "Saved" message is never shown.

As it now depends on the hash of the base URL the file to be reloaded
can no longer be hardcoded, so the full URL to the "server.css" file
that has to be reloaded (if any) is now got from the DataResponse
provided by the controller.

Fixes #5975

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:45:31 +02:00
Daniel Calviño Sánchez
364b1b4a20 Refactor reloadStylesheets to receive absolute URLs
This is a preparatory step for a following change in which
reloadStylesheets will have to be able to receive absolute URLs.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:45:31 +02:00
Daniel Calviño Sánchez
5b0d7056e8 Provide "server.css" URL in ThemingController response
Pull request #5584 made cached SCSS files depend on a hash of the base
URL, so the "/css/core/server.css" file does no longer exist. The
"server.css" URL must be known by the Theming app in order to update the
stylesheets when previewing the changes to the theme, so the
DataResponse from the controller now provides the full URL to the
"server.css" file that has to be reloaded (if any).

The "server.css" URL provided by the response will be taken into account
by the JavaScript front-end in a following commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:44:49 +02:00
Daniel Calviño Sánchez
e883061f58 Split updateStylesheet tests for success and error
This is a preparatory step for a following commit in which the
properties present in the response will change depending on whether the
request was successful or not.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:42:42 +02:00
Daniel Calviño Sánchez
8d93a0db8a Unify DataResponse format with its uses in the rest of the file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:42:42 +02:00
Daniel Calviño Sánchez
0b00d770fe Add acceptance tests for setting the color in the Theming app
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:42:29 +02:00
Daniel Calviño Sánchez
340a774fe2 Add getter for the timeout multiplier
In some cases the acceptance tests have to explicitly wait for something
to happen without using the "find" method from the actor; in those cases
the timeout multiplier needs to be taken into account too, so the test
cases must be able to retrieve it from the actor.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-10 13:34:38 +02:00
Roeland Jago Douma
745ad2f323 Fix copy from jailed storage
If we have a jailed storage we must also fix the internal path on copy.
Else we pass in the wrong path.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-10 08:07:00 +02:00
Nextcloud bot
79f4b8566b [tx-robot] updated from transifex 2017-08-10 00:08:24 +00:00
Morris Jobke
d9301a5b07 Fix redis-cluster support on drone
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-09 23:04:29 +02:00
Morris Jobke
2e115921a0 Update syntax to drone 0.8
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-09 12:30:25 +02:00
Nextcloud bot
72029627fc [tx-robot] updated from transifex 2017-08-09 00:08:30 +00:00
Morris Jobke
cd095bb0b8 Merge pull request #5978 from nextcloud/12-5908
[stable12] Add css class for toogle preview icon
2017-08-08 19:23:35 +02:00
Morris Jobke
c78a209e72 Merge pull request #5979 from nextcloud/12-5738
[stable12] Improve spelling in LDAP
2017-08-08 19:23:12 +02:00
Morris Jobke
39d1428ab3 Merge pull request #6008 from nextcloud/stable12-5969-fix-vertical-alignment-of-loading-icon-and-status-message-in-theming-app
[stable12] Fix vertical alignment of loading icon and status message in Theming app
2017-08-08 18:42:31 +02:00
Morris Jobke
3f8e3fbb6b Merge pull request #5946 from nextcloud/12-5897
[stable12] Send an email once a file/folder is shared with a user
2017-08-08 16:36:46 +02:00
Morris Jobke
e11dcfcf9e Merge pull request #5966 from nextcloud/backport-oracle
[stable12] Fix oracle db
2017-08-08 16:34:25 +02:00
Morris Jobke
c119f66e75 Merge pull request #5937 from nextcloud/backend-can-be-wrong---sometimes
display error icon on non-success
2017-08-08 16:18:56 +02:00
Morris Jobke
2abc49968e Merge pull request #5914 from nextcloud/12-5913
[stable12] Fix anchor name for federated sharing settings
2017-08-08 10:41:47 +02:00
Morris Jobke
bf4283bce8 Merge pull request #5945 from nextcloud/stable12_5836
[stable12] Empty search no longer works
2017-08-08 10:41:05 +02:00
Morris Jobke
bcea6a041f Merge pull request #5984 from nextcloud/stable12-reopen-stable12-theming-lightness-correction
[stable12] Use same lightness calculation as the SCSS compiler for theming
2017-08-08 10:40:37 +02:00
Morris Jobke
3313c682bf Merge pull request #5925 from derkostka/patch-1
[stable12] Removed cast to integer in getSize
2017-08-08 10:40:09 +02:00
Joas Schilling
cb4c37498d Merge pull request #6001 from nextcloud/backport-5695-dont-throw-when-table-is-missing
[stable12] Don't throw an error when the table doesn't exist
2017-08-08 10:30:45 +02:00
Nextcloud bot
75d5989a8b [tx-robot] updated from transifex 2017-08-08 00:08:19 +00:00
Daniel Calviño Sánchez
c91e39a4ca Fix code style
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-07 15:01:06 +02:00
Daniel Calviño Sánchez
bb96c79bc7 Remove superfluous selector part
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-07 15:01:05 +02:00
Daniel Calviño Sánchez
6fe6c0545e Align vertically loading icon and status message
As both elements are inline/inline-block and belong to the same line
they can be aligned vertically using "vertical-align: middle".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-07 15:01:05 +02:00
Daniel Calviño Sánchez
21ad25465d Do not use the same rules for loading icon than for upload icon
When an image is being uploaded the upload icon is replaced by a loading
icon, so the loading icon and the upload icon have to share their CSS
rules, but only in that specific case; in general the loading icon is
used in a totally different way than the upload icon and thus it should
not share its CSS rules.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-07 14:58:05 +02:00
Daniel Calviño Sánchez
4dd8c4b538 Remove ignored rules
The removed rules were either always overriden by other rules or never
used due to not matching any element.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-07 14:43:57 +02:00
Joas Schilling
0476de0674 Don't throw an error when the table doesn't exist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-07 09:43:45 +02:00
Lukas Reschke
bfca9fbf11 Merge pull request #5989 from nextcloud/final-version-bump-stable12
Bump version to 12.0.1.5
2017-08-06 20:25:21 +02:00
Nextcloud bot
06a9357a49 [tx-robot] updated from transifex 2017-08-06 00:08:33 +00:00
Lukas Reschke
3640898e80 Bump version to 12.0.5
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-05 12:59:53 +02:00
Nextcloud bot
b521ef1bf0 [tx-robot] updated from transifex 2017-08-05 00:08:19 +00:00
Julius Härtl
e0ce8a7640 Use same lightness calculation as the SCSS compiler for theming
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-04 15:39:56 +02:00
Lukas Reschke
b500f8fbe9 Merge pull request #5983 from nextcloud/revert-5977-stable12-theming-lightness-correction
Revert "[stable12] theming lightness correction"
2017-08-04 15:39:15 +02:00
Lukas Reschke
3474d73cae Revert "[stable12] theming lightness correction" 2017-08-04 15:38:56 +02:00
Lukas Reschke
9b57d33631 Merge pull request #5977 from nextcloud/stable12-theming-lightness-correction
[stable12] theming lightness correction
2017-08-04 15:38:08 +02:00
Lukas Reschke
0fabfaba69 Merge pull request #5976 from nextcloud/12.0.1rc5
v12.0.1RC5
2017-08-04 15:35:57 +02:00
Allan Nordhøy
ac977dd3a1 Improve spelling in LDAP
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-04 12:17:04 +02:00
Morris Jobke
1f189d6769 Add css class for toogle preview icon
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-04 12:15:51 +02:00
Julius Härtl
796f0f9333 Use same lightness calculation as the SCSS compiler for theming
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-04 12:13:33 +02:00
Lukas Reschke
4805ea24ad v12.0.1RC5
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-04 11:11:10 +02:00
Nextcloud bot
91b6d903f7 [tx-robot] updated from transifex 2017-08-04 00:08:27 +00:00
Joas Schilling
3a111adc33 Add a method to compare empty strings with an expression
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:41:03 +02:00
Joas Schilling
4f31860fd6 Fix repair step for oracle...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:54 +02:00
Joas Schilling
d6e902fd03 Fix last failures with oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:46 +02:00
Joas Schilling
ae55fefcf6 Fix querybuilder and functionbuilder tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:35 +02:00
Joas Schilling
bb30b876ae Fix ILIKE regex for oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:26 +02:00
Joas Schilling
c9430fbb77 Fix auth provider
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:17 +02:00
Joas Schilling
54a4aa9315 Use selectAlias()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:10 +02:00
Joas Schilling
d6b888461d Can not insert auto increment on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:40:00 +02:00
Joas Schilling
18ba973c13 Fix missing escape on column and table name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:39:51 +02:00
Joas Schilling
5d7cab245f Fix clob comparison
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:39:41 +02:00
Joas Schilling
ee51c49bd7 Allow to specify the table space on occ
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:39:33 +02:00
Joas Schilling
5eef54c636 Quote aliases as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:39:21 +02:00
Joas Schilling
daa3cfcb70 Oracle does not support PDO::FETCH_KEY_PAIR
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-03 16:37:06 +02:00
Nextcloud bot
690ef25928 [tx-robot] updated from transifex 2017-08-03 00:08:15 +00:00
Morris Jobke
cf16087585 Disable default activity email for incoming shares
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-02 20:57:12 +02:00
Nextcloud bot
ecc82fc1e6 [tx-robot] updated from transifex 2017-08-02 00:08:21 +00:00
Morris Jobke
1ef19bb0ec Send an email once a file/folder is shared with a user
* only if user has set an email address
* only for user shares (no group shares for now)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-01 15:17:32 +02:00
Roeland Jago Douma
e73f46e344 Empty search no longer works
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 13:29:17 +02:00
Maxence Lange
e34114072e now, with less CSS
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-08-01 03:23:58 +02:00
Nextcloud bot
9f346fecf1 [tx-robot] updated from transifex 2017-08-01 00:08:35 +00:00
Maxence Lange
e62363275d display error icon on non-success
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-31 15:22:25 +02:00
Nextcloud bot
b3e2f57f98 [tx-robot] updated from transifex 2017-07-31 00:08:12 +00:00
Lukas Reschke
0a369747a0 Merge pull request #5924 from nextcloud/12.0.1rc4
12.0.1RC4
2017-07-30 15:39:19 +02:00
Nextcloud bot
a6499afb5b [tx-robot] updated from transifex 2017-07-30 00:08:13 +00:00
Sebastian Kostka
09b120c6da [Stable 12] Removed cast to integer in getSize
Fixes - Wrong or no sizes of files/folders #5031 for 32-bit systems a direct cast to integer causes problems.
Backport from #5744

Signed-off-by: Sebastian Kostka <sebastian.kostka@gmail.com>
2017-07-29 07:40:13 +02:00
Nextcloud bot
820a74e71b [tx-robot] updated from transifex 2017-07-29 00:08:40 +00:00
Lukas Reschke
4b325da037 12.0.1RC4
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-28 16:03:36 +02:00
Lukas Reschke
7425316b29 Merge pull request #5919 from nextcloud/add-brackets-on-concat-method
Add brackets around concat statements so comparing the result works a…
2017-07-28 15:35:49 +02:00
Joas Schilling
b8bd5808e8 Add brackets around concat statements so comparing the result works as intended
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-28 11:34:35 +02:00
Morris Jobke
635dc7e08c Fix anchor name for federated sharing settings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-28 08:23:06 +02:00
Nextcloud bot
ee4804b1da [tx-robot] updated from transifex 2017-07-28 00:08:14 +00:00
Morris Jobke
2476a5f0e3 Merge pull request #5902 from nextcloud/oc-migration
Add a repair step to drop the account_terms table on oc migration
2017-07-27 17:25:21 +02:00
Morris Jobke
2f153fe4e6 Merge pull request #5896 from nextcloud/12-5895
[stable12] Fix show password button for password change
2017-07-27 13:26:17 +02:00
Joas Schilling
690efbd4eb Use the existing array of OC versions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-27 12:30:24 +02:00
Lukas Reschke
4b58eccf61 This is RC3
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-27 11:49:16 +02:00
Joas Schilling
d06d86a719 Add a repair step to drop the account_terms table on oc migration
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-27 11:38:55 +02:00
Nextcloud bot
569892d3c0 [tx-robot] updated from transifex 2017-07-27 00:08:13 +00:00
Morris Jobke
1f82223883 Fix show password button for password change
* fix the show password button on the personal page
* before: if the password change failed the show password icon was not shown again
* after: show password icon is visible

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 22:57:56 +02:00
Morris Jobke
2290255bb2 Merge pull request #5883 from nextcloud/12-5871
[stable12] Enable postgres on drone again
2017-07-26 22:31:20 +02:00
Lukas Reschke
7c0e1c4860 Merge pull request #5889 from nextcloud/stable12-overlay-on-show-password
fix overlay on show password
2017-07-26 16:55:34 +02:00
Morris Jobke
c929e3ad26 Merge pull request #5875 from nextcloud/stable12-edu-edition
[stable12] Add new bundle
2017-07-26 16:47:32 +02:00
Maxence Lange
c87002105d fix overlay on show password
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-26 16:18:57 +02:00
Morris Jobke
6b79d77dd2 Enable postgres on drone again
* use proper password

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 14:17:53 +02:00
Lukas Reschke
7568b04705 Add new bundle
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 11:47:15 +02:00
Nextcloud bot
2902677ccf [tx-robot] updated from transifex 2017-07-26 00:08:14 +00:00
Lukas Reschke
f386fbfe1e Merge pull request #5851 from nextcloud/make-it-rc2
v12.0.1 RC2
2017-07-25 10:28:17 +02:00
Nextcloud bot
79522f4078 [tx-robot] updated from transifex 2017-07-25 00:08:13 +00:00
Lukas Reschke
886a8d12c3 v12.0.1 RC2
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-24 16:16:57 +02:00
Morris Jobke
aea95e48f8 Merge pull request #5858 from nextcloud/12-5850
[stable12] proper logo height in emails for Outlook
2017-07-24 16:16:16 +02:00
Morris Jobke
f45e4471f0 Remove unneeded styles
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-24 13:46:17 +02:00
Lukas Reschke
3353dbfab4 Adjust to height=120
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-24 13:46:09 +02:00
Nextcloud bot
65dba8a558 [tx-robot] updated from transifex 2017-07-24 00:08:13 +00:00
Roeland Jago Douma
4ec8cac3ec Merge pull request #5830 from nextcloud/12-5812
[stable12] Fix for mb strlen
2017-07-23 14:05:17 +02:00
Georg Ehrke
7b113bb18a Sabre/VObject returns DateTimeImmutable, not a simple DateTime
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-07-23 09:36:35 +02:00
Georg Ehrke
702d13cc79 don't send invitation emails for past events
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-07-23 09:36:24 +02:00
Nextcloud bot
12590bf3d8 [tx-robot] updated from transifex 2017-07-23 00:08:07 +00:00
Robin Appelman
13831085c3 add tests for renaming paths with multibyte utf8 characters
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-22 11:10:37 +02:00
Artem Kochnev
3d54cef078 Fix for mb strlen
Error with moving files with long names in UTF-8
2017-07-22 11:10:25 +02:00
Nextcloud bot
f91d6624cd [tx-robot] updated from transifex 2017-07-22 00:08:16 +00:00
Morris Jobke
2663aa253e Merge pull request #5826 from nextcloud/12-backport-5821
[stable12] Fix error message on untrusted domain error page
2017-07-21 23:35:46 +02:00
Morris Jobke
816f1e63e9 Merge pull request #5757 from nextcloud/mount-rename-12
[12]  Fix renaming of non-renamble mounts
2017-07-21 23:30:42 +02:00
Morris Jobke
111844e7b1 Fix error message on untrusted domain error page
Fixes #5347

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-21 16:16:48 +02:00
Morris Jobke
c6e3368af7 Merge pull request #5786 from nextcloud/path-repair-steps-storage-12
[12] Also repair storage id's when repairing invalid entries
2017-07-21 14:03:38 +02:00
Roeland Jago Douma
73b293fa6a Merge pull request #5754 from nextcloud/fed-unshare-fail-remote-12
[12] still remove the federated share even if we cant notify the remote
2017-07-21 12:46:31 +02:00
Roeland Jago Douma
4165d5bca6 Merge pull request #5792 from nextcloud/stable12-prevent-php7.2-usage
[stable12] Show warning if PHP 7.2 is used
2017-07-21 12:38:34 +02:00
Roeland Jago Douma
d338869257 Merge pull request #5805 from nextcloud/fix-public-links-stable12
[stable12] fix preview for public links
2017-07-21 11:02:02 +02:00
Lukas Reschke
091cba8374 Show warning if PHP 7.2 is used
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-21 09:40:47 +02:00
Nextcloud bot
9fe53e2649 [tx-robot] updated from transifex 2017-07-21 00:08:16 +00:00
Morris Jobke
fd25265849 Merge pull request #5807 from nextcloud/12-backport-5790
[stable12] Fix config.sample.php documentation
2017-07-20 22:38:15 +02:00
Björn Schießle
c9624d2695 Merge pull request #5630 from nextcloud/add-recovery-key-on-public-upload-stable12
[stable12] Add recovery key on public upload
2017-07-20 14:27:57 +02:00
Roeland Jago Douma
07ebc7b1c3 Merge pull request #5759 from nextcloud/backport-translations-stuff-12
[stable12] Backport translation fixes
2017-07-20 14:25:11 +02:00
Morris Jobke
ad1c6a0fc2 Merge pull request #5804 from nextcloud/12-backport-5800
[stable12] Enable acceptance tests again on Drone 0.7
2017-07-20 13:07:59 +02:00
Morris Jobke
bf79293e13 Fix config.sample.php documentation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-20 12:32:46 +02:00
Bjoern Schiessle
fff804c39e make sure that we always have a owner
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:43:39 +02:00
Bjoern Schiessle
f7a2b96507 Add recovery key on public upload
In order to decide if a recovery key needs to be added we always
need to check the files owner settings and not the settings of
the currently logged in user.

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:43:39 +02:00
Daniel Calviño Sánchez
6602455efc Enable acceptance tests again on Drone 0.7
Running the acceptance tests on Drone relied on the pod-style networking
used by services (service containers were available at 127.0.0.1 from
the build containers). However, in Drone 0.7 service and build
containers must be accessed from each other using their domain name
instead. Thus, acceptance tests had to be disabled on Drone.

Now that the acceptance test system supports setting a different domain
for the Selenium server and for the Nextcloud test server the acceptance
tests can be enabled again on Drone.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-20 11:33:03 +02:00
Daniel Calviño Sánchez
fcc1570789 Add option to acceptance test runner to set the Selenium server
By default "127.0.0.1:4444" is used, so nothing needs to be set when the
acceptance tests and the Selenium server share the same network (like
when called by "run.sh").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-20 11:32:58 +02:00
Daniel Calviño Sánchez
140b23f85f Add option to acceptance test runner to set the Nextcloud server domain
By default "127.0.0.1" is used, so nothing needs to be set when the
Selenium server and the Nextcloud test server share the same network
(like when called by "run.sh").

Besides passing the domain to the acceptance tests the Nextcloud test
server configuration must be modified to see the given domain as a
trusted domain; otherwise the access would be forbidden.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-20 11:32:54 +02:00
Daniel Calviño Sánchez
9722291454 Make possible to configure the domain for the Nextcloud test server
The NextcloudTestServerLocalHelper started the PHP built-in web server
for the Nextcloud test server at 127.0.0.1; as the Selenium server has
to access the Nextcloud test server they were forced to share the same
network. Now, the domain at which the PHP built-in web server is started
can be specified when the NextcloudTestServerLocalHelper is created,
which removes the need of sharing the same network, as the Selenium
server now can access the Nextcloud test server at an arbitrary domain.
However, by default "127.0.0.1" is still used if no domain is given.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-20 11:32:50 +02:00
Bjoern Schiessle
2634f77741 fix preview for public links
in case a user is already logged in on the same server from
which the public link comes from, we need to setup the owners
file system in order to show the preview

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:31:31 +02:00
Lukas Reschke
cd6afb6957 Merge pull request #5796 from nextcloud/backport-allow-to-theme-emails
[stable12] Backport allow to theme emails
2017-07-20 10:20:30 +02:00
Nextcloud bot
9cbdca60d2 [tx-robot] updated from transifex 2017-07-20 00:08:13 +00:00
Joas Schilling
c6f57fe22d Allow to overwrite the email template again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-19 17:59:12 +02:00
Joas Schilling
336ce139ae Merge pull request #5777 from nextcloud/app-menu-ellipsis-stable12
[stable 12] Add ellipsis for app titles in the app menu popover
2017-07-19 16:21:30 +02:00
Joas Schilling
fef3c61378 Merge pull request #5784 from nextcloud/backport-5745-12
[stable12] Fix emitting of legacy hook post_unshare
2017-07-19 15:06:16 +02:00
Morris Jobke
3e4685b851 Merge pull request #5782 from nextcloud/backport-5781-stable12
[stable12] Allow overwriting of IOS theming values
2017-07-19 12:37:29 +02:00
Robin Appelman
9c2dce34e9 Also repair storage id's when repairing invalid entries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-19 12:34:00 +02:00
Pauli Järvinen
22b29943ed Fix emitting of legacy hook post_unshare
- When a file was unshared, the legacy hook pre_unshare fired twice and the hook post_unshare did not fire at all. This was obviously a copy-paste error.

Signed-off-by: Pauli Järvinen <pauli.jarvinen@gmail.com>
2017-07-19 11:42:23 +02:00
Morris Jobke
ff9c5072f0 Add Android and iOS URLs to theming app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-19 10:57:38 +02:00
Roeland Jago Douma
235f4d614a Allow overwriting of IOS theming values
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-07-19 10:57:25 +02:00
Nextcloud bot
fad8b275f1 [tx-robot] updated from transifex 2017-07-19 00:08:32 +00:00
Morris Jobke
e00d5ab0be Merge pull request #5765 from nextcloud/update-3rdparty-12
Update 3rdparty for "Fix infinite propfinds reporting files as direct…
2017-07-18 23:13:32 +02:00
Roeland Jago Douma
3a9bc85976 Merge pull request #5771 from nextcloud/path-repair-steps-loop-12
[12] Fix invalid path repair step not getting all invalid entries
2017-07-18 22:23:22 +02:00
Morris Jobke
bcff249f2a Merge pull request #5762 from nextcloud/files-checker-12
[stable12] Add test to check if new files are added to the root of the repository
2017-07-18 21:12:53 +02:00
Marin Treselj
33637c89f7 Add ellipsis for app titles in the app menu popover
Backport of #5733

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-07-18 20:57:20 +02:00
Morris Jobke
01500f34b9 Add test to check if new files are added to the root of the repository
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-18 20:32:26 +02:00
Robin Appelman
c17b07667e Fix invalid path repair step not getting all invalid entries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-18 14:03:41 +02:00
Joas Schilling
6506508f2a Update 3rdparty for "Fix infinite propfinds reporting files as directories"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-18 10:07:50 +02:00
Allan Nordhøy
a91ce85fed : Bigversal 2017-07-18 09:12:37 +02:00
Allan Nordhøy
f29d8bda3e - your
This avoids it being «"access to your "the cloud"» or similar. Italicizing %s might be a middleground here.
2017-07-18 09:12:31 +02:00
Allan Nordhøy
8bc18a1b4d sent, an invitation, - successful 2017-07-18 09:12:24 +02:00
Allan Nordhøy
ee3c7fc8cb log out, : Bigversal 2017-07-18 09:12:07 +02:00
Allan Nordhøy
9eb5eebfad : Bigversal and LDAP 2017-07-18 09:11:56 +02:00
Allan Nordhøy
79e9f0a15b command-line, Consider narrowing 2017-07-18 09:11:45 +02:00
Allan Nordhøy
40eeaf4bb8 Spelling: Shortening and binding 2017-07-18 09:11:30 +02:00
Nextcloud bot
041e327a6c [tx-robot] updated from transifex 2017-07-18 00:08:12 +00:00
Robin Appelman
8bfa3922a3 fix parsing of dav permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-17 15:40:49 +02:00
Robin Appelman
d7620e3970 non movable mounts can not be moved
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-17 15:40:45 +02:00
Robin Appelman
e49b8959c4 still remove the federated share even if we cant notify the remote
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-17 14:21:22 +02:00
Lukas Reschke
515d83236b Merge pull request #5728 from nextcloud/bump-stable12-version
12.0.1RC1
2017-07-17 08:16:22 +02:00
Nextcloud bot
3fefa01709 [tx-robot] updated from transifex 2017-07-17 00:08:12 +00:00
Lukas Reschke
d928468524 12.0.1RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-16 11:13:42 +02:00
Nextcloud bot
0463ef7e3b [tx-robot] updated from transifex 2017-07-15 00:09:06 +00:00
Morris Jobke
81d785b680 Merge pull request #5730 from nextcloud/stable12-fix-drone
[stable12] fix drone for 0.7
2017-07-14 23:34:12 +02:00
Morris Jobke
d61fc0531f Temporarily disable acceptance and object storage tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-14 21:49:20 +02:00
Morris Jobke
239ff34f3d Fix drone
Fix service container host name
check current folder
fix redis for integration test
Fix more hostnames

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-14 13:02:16 +02:00
blizzz
b9d7c48acf Merge pull request #5711 from nextcloud/null-user-exist-12
[12] null users dont exist
2017-07-14 12:38:27 +02:00
Nextcloud bot
281e5eb8bc [tx-robot] updated from transifex 2017-07-14 00:08:47 +00:00
Morris Jobke
9a07f78480 Merge pull request #5710 from nextcloud/nested-permissions-mask-12
[12] Fix scan permissions with nested permissions masks
2017-07-13 23:42:15 +02:00
Morris Jobke
90972044b1 Merge pull request #5655 from nextcloud/moveFromCache-from-shared-12
[12] fix moving folders out of a cache jail
2017-07-13 16:35:57 +02:00
Robin Appelman
ce45f87699 null users dont exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 15:54:16 +02:00
Morris Jobke
61bac5637f Merge pull request #5697 from nextcloud/stable12-4984
Write cert bundle to tmp file first
2017-07-13 15:08:37 +02:00
Robin Appelman
5804dfc078 Fix scan permissions with nested permissions masks
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 14:37:09 +02:00
Robin Appelman
069df4c8cb chunk getting invalid paths and reuse queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 13:08:24 +02:00
Robin Appelman
95e17a8245 use a generator instead of fetching all rows at once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 13:08:24 +02:00
Robin Appelman
64d0a0ffc9 adjust to moved repair step
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 13:08:23 +02:00
Morris Jobke
d422875ae4 Run repair step only once
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-13 13:08:23 +02:00
Robin Appelman
92b14fa8c0 Add repair step for invalid paths
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 13:08:23 +02:00
Robin Appelman
996269cfdd fix moving folders out of a cache jail
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 13:08:23 +02:00
Morris Jobke
701a865db7 Merge pull request #5692 from nextcloud/upload-hidden-filelist-12
[12] properly block file upload to non-active filelist
2017-07-13 11:47:46 +02:00
Morris Jobke
7da78af4d4 Fix autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-13 11:47:35 +02:00
Nextcloud bot
a9b38c025f [tx-robot] updated from transifex 2017-07-13 00:08:42 +00:00
Roeland Jago Douma
fe7c907e8c Write cert bundle to tmp file first
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-07-12 20:21:27 +02:00
Robin Appelman
9e675dd8b1 fix test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-12 12:20:14 +02:00
Robin Appelman
d05f67b2f3 properly block file upload to non-active filelist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-12 12:20:10 +02:00
Roeland Jago Douma
38ee24d56b Merge pull request #5687 from nextcloud/jail-propagator-12
[12] Fix propagating changes within jail wrapper
2017-07-12 11:50:10 +02:00
Roeland Jago Douma
405d3ccbd7 Merge pull request #5463 from nextcloud/shared-cache-during-init-12
[12] dont die if we try to access the shared cache while setting up the shared storage
2017-07-12 11:18:49 +02:00
Morris Jobke
ac7997901b Merge pull request #5686 from nextcloud/backport-5520
hint should not be clickable
2017-07-12 10:44:31 +02:00
Nextcloud bot
05b03c173e [tx-robot] updated from transifex 2017-07-12 00:08:54 +00:00
Morris Jobke
48351b4778 Merge pull request #5484 from nextcloud/fix-if-circles-is-deleted
Check if Circles is still here
2017-07-11 23:42:30 +02:00
Maxence Lange
02baa45898 wrong call
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-11 20:21:06 +02:00
Maxence Lange
7464996c56 verify that circles is installed
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-11 20:21:06 +02:00
Robin Appelman
2f7d0bbb18 Fix propagating changes within jail wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-11 19:20:51 +02:00
Maxence Lange
51107da4f4 hint should not be clickable
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-11 18:14:29 +02:00
Lukas Reschke
ce59546344 Merge pull request #5435 from nextcloud/backport-5124-allow-dirlisting-with-unreadable-items
[stable12] Allow dir-listing also when one child is blocked by access control
2017-07-11 16:08:43 +02:00
Morris Jobke
e768426b11 Merge pull request #5679 from nextcloud/stable12-5656-fix-unselecting-items-on-multi-select-dropdowns
[stable12] Fix unselecting items on multi select dropdowns
2017-07-11 15:34:30 +02:00
Daniel Calviño Sánchez
3a660a1b89 Enable the toggleSelect extension in multi-select dropdowns
The toggleSelect extension for Select2 makes possible to unselect items
in a multi-select dropdown by clicking on them; this behaviour should be
enabled in all the multi-select dropdowns used in the server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 13:02:09 +02:00
Daniel Calviño Sánchez
bf4913acb9 Add select2-toggleselect to the JavaScript files to load
"select2-toggleselect.js" provides an extension to Select2 that makes
possible to unselect items in a multi-select dropdown by clicking on
them. It seems that its load slipped through when moving things around
in commit 6a470e59356b8c52115fe2790666027f38977604; this commit adds it
to the JavaScript files to be loaded in the same position that it should
have had in that commit (based on how the other declarations were
moved).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 13:02:09 +02:00
Daniel Calviño Sánchez
00e0535aec Add acceptance tests for unselecting items in dropdown for tags
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 13:02:09 +02:00
Morris Jobke
ad7e6cfc9c Merge pull request #5670 from nextcloud/backport-5669-fix-remote-share-activity-emails
[stable12] Fix remote share activity emails
2017-07-11 12:21:30 +02:00
Daniel Calviño Sánchez
6cf19cc81a Extract app navigation elements to its own context
The app navigation is not exclusive to the Files app but a generic
component used by other apps too, so its locators and steps should be in
its own context.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 11:54:57 +02:00
Daniel Calviño Sánchez
b72aa998d6 Fix typo
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 11:48:19 +02:00
Morris Jobke
8fdd9dbb04 Merge pull request #5667 from nextcloud/5649-stable12
[stable12] fix alignment of radio button and its label in encryption settings
2017-07-11 11:31:41 +02:00
Morris Jobke
5fcf2d2bad Merge pull request #5665 from GitHubUser4234/ldap_password_renew_nc12fix_backport
[stable12] Ldap password renewal fixes for NC12
2017-07-10 15:03:31 +02:00
Roger Szabo
ff286cd131 Rectify variable $uid->$user
Signed-off-by: Roger Szabo <roger.szabo@web.de>
2017-07-10 18:38:30 +08:00
Joas Schilling
1ed251c6a9 Fix owner cloud id in unshare activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-10 12:28:45 +02:00
Joas Schilling
509bc4f1eb Fix activity emails for accept/decline of remote shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-10 12:28:32 +02:00
Arthur Schiwon
0a71c1ccd3 fix alignment of radio button and its label in encryption settings
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-07-10 11:02:16 +02:00
Roger Szabo
500d2a0e2e pass missing function parameter
Signed-off-by: Roger Szabo <roger.szabo@web.de>
2017-07-10 15:17:05 +08:00
Roger Szabo
b725738870 css for button adjustment for nc12
Signed-off-by: Roger Szabo <roger.szabo@web.de>
2017-07-10 15:16:55 +08:00
Roger Szabo
3e7a49e009 set needsPasswordReset flag correctly
Signed-off-by: Roger Szabo <roger.szabo@web.de>
2017-07-10 15:16:42 +08:00
Roger Szabo
28933322a2 suppress superflous php error on rejected password change
Signed-off-by: Roger Szabo <roger.szabo@web.de>
2017-07-10 15:16:12 +08:00
Nextcloud bot
28a37f04dc [tx-robot] updated from transifex 2017-07-10 00:08:51 +00:00
Nextcloud bot
0324993342 [tx-robot] updated from transifex 2017-07-09 00:08:41 +00:00
Nextcloud bot
f80159f52a [tx-robot] updated from transifex 2017-07-08 00:08:37 +00:00
Morris Jobke
a5182ab7c1 Merge pull request #5648 from nextcloud/backport-5483-png-files-for-activity-emails
[stable12] Use PNG icons for activity emails and ios client
2017-07-07 14:04:01 +02:00
Björn Schießle
8ad1123d5d Merge pull request #5458 from nextcloud/backport-5375-shared-folder-for-remote-shares
[stable12] Use the share_folder config for remote shares
2017-07-07 11:54:11 +02:00
Joas Schilling
a6bae8ac44 Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-07 11:16:54 +02:00
Joas Schilling
87e69b5510 Use PNG version of the icons for shipped activities
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-07 11:16:44 +02:00
Joas Schilling
43964d99ee Add a flag to allow checking if SVGs are okay
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-07 11:16:37 +02:00
Morris Jobke
36e3f3cc2a Merge pull request #5617 from nextcloud/backport-5615-fix-navigation-entries-for-group-restricted-apps
[stable12] Don't load navigation entries of restricted apps
2017-07-07 10:46:11 +02:00
Nextcloud bot
a1f3f1783e [tx-robot] updated from transifex 2017-07-07 00:08:35 +00:00
Joas Schilling
33252cda9e Adjust tests to the old settings menu
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-06 09:30:42 +02:00
Joas Schilling
596380a62f Merge pull request #5433 from nextcloud/backport-5185-admin-audit-chunking-spam
[stable12] Don't try to generate logs for chunking paths
2017-07-06 08:43:39 +02:00
Nextcloud bot
f2ac9c6582 [tx-robot] updated from transifex 2017-07-06 00:08:53 +00:00
blizzz
40e454021b Merge pull request #5619 from nextcloud/backport-5557-dont-log-passwords-on-dav-exceptions-either
[stable12] Don't log passwords on dav exceptions
2017-07-05 22:15:04 +02:00
Morris Jobke
2122cfce4b Merge pull request #5434 from nextcloud/backport-5404-translated-hint-password-policy
Use translated Hint instead of english error on password policy
2017-07-05 16:21:30 +02:00
Joas Schilling
79f6773ef9 Don't log passwords on dav exceptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 15:10:38 +02:00
Joas Schilling
20091a21c9 Don't load navigation entries of restricted apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 15:07:56 +02:00
Morris Jobke
5f0932a5a7 Merge pull request #5613 from nextcloud/stable12-5549
[stable12] Add info text about updates
2017-07-05 12:52:25 +02:00
Jos Poortvliet
68b6c3fca8 Update admin.php
add a note on our staged roll-out.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-05 11:40:26 +02:00
Joas Schilling
8b2d9251fd Merge pull request #5584 from nextcloud/stable12-5429
[stable12] Use base url for cache prefix and SCSS caching
2017-07-05 11:30:08 +02:00
Nextcloud bot
3db7bd196d [tx-robot] updated from transifex 2017-07-05 00:08:36 +00:00
Morris Jobke
29fdffb1af Merge pull request #5525 from nextcloud/stable12-5517
[stable12] Enhance the logging if the part file can not be renamed
2017-07-04 19:36:08 +02:00
Morris Jobke
e0b01f9cb5 Merge pull request #5601 from nextcloud/stable12-5460-5526
[stable12] Improved logging for object storage and trashbin
2017-07-04 17:37:45 +02:00
Morris Jobke
2459eb80a7 Improve logging of trash bin inconsistencies
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-04 11:14:59 +02:00
Robin Appelman
a277101133 improved logging of objectore errors
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-04 11:14:41 +02:00
Morris Jobke
0d7d00d681 Merge pull request #5583 from nextcloud/stable12-5450
[stable12] Fix more icon in apps menu on bright backgrounds
2017-07-04 11:01:12 +02:00
Nextcloud bot
b1e230a7b6 [tx-robot] updated from transifex 2017-07-04 00:08:34 +00:00
Nextcloud bot
2711dbb445 [tx-robot] updated from transifex 2017-07-03 00:08:31 +00:00
Julius Härtl
9fbae1a174 Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:36 +02:00
Julius Härtl
0c6e4edc19 Fix theming app to also use the prefix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Julius Härtl
d9f83bac0f Add tests and inject IRequest
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Julius Härtl
4c3b27da5c Do not open version file again
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Julius Härtl
3801c3aa3f Make cache and scss caching depend on the baseUrl
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Julius Härtl
9c1cfbe154 Fix more icon in apps menu on bright backgrounds
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:02:51 +02:00
Nextcloud bot
f02575db94 [tx-robot] updated from transifex 2017-07-02 00:08:23 +00:00
Nextcloud bot
4b6e5efd7e [tx-robot] updated from transifex 2017-07-01 00:08:38 +00:00
Nextcloud bot
c892043dc9 [tx-robot] updated from transifex 2017-06-30 00:08:35 +00:00
Nextcloud bot
af6e02976a [tx-robot] updated from transifex 2017-06-29 00:08:35 +00:00
Nextcloud bot
2767165d7f [tx-robot] updated from transifex 2017-06-28 00:08:28 +00:00
Nextcloud bot
d13010ed2b [tx-robot] updated from transifex 2017-06-27 00:08:26 +00:00
Nextcloud bot
31422c9c6e [tx-robot] updated from transifex 2017-06-26 00:08:40 +00:00
Nextcloud bot
5e22b33096 [tx-robot] updated from transifex 2017-06-25 00:08:27 +00:00
Nextcloud bot
33bc17564c [tx-robot] updated from transifex 2017-06-24 00:08:39 +00:00
Morris Jobke
8a0a09eb90 Enhance the logging if the part file can not be renamed
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-23 16:07:21 -05:00
Morris Jobke
8550fdf757 Merge pull request #5507 from derkostka/stable12
[stable12] Use realpath to obtain the webroot
2017-06-23 15:43:15 -05:00
Morris Jobke
cb9a6a81a4 Merge pull request #5521 from nextcloud/backport-5508-no-acitivity-before-login
[stable12] Don't create activities for email and password change before login
2017-06-23 11:23:50 -05:00
blizzz
0f7cb1fd65 Merge pull request #5509 from nextcloud/backport-5498-allow-to-force-a-language
[stable12] Allow to force a language and set it via the ocs api
2017-06-23 14:24:05 +02:00
Joas Schilling
7e714ae971 Don't create activities for email and password change before login
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-23 12:27:21 +02:00
Nextcloud bot
70afe8d03b [tx-robot] updated from transifex 2017-06-23 00:09:22 +00:00
Joas Schilling
11cb6991f2 Merge pull request #5511 from nextcloud/5491-stable12
[stable12] Create users in non default backends first
2017-06-22 14:11:43 +02:00
Joas Schilling
7257206bcf Create users in non default backends first
Most of the time, when people have multiple backends or add a
custom backend, they want to create the users there and not in
the default backend. But since that is registered first, users
were always created there.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-22 13:02:53 +02:00
Morris Jobke
b0b39368b2 Update autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-22 09:56:07 +02:00
Joas Schilling
aafb45456f Add unit tests for the new code
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-22 09:55:57 +02:00
Joas Schilling
4d18757a85 Allow to force a language and set it via the ocs api
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-22 09:54:39 +02:00
Sebastian Kostka
f0753cb56d [stable12] Use realpath to obtain the webroot
Use realpath to obtain the webroot - backport
Signed-off-by: Sebastian Kostka sebastian.kostka@gmail.com
2017-06-22 08:37:11 +02:00
Nextcloud bot
00256ee18e [tx-robot] updated from transifex 2017-06-22 00:08:46 +00:00
Morris Jobke
b150221fd0 Merge pull request #5489 from nextcloud/stable12-5061
[stable12] Fix example theme
2017-06-21 16:28:57 -05:00
Nextcloud bot
99d04b1917 [tx-robot] updated from transifex 2017-06-21 00:08:24 +00:00
Julius Härtl
1552924427 Move styles.css to server.css
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 19:29:10 +02:00
Morris Jobke
6f252aa04a Merge pull request #5480 from nextcloud/backport-5459-group-admins-change-settings
[stable12] Don't try to save the setting when its not an admin
2017-06-20 10:54:09 -05:00
Joas Schilling
8600ba725a Also allow group admins to toogle the storage location
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-20 10:54:05 +02:00
Joas Schilling
9ae715de75 Don't try to save the setting when its not an admin
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-20 10:53:26 +02:00
Nextcloud bot
0277400618 [tx-robot] updated from transifex 2017-06-20 00:08:51 +00:00
Robin Appelman
cbabc568db dont die if we try to access the shared cache while setting up the shared storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-19 14:00:52 +02:00
Robin Appelman
e76081e858 Revert "dont die if we try to access the shared cache while setting up the shared storage"
Revent accidental push

This reverts commit ed89034047.
2017-06-19 14:00:27 +02:00
Robin Appelman
64864bf654 dont die if we try to access the shared cache while setting up the shared storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-19 13:58:30 +02:00
Joas Schilling
b94a7a0ba3 Use the share_folder config for remote shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-19 10:21:56 +02:00
Nextcloud bot
deaa8b6885 [tx-robot] updated from transifex 2017-06-19 00:08:29 +00:00
Morris Jobke
c3b58918f1 Merge pull request #5442 from Bekcpear/stable12
Fix upload remaining time and uploadrate value
2017-06-17 18:32:47 -05:00
Morris Jobke
ab837da40b Merge pull request #5420 from nextcloud/stable12-appmenu-fixes
[stable12] App menu fixes
2017-06-17 18:28:59 -05:00
Nextcloud bot
0e608188d2 [tx-robot] updated from transifex 2017-06-17 00:08:36 +00:00
Yaojin Qian
d41d48bd43 Fix upload remaining time and uploadrate value
1. The upload remaining time is always 'a few second' whatever a big or a
small file uploading.
This commit fixes it. The `new Date().getMilliseconds()` only return a
three digits number. When time arrived the next second, the millisecond
start from ZERO again. So `new Date().getTime()` is the righe choice.
And remaining time variables shoule be initialized when the file starts
uploading, otherwise the remaining time of a new upload will always be
'Infinity years' until you refresh the page.

2. The unit of `data.bitrate` is bit, but the argument unit of
`humanFileSize` function is byte, so it should be divided by 8.

Signed-off-by: Yaojin Qian <i@ume.ink>
2017-06-16 22:03:28 +08:00
Joas Schilling
0c522aa040 Fix unit test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-16 10:47:56 +02:00
Joas Schilling
295a0c982c Allow dir-listing also when one child is blocked by access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-16 10:47:46 +02:00
Joas Schilling
e667b31df5 Use translated Hint instead of english error on password policy
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-16 10:44:46 +02:00
Joas Schilling
9c2c42c7cc Don't try to generate logs for chunking paths
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-16 10:42:07 +02:00
Nextcloud bot
3cb59ac602 [tx-robot] updated from transifex 2017-06-16 00:08:53 +00:00
Morris Jobke
3040eaefc7 Merge pull request #5428 from nextcloud/5384-stable12
[stable12] Allow to find local users by their email address
2017-06-15 12:53:34 -05:00
Joas Schilling
cdd4a75c17 Backport of #5384 to stable12
Allow to find local users by their email address

Signed-off-by: Joas Schilling <coding@schilljs.com>

Make sure to only add system users once

Signed-off-by: Joas Schilling <coding@schilljs.com>

Add unit test

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-15 19:23:31 +02:00
Morris Jobke
20d994f21d Merge pull request #5422 from nextcloud/5190-stable12
[stable12] Treat PHP Errors on User session regenerate
2017-06-15 10:20:12 -05:00
Lukas Reschke
c93cad74f9 Merge pull request #5210 from nextcloud/ldap-attempt-reconnect-stable12
[stable12] Ldap attempt reconnect stable12
2017-06-15 13:29:42 +02:00
Arthur Schiwon
2ffdfeec28 Forward port of #5190 to stable12
Treat PHP Errors on User session regenerate

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

remove unnecessary lines…

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

change PHP errors to ErrorException in the session (PHP >=7)

Otherwise it might be that authentication apps are being disabled on
during operation while in fact the session handler has hiccup.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-15 11:18:22 +02:00
Julius Härtl
02a63e9428 Show at least 8 icons, don't use percentage on mobile
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-15 10:55:17 +02:00
Patrik Kernstock
073d5dbc85 Decimal percentage, dynamic appIcon width
Signed-off-by: Patrik Kernstock <info@pkern.at>
2017-06-15 10:55:11 +02:00
Patrik Kernstock
6acabd64ca Now using dynamic percentual appmenu limit
Signed-off-by: Patrik Kernstock <info@pkern.at>
2017-06-15 10:55:04 +02:00
Patrik Kernstock
d44786e9b7 Closed #5121, remove appmenu limit
Signed-off-by: Patrik Kernstock <info@pkern.at>
2017-06-15 10:54:51 +02:00
Morris Jobke
aeb80e0f57 Merge pull request #5301 from nextcloud/bugfix-stable12/noid/fix_proppatch_requests_to_groupshares
[stable12] allow users to send PropPatch request when calendar is group-shared with them
2017-06-14 23:11:18 -05:00
Morris Jobke
c20faa1c98 Merge pull request #5299 from nextcloud/bugfix-stable12/4885/calendar_shares_url_special_char_issue
[stable12] urldecode group principals in Cal- and CardDAV backend
2017-06-14 23:10:19 -05:00
Nextcloud bot
1965889fc8 [tx-robot] updated from transifex 2017-06-15 00:08:52 +00:00
Morris Jobke
ec89aaa67a Merge pull request #5416 from nextcloud/stable12-5392
[stable12] Use the guest.css for the maintenance page as well
2017-06-14 18:04:06 -05:00
Morris Jobke
11d9722474 Merge pull request #5397 from nextcloud/stable12-5072
[stable12] Fixed a crash caused by Local::copyFromStorage() not conforming to Co…
2017-06-14 11:30:38 -05:00
Morris Jobke
b911033e7a Merge pull request #5026 from nextcloud/filename-input-tooltip-stable12
[stable12] Make file name input tooltip error text change
2017-06-14 11:29:03 -05:00
Morris Jobke
385317a344 Merge pull request #5401 from nextcloud/translate-oauth2
Translate OAuth2 in stable12
2017-06-14 11:22:56 -05:00
Morris Jobke
c603f54a1b Use the guest.css for the maintenance page as well
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-14 11:10:20 -05:00
Joas Schilling
ac8d9afcfe Merge pull request #5402 from nextcloud/stable12-fix/contactsmenu-l10n-search-placeholder
[stable12] Localize contacts menu search input placeholder
2017-06-14 14:45:15 +02:00
Joas Schilling
d07a661c94 Merge pull request #5386 from nextcloud/stable12-allow-to-share-to-local-users-via-email
[stable12] Prevent sending second WWW-Authenticate header
2017-06-14 14:24:01 +02:00
Christoph Wurst
aab5dd7d7e Localize contacts menu search input placeholder
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-06-14 11:52:52 +02:00
Joas Schilling
50ee4fba11 Translate OAuth2 in stable12
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-14 11:50:58 +02:00
Lukas Reschke
fbeb6659f8 Merge pull request #5362 from nextcloud/exclude-files-external-dir-from-encryption-stable12
[stable12] don't try to encrypt/decrypt the certificate bundle
2017-06-14 09:50:28 +02:00
Nextcloud bot
426a4c11d6 [tx-robot] updated from transifex 2017-06-14 00:08:49 +00:00
Morris Jobke
1d2c1cf579 Merge pull request #5296 from nextcloud/bugfix-stable12/5077/allow_proppatches_to_birthday_calendar
[stable12] allow PropPatch requests to contact_birthdays
2017-06-13 18:11:54 -05:00
Michael Munger
513401bdb6 Fixed a crash caused by Local::copyFromStorage() not conforming to Common::copyFromStorage. Issue# 5071 2017-06-13 18:05:16 -05:00
Morris Jobke
d4eb5cfecb Merge pull request #5063 from nextcloud/backport-4969-activity-external-user-avatars
[stable12] Fix username and avatar for external users
2017-06-13 17:56:39 -05:00
Morris Jobke
4fec6dbf87 Merge pull request #5379 from nextcloud/stable12-5310-fix-tag-label-removed-when-share-view-is-opened
[stable12] Fix tag label removed when share view is opened
2017-06-13 17:32:55 -05:00
Morris Jobke
9f265007fe Merge pull request #5387 from nextcloud/backport-5367
[stable12] Fix unknown share token error message
2017-06-13 17:23:29 -05:00
Morris Jobke
9e402df41d Merge pull request #5388 from nextcloud/stable12-5378
[stable12] no themed icon when dragging folder
2017-06-13 17:23:02 -05:00
Morris Jobke
db83fb7e76 Merge pull request #5389 from nextcloud/stable12-5305
[stable12] Add quota to the files view
2017-06-13 17:22:39 -05:00
Morris Jobke
b2cd3107b8 Merge pull request #5382 from nextcloud/global-scale-settings-stable12
[stable12] fix "add to your nextcloud" input field
2017-06-13 14:43:02 -05:00
Morris Jobke
cd9fb8cdf0 Merge pull request #5385 from nextcloud/stable12-revert-5259
[stable12] Revert "allow admin to disable groups on personal page"
2017-06-13 14:38:38 -05:00
Morris Jobke
28f6104bc8 Do not show icon for quota bar
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-13 12:28:23 -05:00
Joas Schilling
f6d0b92c59 Remove unused element
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:28:20 -05:00
Morris Jobke
ef184c0b21 Put the quota bar to the bottom
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-13 12:28:16 -05:00
Joas Schilling
3ca3edd994 Adjust the unit test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:28:13 -05:00
Joas Schilling
41f107fd37 Remove the colored corners
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:28:09 -05:00
Joas Schilling
c691b6d299 Add an event so apps can add hidden fields to the files page
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:28:03 -05:00
Joas Schilling
901eca84b0 Only set the active item when there is one (not the case for quota)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:27:59 -05:00
Joas Schilling
b1ddc57e08 Content will come from the external app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:27:55 -05:00
Joas Schilling
27b2102d6c Remove useless translation and make it better on unlimited
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:27:51 -05:00
Jan-Christoph Borchardt
fe8450fcc9 Style quota entry in files view
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-06-13 12:27:47 -05:00
Joas Schilling
f1da30cc1e Add quota to the files view
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 12:27:43 -05:00
Patrik Kernstock
a292a4b778 Fix #5349, no themed icon when dragging folder
Signed-off-by: Patrik Kernstock <info@pkern.at>
2017-06-13 12:22:57 -05:00
Joas Schilling
49c71bdbcb Fix unknown share token
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 18:53:52 +02:00
Lukas Reschke
913758dc28 Prevent sending second WWW-Authenticate header
Overrides \Sabre\DAV\Auth\Backend\AbstractBearer::challenge to prevent sending a second WWW-Authenticate header which is standard-compliant but most DAV clients simply fail hard.

Fixes https://github.com/nextcloud/server/issues/5088

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-06-13 18:52:30 +02:00
Morris Jobke
c4b65ab5e2 Revert "allow admin to disable groups on personal page"
This reverts commit 28e1a9da6c.

See #5259
2017-06-13 11:17:48 -05:00
Bjoern Schiessle
751bc180cc fix 'add to your nextcloud' input field, this is not an email address
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-13 17:46:00 +02:00
Daniel Calviño Sánchez
c9bc521532 Extract toggle visibility of a SystemTagsInfoView to its own view
The SystemTagsInfoViewToggleView is a basic view that renders a label
that, when clicked, toggles the visibility of an associated
SystemTagsInfoView.

In order to keep the view parent agnostic its attachment and detachment
to/from the MainfFileInfoView is done in the FilesPlugin.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:21 +02:00
Daniel Calviño Sánchez
5985ecb66d Add visibility related methods
SystemTagsInfoView now provides public methods related to its visibility
in preparation to be used by external objects.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:21 +02:00
Daniel Calviño Sánchez
365d7918b2 Fix toggle element being removed when MainFileInfoView is rendered again
The toggle element was added to the MainFileInfoView element when
SystemTagsInfoView was rendered. However, if the MainFileInfoView was
rendered again after that the toggle element was removed. Therefore,
instead of adding it when SystemTagsInfoView is rendered, the toggle
element has to be added when MainFileInfoView triggers its "post-render"
event.

Note, however, that when MainFileInfoView is rendered all the events are
removed from its child elements. As the toggle uses a "click" event
either the event has to be added back or the element has to be detached
before the MainFileInfoView is rendered.

Fixes #4944

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:21 +02:00
Daniel Calviño Sánchez
2384703cf6 Trigger pre and post render events in MainFileInfoDetailsView
The post-render event makes possible to modify the
MainFileInfoDetailsView element once it has been rendered, which is
needed by OCA.SystemTags.FilesPlugin to add the "Tags" label to the file
details, while the pre-render event makes possible to detach added
elements if needed before the MainFileInfoDetailsView is rendered again,
as that removes the events from the child DOM elements even if they
belong to other views.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:20 +02:00
Daniel Calviño Sánchez
706106408c Make possible to know the registered detail views in a details view
In some cases, an app may need to act on a detail view registered by
another app or the core, for example, to add extra elements to the
element of the detail view.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:20 +02:00
Daniel Calviño Sánchez
bd626a9faa Extract duplicated code to a method
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:20 +02:00
Daniel Calviño Sánchez
f822e3af4d Add acceptance tests for showing the input field for tags
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-13 16:41:20 +02:00
Morris Jobke
4c56414cab Merge pull request #5365 from nextcloud/backport-5343
[stable12] filter missing groups in share provider
2017-06-13 08:04:59 -05:00
Joas Schilling
f6264ad6c4 Merge pull request #5303 from nextcloud/fix_5047-nc12
[stable12] use the email address configured in Nextcloud as sender instead of the users email address
2017-06-13 12:19:56 +02:00
Robin Appelman
86c749349e filter missing groups in share provider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-13 10:54:02 +02:00
Joas Schilling
bd444c4951 Merge pull request #5354 from nextcloud/backport-5315-stable12
[stable12] execute eval in global scope, addresses #5314
2017-06-13 10:41:36 +02:00
Joas Schilling
eb22d392d8 Merge pull request #5355 from nextcloud/stable12-5167
[stable12] l10n improvements from transifex
2017-06-13 10:20:26 +02:00
Bjoern Schiessle
4d84249ab7 don't try to encrypt/decrypt the certificate bundle
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-13 10:07:55 +02:00
Morris Jobke
7db495a246 Merge pull request #5120 from nextcloud/backport-5118-use-language-of-recipient-not-admin
[stable12] Use the language of the recipient not the actor
2017-06-12 22:31:08 -05:00
Nextcloud bot
e0d8b17b20 [tx-robot] updated from transifex 2017-06-13 00:08:32 +00:00
Morris Jobke
a4cba7df69 Merge pull request #5272 from nextcloud/stable12-5271
[stable12] Also use IMailer interface to generate the email template
2017-06-12 17:51:07 -05:00
Morris Jobke
17bde8a79e Merge pull request #5353 from nextcloud/stable12-5344
[stable12] Remove the char because it breaks the export from transifex
2017-06-12 17:50:41 -05:00
rakekniven
e7e0d1b8a1 Update setupchecks.js
Fixed typo and removed doclink symbol.
Reported at transifex

Update util.php

Another l10n improvement from transifex.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-12 17:18:20 -05:00
Arthur Schiwon
d02bcfda86 execute eval in global scope, addresses #5314
unsure whether this is properly supported everywhere, injection is not an
option for us

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-12 23:37:20 +02:00
Lukas Reschke
86b4ebc457 Merge pull request #5352 from nextcloud/fix_running_only_dav_tests_stable12
[stable12] add missing parent::setUp that broke any other dav app test
2017-06-12 23:09:35 +02:00
Joas Schilling
9d98e5c49b Remove the char because it breaks the export from transifex
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-12 15:40:41 -05:00
Morris Jobke
0b5efcfaca Merge pull request #5324 from nextcloud/stable12-use-touch-icon-for-favicon-fb.png
[stable12] Theme image for favicon-fb.png
2017-06-12 15:28:42 -05:00
Lukas Reschke
d501b84c5a Fix tests
return is not defined

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-06-12 22:21:37 +02:00
Lukas Reschke
e475229204 Merge pull request #5320 from nextcloud/5122-stable12
[stable12] Fix ldap integration tests
2017-06-12 22:10:08 +02:00
Georg Ehrke
dba4935f24 urldecode group principals in Cal- and CardDAV backend
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-06-12 21:02:21 +02:00
Georg Ehrke
2cf8da830c add missing parent::setUp that broke any other dav app test
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-06-12 20:34:18 +02:00
Nextcloud bot
acda3a2403 [tx-robot] updated from transifex 2017-06-12 00:08:21 +00:00
Nextcloud bot
ea39d4feec [tx-robot] updated from transifex 2017-06-11 00:08:31 +00:00
Nextcloud bot
b11d197d52 [tx-robot] updated from transifex 2017-06-10 00:08:47 +00:00
Lukas Reschke
26fe83aad8 Theme image for favicon-fb.png
Fixes https://github.com/nextcloud/server/issues/5322

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-06-09 21:13:56 +02:00
Arthur Schiwon
b1820fa170 Backport of #5122 to stable12
add missing INotificationManager when creating User backend, LDAP
UserManager

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

Make IDE happy

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

add convenience script to run all tests at once

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-09 16:30:56 +02:00
Morris Jobke
5722afc1d7 Merge pull request #5123 from patschi/patch-2
[stable12] Backported Fix #5059
2017-06-08 20:07:25 -05:00
Nextcloud bot
6434305333 [tx-robot] updated from transifex 2017-06-09 00:08:34 +00:00
Robin Appelman
11ff813c8c Merge pull request #5285 from nextcloud/personal-sessions-renamwe-12
[12] reword sessions to security in personal settings
2017-06-08 12:09:14 +02:00
Bjoern Schiessle
86646a24d5 use the email address configured in Nextcloud as sender instead of the users email address
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-08 11:49:10 +02:00
Georg Ehrke
32674afd95 allow users to send PropPatch request when calendar is group-shared with them
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-06-08 09:29:07 +02:00
Georg Ehrke
01b6a3da86 allow PropPatch requests to contact_birthdays
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-06-08 08:05:46 +02:00
Nextcloud bot
d00c5886aa [tx-robot] updated from transifex 2017-06-08 00:08:37 +00:00
Morris Jobke
e7b5ba8cef Merge pull request #5291 from nextcloud/stable12-5287
[stable12] show input fields if they are not empty but disable them in global scale mode
2017-06-07 16:27:50 -05:00
Bjoern Schiessle
6e765ccf39 unify look of disabled display name / email address and the other input fields
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-07 11:43:31 -05:00
Bjoern Schiessle
ee53a2ed42 show input fields if they are not empty but disable them in global scale mode
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-07 11:43:27 -05:00
Morris Jobke
3ba2d6179a Merge pull request #5278 from nextcloud/stable12-5277
[stable12] Allow to change avatar when groups are disables
2017-06-07 11:42:21 -05:00
Morris Jobke
d866547805 Allow to change avatar when groups are disables
* password form overlaps upload button and doesn't allow to click it
* regression from #5259

Signed-off-by: Morris Jobke <hey@morrisjobke.de>

make sure that we always clear all floating rules after the user settings parts

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-07 11:30:56 -05:00
Morris Jobke
d08a6c74ab Merge pull request #5186 from nextcloud/backport-5126-email-change-spam
[stable12] Don't trigger activity when the email didn't change
2017-06-07 11:14:00 -05:00
Robin Appelman
4972f9409a reword sessions to security in personal settings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-07 14:36:47 +02:00
Nextcloud bot
85418640b3 [tx-robot] updated from transifex 2017-06-07 00:09:14 +00:00
Morris Jobke
952caf8f85 Also use IMailer interface to generate the email template
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-06 10:48:53 -05:00
Björn Schießle
f29d53f509 Merge pull request #5270 from nextcloud/stable12-5223
[stable12] Don't allow the user to set fields they can't see
2017-06-06 16:58:16 +02:00
Morris Jobke
3cacc05217 Merge pull request #5261 from nextcloud/disable-groups-on-personal-page-nc12
[stable12] allow admin to disable groups on personal page
2017-06-06 08:53:55 -05:00
Joas Schilling
b39dfe8eda adjust the test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-06 08:11:35 -05:00
Joas Schilling
a62b292dc5 Also cover the settings endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-06 08:11:31 -05:00
Joas Schilling
ce34db22d7 Don't allow the user to set fields they can't see
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-06 08:11:28 -05:00
Morris Jobke
477f4965ca Merge pull request #5266 from nextcloud/backport-5166-combine-apptokens-and-sessions
[stable12] combine apptokens and sessions
2017-06-06 08:03:04 -05:00
Morris Jobke
3cae858852 Update autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-06 08:01:52 -05:00
Joas Schilling
91de490b9e Bring back the description for app passwords
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-06 13:48:11 +02:00
Christoph Wurst
c3cd07ec15 Combine sessions and app passwords view into one single view
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-06-06 13:47:59 +02:00
Bjoern Schiessle
de809b4ac7 allow admin to disable groups on personal page
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-06 10:12:26 +02:00
Nextcloud bot
7ff205cf94 [tx-robot] updated from transifex 2017-06-06 00:08:55 +00:00
Nextcloud bot
413221bfe1 [tx-robot] updated from transifex 2017-06-05 00:08:38 +00:00
Nextcloud bot
cf3988e248 [tx-robot] updated from transifex 2017-06-04 00:08:39 +00:00
Nextcloud bot
5d6345ea4b [tx-robot] updated from transifex 2017-06-03 00:09:12 +00:00
Björn Schießle
52f6c22954 Merge pull request #5224 from nextcloud/useful-gs-settings-stable12
[stable12] add new config switched for the global scale architecture
2017-06-02 20:18:45 +02:00
Björn Schießle
a61aabea83 Merge pull request #5225 from nextcloud/no-client-info-without-firstrunwizard
Don't show client info, when the app is disabled
2017-06-02 18:09:54 +02:00
blizzz
2d15803a82 Merge pull request #5216 from nextcloud/5213-stable12
[stable12] Trigger changeUser hook only on real changes
2017-06-02 13:16:16 +02:00
blizzz
d2734c6dbe Merge pull request #5217 from nextcloud/5209-stable12
[stable12] fix install on mb4 enabled mariadb/mysql
2017-06-02 13:11:33 +02:00
Joas Schilling
777e7bbf53 Don't show client info, when the app is disabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-02 11:25:20 +02:00
Bjoern Schiessle
6e7ff24474 add new config switched for the global scale architecture
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-02 11:00:08 +02:00
Nextcloud bot
577ea59968 [tx-robot] updated from transifex 2017-06-02 00:08:40 +00:00
Arthur Schiwon
0d893f09c4 fix install on mb4 enabled mariadb/mysql
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-01 13:12:30 +02:00
Arthur Schiwon
c1f4191a77 emit changeUser only if there really was a change (quota, displayname)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-01 13:08:23 +02:00
Nextcloud bot
db22c42e78 [tx-robot] updated from transifex 2017-06-01 00:08:48 +00:00
Joas Schilling
bb583580d7 Merge pull request #5127 from nextcloud/backport-5090-fixing-missing-background-jobs-on-app-update
[stable12] Register the autoloading earlier so we can load the background jobs
2017-05-31 11:19:21 +02:00
Joas Schilling
ea9613efa0 Don't trigger activity when the email didn't change
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-31 11:17:11 +02:00
Nextcloud bot
99117349df [tx-robot] updated from transifex 2017-05-31 00:08:57 +00:00
Nextcloud bot
6ae58b6dcb [tx-robot] updated from transifex 2017-05-30 00:08:54 +00:00
Arthur Schiwon
2567a350f4 fix paging
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-30 00:53:32 +02:00
Arthur Schiwon
d017e3602b make sure used ldap connection resource is always up to date
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-30 00:53:27 +02:00
bline
41a2686fc6 moved to something a little less invasive. back to passing CR around.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-30 00:53:23 +02:00
bline
76ab41732a special case for controlPagedResultResponse. It would be nice if there was a generic way to pass by reference with call_user_func_array..
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-30 00:53:07 +02:00
Nextcloud bot
2d8ec64ee5 [tx-robot] updated from transifex 2017-05-29 00:08:44 +00:00
Nextcloud bot
df3efa4984 [tx-robot] updated from transifex 2017-05-28 00:08:24 +00:00
Nextcloud bot
2e223cd1dc [tx-robot] updated from transifex 2017-05-27 00:08:42 +00:00
Joas Schilling
628a98ed62 Register the autoloading earlier so we can load the background jobs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-26 12:53:33 +02:00
Patrik Kernstock
fd0c102f24 Backported Fix #5059 to stable12 by adding sanity checks before using var
Signed-off-by: Patrik Kernstock <info@pkern.at>
2017-05-26 12:16:46 +02:00
Joas Schilling
d8abc4c16c Use the language of the recipient not the actor
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-26 11:08:37 +02:00
Nextcloud bot
0ed02da5dd [tx-robot] updated from transifex 2017-05-26 00:08:26 +00:00
Nextcloud bot
13d1c95db1 [tx-robot] updated from transifex 2017-05-25 00:08:13 +00:00
Nextcloud bot
9055109243 [tx-robot] updated from transifex 2017-05-24 00:08:31 +00:00
Roeland Jago Douma
d00d96c902 Merge pull request #5073 from nextcloud/external-get-for-group-sql-type-12
[12] use the correct param type when getting external storages for groups
2017-05-23 22:39:34 +02:00
Robin Appelman
1e06e92bb0 use the correct param type when getting external storages for groups
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-23 16:49:59 +02:00
Roeland Jago Douma
7593fa3464 Merge pull request #5005 from nextcloud/bugfix-stable12/fix_replacing_4mbunicode_for_calendar_properties_table
[stable12] fix replacing of 4MB Unicode Chars in cal props table
2017-05-23 13:43:56 +02:00
Joas Schilling
ebf6c628ed Fix username and avatar for external users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-23 12:04:18 +02:00
Roeland Jago Douma
446559979c Merge pull request #5017 from nextcloud/stable12-5016
[stable12] Reset opcache if update is detected
2017-05-23 11:36:57 +02:00
Nextcloud bot
6e005e0ffa [tx-robot] updated from transifex 2017-05-23 00:08:39 +00:00
Lukas Reschke
98e26f8b5c Merge pull request #5015 from nextcloud/stable12-5014
[stable12] Update Opcache recommendation
2017-05-22 10:18:41 +02:00
Lukas Reschke
93eeb40136 v12.0.0.29
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-22 10:11:27 +02:00
Lukas Reschke
aee501a3bc Merge pull request #5025 from nextcloud/add-missing-version-requirement-to-oauth
Add missing version requirement to OAuth2 app
2017-05-22 10:10:22 +02:00
Phil Davis
ed61c437cd Make new file file tooltip error text change
Signed-off-by: Phil Davis <phil@jankaritech.com>
2017-05-22 13:03:32 +05:45
Phil Davis
db0b3bf42a Make rename file tooltip error text change
Signed-off-by: Phil Davis <phil@jankaritech.com>
2017-05-22 13:02:51 +05:45
Joas Schilling
21b6af3e1e Add missing version requirement to OAuth2 app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-22 09:01:34 +02:00
Morris Jobke
e0e814dfae Merge pull request #5020 from nextcloud/stable12-5009
[stable12] Update acceptance tests for issue #4921
2017-05-22 01:49:05 -05:00
Daniel Calviño Sánchez
424979c32e Update acceptance tests for issue #4921
Acceptance tests opened the details view by clicking on the middle of
the file row, but due to the changes made in issue #4921 that now opens
the file instead; this commit updates the acceptance tests to open the
details view through the "Details" item in the file actions menu.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-05-21 22:50:15 -05:00
Nextcloud bot
9325003a72 [tx-robot] updated from transifex 2017-05-22 00:08:32 +00:00
Morris Jobke
3c832f201f Reset opcache if update is detected
This even works if opcache_reset is in the disabled_functions php.ini setting.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-21 18:40:53 -05:00
Morris Jobke
9acc590a27 Update Opcache recommendation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-21 18:24:06 -05:00
Lukas Reschke
6d9a6f03fb Merge pull request #5008 from nextcloud/fix_scss_cache_12
Fix scss cache 12
2017-05-21 22:52:20 +02:00
Roeland Jago Douma
32ee610f45 Increase version
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-21 22:12:52 +02:00
Roeland Jago Douma
cf1f77537d Set SCSS dependencies to memcache on compile
Else when an upgrade happens we will recompile all the SCSS files all
the time (until the cache expires).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-21 22:12:47 +02:00
Lukas Reschke
b6f5e623bb v12.0.0
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-21 17:11:40 +02:00
Georg Ehrke
f75b56fc5d fix replacing of 4MB Unicode Chars in cal props table
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-05-21 13:27:16 +02:00
Morris Jobke
482805d16f Merge pull request #4982 from nextcloud/stable12-oauth-not-disable
[stable12] Mark OAuth app as always enabled
2017-05-20 19:12:24 -05:00
Nextcloud bot
fa47ed7979 [tx-robot] updated from transifex 2017-05-21 00:08:35 +00:00
Lukas Reschke
551a189ae8 Fix tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-20 17:15:19 -05:00
Morris Jobke
394023949e Merge pull request #4998 from nextcloud/fix-for-sharing-stable-12
fix for sharing stable12
2017-05-20 17:03:52 -05:00
Lukas Reschke
e23569ed68 Merge pull request #4996 from nextcloud/stable12-version
12.0.0RC3
2017-05-20 20:31:24 +02:00
Daniel Hansson
8817c65120 fix for sharing stable12
Signed-off-by: Daniel Hansson <daniel@techandme.se>
2017-05-20 17:15:14 +02:00
Lukas Reschke
e6683f4007 12.0.0RC3
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-20 14:21:47 +02:00
Nextcloud bot
df61c9e283 [tx-robot] updated from transifex 2017-05-20 00:08:37 +00:00
Lukas Reschke
4bf9df9cf1 [stable12] Mark OAuth app as always enabled
At the moment we don't support disabling the OAuth app

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-19 17:28:10 -05:00
Morris Jobke
697e14bf74 Merge pull request #4977 from nextcloud/rename-secure-drop-stable12
rename secure drop back to files drop
2017-05-19 17:06:07 -05:00
Morris Jobke
d37ac1862f Merge pull request #4980 from nextcloud/fix-missing-argument-2-getAppContainer
Fix missing argument 2 for Settings classes
2017-05-19 17:05:18 -05:00
Joas Schilling
fa95fb6862 Fix missing argument 2 for Settings classes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-19 22:30:55 +02:00
Bjoern Schiessle
c4dd1d970f rename secure drop back to files drop because of name collision with securedrop.org
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-05-19 21:58:01 +02:00
Lukas Reschke
ebd15f50d9 Merge pull request #4976 from nextcloud/stable12-4910
[stable12] Fix logo being too big on log in page
2017-05-19 21:56:11 +02:00
Lukas Reschke
6e2139f60e Merge pull request #4975 from nextcloud/stable12-4974
Fixes visible sidebar even if hidden is applied
2017-05-19 21:47:56 +02:00
Lukas Reschke
e0277fa9b7 Merge pull request #4973 from nextcloud/stable12-4972
Fix group restriction regression
2017-05-19 21:46:14 +02:00
Lukas Reschke
9e667d81bb 12.0.0RC2
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-19 21:19:07 +02:00
Julius Härtl
c190dfbe53 Scale logo only for custom ones
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-19 21:01:41 +02:00
Jan-Christoph Borchardt
053dffb169 Fix logo being too big on log in page, fix #4585
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-05-19 21:01:34 +02:00
Morris Jobke
5a6af19076 Fixes visible sidebar even if hidden is applied
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-19 13:05:57 -05:00
Morris Jobke
5fbfebac35 Fix group restriction regression
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-19 12:09:49 -05:00
Lukas Reschke
cc2d06606d Merge pull request #4957 from nextcloud/backport-4956-resource-loading-for-ever
[stable12] Stop infinit loop on invalid settings css/js file
2017-05-19 16:59:55 +02:00
Lukas Reschke
32558991a6 Merge pull request #4962 from nextcloud/backport-4905
Allow automatic DI for apps that don't register the container in app.php
2017-05-19 16:18:31 +02:00
Joas Schilling
aa83127686 Allow automatic DI for apps that don't register the container in app.php
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-19 13:49:36 +02:00
Lukas Reschke
90837b9175 Merge pull request #4949 from nextcloud/workaround-4948
Lowercase the scriptname again
2017-05-19 12:37:53 +02:00
Joas Schilling
8a570aebf6 Stop infinit loop on invalid settings css/js file
Don't try to find dirname of false...

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-19 11:40:10 +02:00
Nextcloud bot
e14bd212f7 [tx-robot] updated from transifex 2017-05-19 00:08:36 +00:00
Lukas Reschke
54b2286420 Lowercase the scriptname again
Ref https://github.com/nextcloud/server/issues/4948

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-19 01:57:26 +02:00
Lukas Reschke
94b9335936 12.0.0RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-19 00:59:46 +02:00
1598 changed files with 47410 additions and 18034 deletions

View File

@@ -1,7 +1,9 @@
pipeline:
clone:
clone:
git:
image: plugins/git
depth: 1
pipeline:
jsunit:
image: nextcloudci/jsunit:jsunit-5
commands:
@@ -13,14 +15,14 @@ pipeline:
matrix:
TESTS: jsunit
checkers:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- ./autotest-checkers.sh
when:
matrix:
TESTS: checkers
syntax-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
@@ -28,7 +30,7 @@ pipeline:
matrix:
TESTS: syntax-php5.6
syntax-php7.0:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
@@ -36,7 +38,7 @@ pipeline:
matrix:
TESTS: syntax-php7.0
syntax-php7.1:
image: nextcloudci/php7.1:php7.1-11
image: nextcloudci/php7.1:php7.1-15
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
@@ -44,7 +46,7 @@ pipeline:
matrix:
TESTS: syntax-php7.1
litmus-v1:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v1/script.sh
@@ -52,7 +54,7 @@ pipeline:
matrix:
TESTS: litmus-v1
litmus-v2:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v2/script.sh
@@ -60,7 +62,7 @@ pipeline:
matrix:
TESTS: litmus-v2
caldavtester-new-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@@ -69,7 +71,7 @@ pipeline:
matrix:
TESTS: caldavtester-new-endpoint
caldavtester-old-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@@ -78,7 +80,7 @@ pipeline:
matrix:
TESTS: caldavtester-old-endpoint
carddavtester-new-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@@ -87,7 +89,7 @@ pipeline:
matrix:
TESTS: carddavtester-new-endpoint
carddavtester-old-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@@ -96,7 +98,7 @@ pipeline:
matrix:
TESTS: carddavtester-old-endpoint
sqlite-php7.0-samba-native:
image: nextcloudci/samba-native-php7.0:samba-native-php7.0-1
image: nextcloudci/samba-native-php7.0:samba-native-php7.0-3
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
@@ -109,7 +111,7 @@ pipeline:
matrix:
TESTS: sqlite-php7.0-samba-native
sqlite-php7.0-samba-non-native:
image: nextcloudci/samba-non-native-php7.0:samba-non-native-php7.0-2
image: nextcloudci/samba-non-native-php7.0:samba-non-native-php7.0-4
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
@@ -135,7 +137,7 @@ pipeline:
matrix:
TESTS: sqlite-php7.0-webdav-apache
nodb-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
@@ -143,7 +145,7 @@ pipeline:
DB: NODB
PHP: 5.6
nodb-php7.0:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
@@ -151,7 +153,7 @@ pipeline:
DB: NODB
PHP: "7.0"
nodb-php7.1:
image: nextcloudci/php7.1:php7.1-11
image: nextcloudci/php7.1:php7.1-15
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
@@ -159,7 +161,7 @@ pipeline:
DB: NODB
PHP: 7.1
sqlite-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
@@ -167,7 +169,7 @@ pipeline:
DB: sqlite
PHP: 5.6
sqlite-php7.0:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
@@ -175,15 +177,16 @@ pipeline:
DB: sqlite
PHP: "7.0"
sqlite-php7.1:
image: nextcloudci/php7.1:php7.1-11
image: nextcloudci/php7.1:php7.1-15
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 7.1
mysql-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
@@ -191,7 +194,7 @@ pipeline:
DB: mysql
PHP: 5.6
postgres-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- sleep 10 # gives the database enough time to initialize
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@@ -200,7 +203,7 @@ pipeline:
DB: postgres
PHP: 5.6
mysqlmb4-php5.6:
image: nextcloudci/php5.6:php5.6-7
image: nextcloudci/php5.6:php5.6-8
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
when:
@@ -208,7 +211,7 @@ pipeline:
DB: mysqlmb4
PHP: 5.6
integration-capabilities_features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -217,7 +220,7 @@ pipeline:
matrix:
TESTS: integration-capabilities_features
integration-federation_features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -226,7 +229,7 @@ pipeline:
matrix:
TESTS: integration-federation_features
integration-auth:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -235,7 +238,7 @@ pipeline:
matrix:
TESTS: integration-auth
integration-maintenance-mode:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -244,9 +247,12 @@ pipeline:
matrix:
TESTS: integration-maintenance-mode
integration-ratelimiting:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- ./occ config:system:set redis host --value=cache
- ./occ config:system:set redis port --value=6379 --type=integer
- ./occ config:system:set redis timeout --value=0 --type=integer
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
- ./occ app:enable testing
@@ -256,7 +262,7 @@ pipeline:
matrix:
TESTS: integration-ratelimiting
integration-carddav:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -265,7 +271,7 @@ pipeline:
matrix:
TESTS: integration-carddav
integration-dav-v2:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -274,7 +280,7 @@ pipeline:
matrix:
TESTS: integration-dav-v2
integration-ocs-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -283,7 +289,7 @@ pipeline:
matrix:
TESTS: integration-ocs-v1
integration-sharing-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -292,7 +298,7 @@ pipeline:
matrix:
TESTS: integration-sharing-v1
integration-sharing-v1-part2:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -301,7 +307,7 @@ pipeline:
matrix:
TESTS: integration-sharing-v1-part2
integration-sharing-v1-part3:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -310,7 +316,7 @@ pipeline:
matrix:
TESTS: integration-sharing-v1-part3
integration-checksums-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -319,7 +325,7 @@ pipeline:
matrix:
TESTS: integration-checksums
integration-external-storage:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -328,7 +334,7 @@ pipeline:
matrix:
TESTS: integration-external-storage
integration-provisioning-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -337,7 +343,7 @@ pipeline:
matrix:
TESTS: integration-provisioning-v1
integration-tags:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -346,7 +352,7 @@ pipeline:
matrix:
TESTS: integration-tags
integration-caldav:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -355,7 +361,7 @@ pipeline:
matrix:
TESTS: integration-caldav
integration-comments:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -364,7 +370,7 @@ pipeline:
matrix:
TESTS: integration-comments
integration-favorites:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -373,7 +379,7 @@ pipeline:
matrix:
TESTS: integration-favorites
integration-provisioning-v2:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -382,7 +388,7 @@ pipeline:
matrix:
TESTS: integration-provisioning-v2
integration-webdav-related:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -391,7 +397,7 @@ pipeline:
matrix:
TESTS: integration-webdav-related
integration-sharees-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -400,7 +406,7 @@ pipeline:
matrix:
TESTS: integration-sharees-features
integration-sharees-v2-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -409,7 +415,7 @@ pipeline:
matrix:
TESTS: integration-sharees-v2-features
integration-setup-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- cd build/integration
- ./run.sh setup_features/setup.feature
@@ -417,7 +423,7 @@ pipeline:
matrix:
TESTS: integration-setup-features
integration-filesdrop-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -426,7 +432,7 @@ pipeline:
matrix:
TESTS: integration-filesdrop-features
integration-transfer-ownership-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -435,7 +441,7 @@ pipeline:
matrix:
TESTS: integration-transfer-ownership-features
integration-ldap-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- ./occ app:enable user_ldap
@@ -445,7 +451,7 @@ pipeline:
matrix:
TESTS: integration-ldap-features
integration-trashbin:
image: nextcloudci/integration-php7.0:integration-php7.0-3
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
@@ -454,29 +460,37 @@ pipeline:
matrix:
TESTS: integration-trashbin
acceptance-access-levels:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 allow-git-repository-modifications features/access-levels.feature
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-access-levels --selenium-server selenium:4444 allow-git-repository-modifications features/access-levels.feature
when:
matrix:
TESTS-ACCEPTANCE: access-levels
acceptance-app-files:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 allow-git-repository-modifications features/app-files.feature
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files --selenium-server selenium:4444 allow-git-repository-modifications features/app-files.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files
acceptance-login:
image: nextcloudci/php7.0:php7.0-7
acceptance-app-theming:
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 allow-git-repository-modifications features/login.feature
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-theming --selenium-server selenium:4444 allow-git-repository-modifications features/app-theming.feature
when:
matrix:
TESTS-ACCEPTANCE: app-theming
acceptance-login:
image: nextcloudci/integration-php7.0:integration-php7.0-6
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-login --selenium-server selenium:4444 allow-git-repository-modifications features/login.feature
when:
matrix:
TESTS-ACCEPTANCE: login
nodb-codecov:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- phpenmod xdebug
- TEST_SELECTION=NODB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
@@ -485,8 +499,9 @@ pipeline:
matrix:
TESTS: nodb-codecov
db-codecov:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- phpenmod xdebug
- TEST_SELECTION=QUICKDB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
@@ -495,8 +510,9 @@ pipeline:
matrix:
TESTS: db-codecov
object-store:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-16
commands:
- phpenmod xdebug
- TEST_SELECTION=PRIMARY-${OBJECT_STORE} ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
@@ -505,8 +521,9 @@ pipeline:
matrix:
TESTS: object-store
memcache-memcached:
image: nextcloudci/php7.0-memcached:php7.0-memcached-6
image: nextcloudci/php7.0-memcached:php7.0-memcached-8
commands:
- phpenmod xdebug
- service memcached restart
- ./autotest.sh sqlite tests/lib/Memcache/MemcachedTest.php
- wget https://codecov.io/bash -O codecov.sh
@@ -516,9 +533,10 @@ pipeline:
matrix:
TEST: memcache-memcached
memcache-redis-cluster:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-17
commands:
- sleep 10
- phpenmod xdebug
- sleep 20
- ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
@@ -565,6 +583,8 @@ matrix:
TESTS-ACCEPTANCE: access-levels
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files
- TESTS: acceptance
TESTS-ACCEPTANCE: app-theming
- TESTS: acceptance
TESTS-ACCEPTANCE: login
- TESTS: jsunit
@@ -621,7 +641,7 @@ services:
matrix:
ENABLE_REDIS: true
cache-cluster:
image: grokzen/redis-cluster
image: morrisjobke/redis-cluster
when:
matrix:
ENABLE_REDIS_CLUSTER: true
@@ -629,7 +649,9 @@ services:
image: postgres
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_PASSWORD=oc_autotest
- POSTGRES_PASSWORD=owncloud
tmpfs:
- /var/lib/postgresql/data
when:
matrix:
DB: postgres
@@ -640,6 +662,8 @@ services:
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysql
@@ -651,6 +675,8 @@ services:
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysqlmb4

View File

@@ -65,6 +65,10 @@ class Files extends Action {
* @param array $params
*/
public function create(array $params) {
if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) {
return;
}
$this->log(
'File created: "%s"',
$params,
@@ -96,6 +100,10 @@ class Files extends Action {
* @param array $params
*/
public function write(array $params) {
if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) {
return;
}
$this->log(
'File written to: "%s"',
$params,

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 32 32"><path fill="#000" d="M16 3C7.163 3 0 7.925 0 14s7.163 11 16 11c.5 0 .98-.032 1.47-.063L26 32v-9.406c3.658-2.017 6-5.12 6-8.595 0-6.076-7.164-11-16-11z"/></svg>

After

Width:  |  Height:  |  Size: 243 B

34
apps/comments/l10n/af.js Normal file
View File

@@ -0,0 +1,34 @@
OC.L10N.register(
"comments",
{
"Comments" : "Kommentare",
"Unknown user" : "Onbekende gebruiker",
"New comment …" : "Nuwe kommentaar…",
"Delete comment" : "Skrap kommentaar",
"Post" : "Plaas",
"Cancel" : "Kanselleer",
"Edit comment" : "Wysig kommentaar",
"[Deleted user]" : "[Geskrapte gebruiker]",
"No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
"More comments …" : "Nog kommentare …",
"Save" : "Bewaar",
"Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}",
"Error occurred while retrieving comment with id {id}" : "n Fout het voorgekom toe kommentaar met id {id} opgehaal is",
"Error occurred while updating comment with id {id}" : "n Fout het voorgekom toe kommentaar met id {id} bygewerk is",
"Error occurred while posting comment" : "n Fout het voorgekom toe kommentaar geplaas is",
"_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"],
"Comment" : "Kommentaar",
"You commented" : "U het kommentaar gelewer",
"%1$s commented" : "%1$s het kommentaar gelewer",
"{author} commented" : "{outeur} het kommentaar gelewer",
"You commented on %1$s" : "U het op %1$s kommentaar gelewer",
"You commented on {file}" : "U het op {lêer} kommentaar gelewer",
"%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
"{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
"A (now) deleted user mentioned you in a comment on “%s”" : "n (Nou) geskrapte gebruiker het u in n kommentaar op “%s” genoem",
"A (now) deleted user mentioned you in a comment on “{file}”" : "n (Nou) geskrapte gebruiker het u in n kommentaar op “{lêer}” genoem",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in n kommentaar op “%2$s” genoem",
"{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in n kommentaar oor “{lêer}” genoem"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -0,0 +1,32 @@
{ "translations": {
"Comments" : "Kommentare",
"Unknown user" : "Onbekende gebruiker",
"New comment …" : "Nuwe kommentaar…",
"Delete comment" : "Skrap kommentaar",
"Post" : "Plaas",
"Cancel" : "Kanselleer",
"Edit comment" : "Wysig kommentaar",
"[Deleted user]" : "[Geskrapte gebruiker]",
"No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
"More comments …" : "Nog kommentare …",
"Save" : "Bewaar",
"Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}",
"Error occurred while retrieving comment with id {id}" : "n Fout het voorgekom toe kommentaar met id {id} opgehaal is",
"Error occurred while updating comment with id {id}" : "n Fout het voorgekom toe kommentaar met id {id} bygewerk is",
"Error occurred while posting comment" : "n Fout het voorgekom toe kommentaar geplaas is",
"_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"],
"Comment" : "Kommentaar",
"You commented" : "U het kommentaar gelewer",
"%1$s commented" : "%1$s het kommentaar gelewer",
"{author} commented" : "{outeur} het kommentaar gelewer",
"You commented on %1$s" : "U het op %1$s kommentaar gelewer",
"You commented on {file}" : "U het op {lêer} kommentaar gelewer",
"%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
"{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
"A (now) deleted user mentioned you in a comment on “%s”" : "n (Nou) geskrapte gebruiker het u in n kommentaar op “%s” genoem",
"A (now) deleted user mentioned you in a comment on “{file}”" : "n (Nou) geskrapte gebruiker het u in n kommentaar op “{lêer}” genoem",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in n kommentaar op “%2$s” genoem",
"{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in n kommentaar oor “{lêer}” genoem"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -2,6 +2,7 @@ OC.L10N.register(
"comments",
{
"Comments" : "تعليقات",
"Unknown user" : "مستخدم غير معروف",
"New comment …" : "تعليق جديد",
"Delete comment" : "حذف التعليق",
"Post" : "ارسال",
@@ -18,12 +19,9 @@ OC.L10N.register(
"Comment" : "تعليق",
"You commented" : "قمت بكتابة تعليق",
"%1$s commented" : "%1$s كتب تعليق",
"You commented on {file}" : "علقت على {file}",
"%1$s commented on %2$s" : "%1$s كتب تعليق على %2$s",
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات",
"Type in a new comment..." : "اكتب تعليق جديد...",
"No other comments available" : "لا يوجد تعليقات أخرى متاحة",
"More comments..." : "مزيد من التعليقات...",
"{count} unread comments" : "{count} الرسائل الغير مقروءة",
"You commented on %2$s" : "انت قمت بكتابة تعليق على %2$s"
"{author} commented on {file}" : "{author} علّق على {file}",
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");

View File

@@ -1,5 +1,6 @@
{ "translations": {
"Comments" : "تعليقات",
"Unknown user" : "مستخدم غير معروف",
"New comment …" : "تعليق جديد",
"Delete comment" : "حذف التعليق",
"Post" : "ارسال",
@@ -16,12 +17,9 @@
"Comment" : "تعليق",
"You commented" : "قمت بكتابة تعليق",
"%1$s commented" : "%1$s كتب تعليق",
"You commented on {file}" : "علقت على {file}",
"%1$s commented on %2$s" : "%1$s كتب تعليق على %2$s",
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات",
"Type in a new comment..." : "اكتب تعليق جديد...",
"No other comments available" : "لا يوجد تعليقات أخرى متاحة",
"More comments..." : "مزيد من التعليقات...",
"{count} unread comments" : "{count} الرسائل الغير مقروءة",
"You commented on %2$s" : "انت قمت بكتابة تعليق على %2$s"
"{author} commented on {file}" : "{author} علّق على {file}",
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

View File

@@ -3,14 +3,14 @@ OC.L10N.register(
{
"Comments" : "Kommentare",
"Unknown user" : "Unbekannter Benutzer",
"New comment …" : "Neuer Kommentar ...",
"New comment …" : "Neuer Kommentar ",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[Gelöschter Benutzer]",
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginne die Diskussion!",
"More comments …" : "Weitere Kommentare ...",
"More comments …" : "Weitere Kommentare",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
@@ -19,16 +19,16 @@ OC.L10N.register(
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
"Comment" : "Kommentar",
"You commented" : "Von Dir kommentiert",
"%1$s commented" : "%1$s kommentiert",
"{author} commented" : "{author} kommentiert",
"%1$s commented" : "%1$s kommentierte",
"{author} commented" : "{author} kommentierte",
"You commented on %1$s" : "Du hast %1$s kommentiert",
"You commented on {file}" : "Du hast {file} kommentiert",
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Nutzer erwähnt dich in einem Kommentar zu \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Nutzer erwähnt dich in einem Kommentar zu “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s erwähnt Dich in einem Kommentar zu “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} erwähnt Dich in einem Kommentar zu “{file}”"
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu \"%s\" erwähnt",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu “{file}” erwähnt",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt ",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt "
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,14 +1,14 @@
{ "translations": {
"Comments" : "Kommentare",
"Unknown user" : "Unbekannter Benutzer",
"New comment …" : "Neuer Kommentar ...",
"New comment …" : "Neuer Kommentar ",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[Gelöschter Benutzer]",
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginne die Diskussion!",
"More comments …" : "Weitere Kommentare ...",
"More comments …" : "Weitere Kommentare",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
@@ -17,16 +17,16 @@
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
"Comment" : "Kommentar",
"You commented" : "Von Dir kommentiert",
"%1$s commented" : "%1$s kommentiert",
"{author} commented" : "{author} kommentiert",
"%1$s commented" : "%1$s kommentierte",
"{author} commented" : "{author} kommentierte",
"You commented on %1$s" : "Du hast %1$s kommentiert",
"You commented on {file}" : "Du hast {file} kommentiert",
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Nutzer erwähnt dich in einem Kommentar zu \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Nutzer erwähnt dich in einem Kommentar zu “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s erwähnt Dich in einem Kommentar zu “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} erwähnt Dich in einem Kommentar zu “{file}”"
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu \"%s\" erwähnt",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu “{file}” erwähnt",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt ",
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -3,14 +3,14 @@ OC.L10N.register(
{
"Comments" : "Kommentare",
"Unknown user" : "Unbekannter Benutzer",
"New comment …" : "Neuer Kommentar ...",
"New comment …" : "Neuer Kommentar ",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[gelöschter Benutzer]",
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginnen Sie die Diskussion!",
"More comments …" : "Weitere Kommentare ...",
"More comments …" : "Weitere Kommentare ",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "{count} von {max} Zeichen benutzt",
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",

View File

@@ -1,14 +1,14 @@
{ "translations": {
"Comments" : "Kommentare",
"Unknown user" : "Unbekannter Benutzer",
"New comment …" : "Neuer Kommentar ...",
"New comment …" : "Neuer Kommentar ",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[gelöschter Benutzer]",
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginnen Sie die Diskussion!",
"More comments …" : "Weitere Kommentare ...",
"More comments …" : "Weitere Kommentare ",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "{count} von {max} Zeichen benutzt",
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",

View File

@@ -8,7 +8,7 @@ OC.L10N.register(
"Post" : "Δημοσίευση",
"Cancel" : "Ακύρωση",
"Edit comment" : "Επεξεργασία σχολίου",
"[Deleted user]" : "[Διαγραφή χρήστη]",
"[Deleted user]" : "[Διαγραμμένος χρήστης]",
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
"More comments …" : "Περισσότερα σχόλια ...",
"Save" : "Αποθήκευση",

View File

@@ -6,7 +6,7 @@
"Post" : "Δημοσίευση",
"Cancel" : "Ακύρωση",
"Edit comment" : "Επεξεργασία σχολίου",
"[Deleted user]" : "[Διαγραφή χρήστη]",
"[Deleted user]" : "[Διαγραμμένος χρήστης]",
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
"More comments …" : "Περισσότερα σχόλια ...",
"Save" : "Αποθήκευση",

View File

@@ -1,7 +1,34 @@
OC.L10N.register(
"comments",
{
"Comments" : "Comentarios",
"Unknown user" : "Usuario desconocido",
"New comment …" : "Nuevo comentario ...",
"Delete comment" : "Borrar comentario",
"Post" : "Post",
"Cancel" : "Cancelar",
"Save" : "Guardar"
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario borrado]",
"No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
"More comments …" : "Más comentarios ...",
"Save" : "Guardar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with id {id}" : "Se ha producido un error al recuperar el comentario con id {id}",
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment" : "Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
"Comment" : "Comentar",
"You commented" : "Ud. ha comentado",
"%1$s commented" : "%1$s comentados",
"{author} commented" : "{author} comentó",
"You commented on %1$s" : "Ud. ah comentado en %1$s",
"You commented on {file}" : "Ud. ha comentado en {file}",
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
"{author} commented on {file}" : "{author} comentó en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un (now) usuario borrado te ha mencionado en un comentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un (now) usuario borrado the ha mencionado en un comentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te ha mencionado en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} te ha mencionado en un comentario en “{file}”"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,5 +1,32 @@
{ "translations": {
"Comments" : "Comentarios",
"Unknown user" : "Usuario desconocido",
"New comment …" : "Nuevo comentario ...",
"Delete comment" : "Borrar comentario",
"Post" : "Post",
"Cancel" : "Cancelar",
"Save" : "Guardar"
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario borrado]",
"No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
"More comments …" : "Más comentarios ...",
"Save" : "Guardar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} of {max}",
"Error occurred while retrieving comment with id {id}" : "Se ha producido un error al recuperar el comentario con id {id}",
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con id {id}",
"Error occurred while posting comment" : "Se ha producido un error al publicar un comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
"Comment" : "Comentar",
"You commented" : "Ud. ha comentado",
"%1$s commented" : "%1$s comentados",
"{author} commented" : "{author} comentó",
"You commented on %1$s" : "Ud. ah comentado en %1$s",
"You commented on {file}" : "Ud. ha comentado en {file}",
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
"{author} commented on {file}" : "{author} comentó en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un (now) usuario borrado te ha mencionado en un comentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un (now) usuario borrado the ha mencionado en un comentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te ha mencionado en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} te ha mencionado en un comentario en “{file}”"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -3,13 +3,13 @@ OC.L10N.register(
{
"Comments" : "Comentarios",
"Unknown user" : "Usuario desconocido",
"New comment …" : "Nuevo comentario ...",
"New comment …" : "Comentario nuevo ...",
"Delete comment" : "Borrar comentario",
"Post" : "Publicar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario borrado]",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicie la conversación!",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
"More comments …" : "Más comentarios ...",
"Save" : "Guardar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
@@ -18,17 +18,17 @@ OC.L10N.register(
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
"Comment" : "Comentario",
"You commented" : "Usted comentó",
"You commented" : "Comentaste",
"%1$s commented" : "%1$s comentó",
"{author} commented" : "{author} comentó",
"You commented on %1$s" : "Usted comentó en %1$s",
"You commented on {file}" : "Usted comentó en {file}",
"You commented on {file}" : "Hiciste un comentario de {file}",
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
"{author} commented on {file}" : "{author} comentó en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado lo mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado lo mencionó en un commentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s lo mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} lo menciono en un comentario en “{file}”"
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,13 +1,13 @@
{ "translations": {
"Comments" : "Comentarios",
"Unknown user" : "Usuario desconocido",
"New comment …" : "Nuevo comentario ...",
"New comment …" : "Comentario nuevo ...",
"Delete comment" : "Borrar comentario",
"Post" : "Publicar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario borrado]",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicie la conversación!",
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
"More comments …" : "Más comentarios ...",
"Save" : "Guardar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
@@ -16,17 +16,17 @@
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
"Comment" : "Comentario",
"You commented" : "Usted comentó",
"You commented" : "Comentaste",
"%1$s commented" : "%1$s comentó",
"{author} commented" : "{author} comentó",
"You commented on %1$s" : "Usted comentó en %1$s",
"You commented on {file}" : "Usted comentó en {file}",
"You commented on {file}" : "Hiciste un comentario de {file}",
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
"{author} commented on {file}" : "{author} comentó en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado lo mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado lo mencionó en un commentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s lo mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} lo menciono en un comentario en “{file}”"
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,22 +1,34 @@
OC.L10N.register(
"comments",
{
"Type in a new comment..." : "Kirjuta uus komentaar...",
"Comments" : "Kommentaarid",
"Unknown user" : "Tundmatu kasutaja",
"New comment …" : "Uus kommentaar",
"Delete comment" : "Kustuta kommentaar",
"Post" : "Postita",
"Cancel" : "Loobu",
"Edit comment" : "Muuda kommentaari",
"[Deleted user]" : "[Kustutatud kasutaja]",
"Comments" : "Kommentaarid",
"No other comments available" : "Ühtegi teist kommentaari pole saadaval",
"More comments..." : "Veel kommentaare...",
"No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust",
"More comments …" : "Veel kommentaare ...",
"Save" : "Salvesta",
"Allowed characters {count} of {max}" : "Lubatud märkide arv {count}/{max}",
"{count} unread comments" : "{count} lugemata kommentaari",
"Error occurred while retrieving comment with id {id}" : "Kommentaari {id} laadimisel tekkis tõrge",
"Error occurred while updating comment with id {id}" : "Kommentaari {id} uuendamisel tekkis tõrge",
"Error occurred while posting comment" : "Viga kommentaari postitamisel",
"_%n unread comment_::_%n unread comments_" : ["%n lugemata kommentaar","%n lugemata kommentaari"],
"Comment" : "Kommentaar",
"You commented" : "Sa kommenteerisid",
"%1$s commented" : "%1$s kommenteeris",
"You commented on %2$s" : "Sa kommenteerisid %2$s",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s"
"{author} commented" : "{author} kommenteeris",
"You commented on %1$s" : "Sa kommmenteerisid %1$s",
"You commented on {file}" : "Sa kommenteerisid faili {file}",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files" : "<strong>kommentaari</strong> ffailidele",
"A (now) deleted user mentioned you in a comment on “%s”" : "Kustutatud kasutaja mainis sind \"%s\" kommentaaris",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Kustutatud kasutaja mainis sind faili \"{file}\" kommentaaris",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mainis sind \"%2$s\" kommentaaris",
"{user} mentioned you in a comment on “{file}”" : "{user} mainis sind faili “{file}” kommentaaris"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,20 +1,32 @@
{ "translations": {
"Type in a new comment..." : "Kirjuta uus komentaar...",
"Comments" : "Kommentaarid",
"Unknown user" : "Tundmatu kasutaja",
"New comment …" : "Uus kommentaar",
"Delete comment" : "Kustuta kommentaar",
"Post" : "Postita",
"Cancel" : "Loobu",
"Edit comment" : "Muuda kommentaari",
"[Deleted user]" : "[Kustutatud kasutaja]",
"Comments" : "Kommentaarid",
"No other comments available" : "Ühtegi teist kommentaari pole saadaval",
"More comments..." : "Veel kommentaare...",
"No comments yet, start the conversation!" : "Kommentaare veel pole, alusta vestlust",
"More comments …" : "Veel kommentaare ...",
"Save" : "Salvesta",
"Allowed characters {count} of {max}" : "Lubatud märkide arv {count}/{max}",
"{count} unread comments" : "{count} lugemata kommentaari",
"Error occurred while retrieving comment with id {id}" : "Kommentaari {id} laadimisel tekkis tõrge",
"Error occurred while updating comment with id {id}" : "Kommentaari {id} uuendamisel tekkis tõrge",
"Error occurred while posting comment" : "Viga kommentaari postitamisel",
"_%n unread comment_::_%n unread comments_" : ["%n lugemata kommentaar","%n lugemata kommentaari"],
"Comment" : "Kommentaar",
"You commented" : "Sa kommenteerisid",
"%1$s commented" : "%1$s kommenteeris",
"You commented on %2$s" : "Sa kommenteerisid %2$s",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s"
"{author} commented" : "{author} kommenteeris",
"You commented on %1$s" : "Sa kommmenteerisid %1$s",
"You commented on {file}" : "Sa kommenteerisid faili {file}",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
"<strong>Comments</strong> for files" : "<strong>kommentaari</strong> ffailidele",
"A (now) deleted user mentioned you in a comment on “%s”" : "Kustutatud kasutaja mainis sind \"%s\" kommentaaris",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Kustutatud kasutaja mainis sind faili \"{file}\" kommentaaris",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mainis sind \"%2$s\" kommentaaris",
"{user} mentioned you in a comment on “{file}”" : "{user} mainis sind faili “{file}” kommentaaris"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -2,13 +2,17 @@ OC.L10N.register(
"comments",
{
"Comments" : "Iruzkinak",
"Unknown user" : "Erabiltzaile ezezaguna",
"New comment …" : "Iruzkin berria...",
"Delete comment" : "Ezabatu iruzkina",
"Cancel" : "Ezeztatu",
"Edit comment" : "Iruzkina aldatu",
"No comments yet, start the conversation!" : "Oraindik ez dago iruzkinik, izan zaites lehena zerbait esanez!",
"Post" : "Bidali",
"Cancel" : "Utzi",
"Edit comment" : "Iruzkina editatu",
"[Deleted user]" : "[Deleted user]",
"No comments yet, start the conversation!" : "Oraindik ez dago iruzkinik, izan zaitez lehena zerbait esanez!",
"More comments …" : "Iruzkin gehiago...",
"Save" : "Gorde",
"Allowed characters {count} of {max}" : "Onartutako karaktereak {max}-tik {count}",
"Error occurred while retrieving comment with id {id}" : "Akatsa gertatu da {id} id duen iruzkina berreskuratzerakoan",
"Error occurred while updating comment with id {id}" : "Akats bat gertatu da {id} id duen iruzkina aldatzerakoan",
"Error occurred while posting comment" : "Akats bat gertatu da iruzkina bidaltzerakoan",
@@ -16,15 +20,15 @@ OC.L10N.register(
"Comment" : "Iruzkina",
"You commented" : "Iruzkindu duzu",
"%1$s commented" : "%1$s iruzkin du",
"{author} commented" : "{author} iruzkin du",
"{author} commented" : "{author}-(e)k iruzkin du",
"You commented on %1$s" : "%1$s-en Iruzkin duzu",
"You commented on {file}" : "{file}-en Iruzkin duzu",
"%1$s commented on %2$s" : "%1$s %2$s-en iruzkin du",
"{author} commented on {file}" : "{author} {file}-en iruzkin du",
"<strong>Comments</strong> for files" : "Fitxategientzako <strong>iruzkinak</ strong> ",
"A (now) deleted user mentioned you in a comment on “%s”" : "(Orain) Ezabatutako erabiltzaile batek aipatu zaitu iruzkinean \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Orain) Ezabatutako erabiltzaile batek aipatu zaitu iruzkinean “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s aipatu zaitu iruzkinean \"“%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} aipatu zaitu iruzkinean “{file}”"
"{author} commented on {file}" : "{author}-(e)k {file}-en iruzkin du",
"<strong>Comments</strong> for files" : "Fitxategientzako <strong>iruzkinak",
"A (now) deleted user mentioned you in a comment on “%s”" : "(Orain) ezabatutako erabiltzaile batek aipatu zaitu iruzkinean \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Orain) ezabatutako erabiltzaile batek aipatu zaitu iruzkinean “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s-(e)k aipatu zaitu iruzkinean “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user}-(e)k aipatu zaitu iruzkinean “{file}”"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,12 +1,16 @@
{ "translations": {
"Comments" : "Iruzkinak",
"Unknown user" : "Erabiltzaile ezezaguna",
"New comment …" : "Iruzkin berria...",
"Delete comment" : "Ezabatu iruzkina",
"Cancel" : "Ezeztatu",
"Edit comment" : "Iruzkina aldatu",
"No comments yet, start the conversation!" : "Oraindik ez dago iruzkinik, izan zaites lehena zerbait esanez!",
"Post" : "Bidali",
"Cancel" : "Utzi",
"Edit comment" : "Iruzkina editatu",
"[Deleted user]" : "[Deleted user]",
"No comments yet, start the conversation!" : "Oraindik ez dago iruzkinik, izan zaitez lehena zerbait esanez!",
"More comments …" : "Iruzkin gehiago...",
"Save" : "Gorde",
"Allowed characters {count} of {max}" : "Onartutako karaktereak {max}-tik {count}",
"Error occurred while retrieving comment with id {id}" : "Akatsa gertatu da {id} id duen iruzkina berreskuratzerakoan",
"Error occurred while updating comment with id {id}" : "Akats bat gertatu da {id} id duen iruzkina aldatzerakoan",
"Error occurred while posting comment" : "Akats bat gertatu da iruzkina bidaltzerakoan",
@@ -14,15 +18,15 @@
"Comment" : "Iruzkina",
"You commented" : "Iruzkindu duzu",
"%1$s commented" : "%1$s iruzkin du",
"{author} commented" : "{author} iruzkin du",
"{author} commented" : "{author}-(e)k iruzkin du",
"You commented on %1$s" : "%1$s-en Iruzkin duzu",
"You commented on {file}" : "{file}-en Iruzkin duzu",
"%1$s commented on %2$s" : "%1$s %2$s-en iruzkin du",
"{author} commented on {file}" : "{author} {file}-en iruzkin du",
"<strong>Comments</strong> for files" : "Fitxategientzako <strong>iruzkinak</ strong> ",
"A (now) deleted user mentioned you in a comment on “%s”" : "(Orain) Ezabatutako erabiltzaile batek aipatu zaitu iruzkinean \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Orain) Ezabatutako erabiltzaile batek aipatu zaitu iruzkinean “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s aipatu zaitu iruzkinean \"“%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} aipatu zaitu iruzkinean “{file}”"
"{author} commented on {file}" : "{author}-(e)k {file}-en iruzkin du",
"<strong>Comments</strong> for files" : "Fitxategientzako <strong>iruzkinak",
"A (now) deleted user mentioned you in a comment on “%s”" : "(Orain) ezabatutako erabiltzaile batek aipatu zaitu iruzkinean \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Orain) ezabatutako erabiltzaile batek aipatu zaitu iruzkinean “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s-(e)k aipatu zaitu iruzkinean “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user}-(e)k aipatu zaitu iruzkinean “{file}”"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -2,14 +2,14 @@ OC.L10N.register(
"comments",
{
"Comments" : "Commentaires",
"Unknown user" : "Utilisateur inconnu",
"Unknown user" : "Utilisateur·trice inconnu·e",
"New comment …" : "Nouveau commentaire...",
"Delete comment" : "Supprimer le commentaire",
"Post" : "Poster",
"Cancel" : "Annuler",
"Edit comment" : "Modifier le commentaire",
"[Deleted user]" : "[Utilisateur supprimé]",
"No comments yet, start the conversation!" : "Aucun commentaire actuellement, débutez une conversation !",
"No comments yet, start the conversation!" : "Il n'y a aucun commentaire, démarrez la conversation !",
"More comments …" : "Plus de commentaires ...",
"Save" : "Enregistrer",
"Allowed characters {count} of {max}" : "{count} sur {max} caractères autorisés",
@@ -22,12 +22,12 @@ OC.L10N.register(
"%1$s commented" : "%1$s a commenté",
"{author} commented" : "{author} a commenté",
"You commented on %1$s" : "Vous avez commenté %1$s",
"You commented on {file}" : "Vous avez commenté sur {file}",
"You commented on {file}" : "Vous avez commenté {file}",
"%1$s commented on %2$s" : "%1$s a commenté %2$s",
"{author} commented on {file}" : "{author} a commenté sur {file}",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> pour les fichiers",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un utilisateur (maintenant supprimé) vous a mentionné dans un commentaire sur “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un utilisateur (maintenant supprimé) vous a mentionné dans un commentaire sur “{file}”",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> sur les fichiers",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un·e utilisateur·trice (maintenant supprimé·e) vous a mentionné·e dans un commentaire sur “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un·e utilisateur·trice (maintenant supprimé·e) vous a mentionné·e dans un commentaire sur “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vous a mentionné⋅e dans un commentaire sur “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} vous a mentionné⋅e dans un commentaire sur “{file}”"
},

View File

@@ -1,13 +1,13 @@
{ "translations": {
"Comments" : "Commentaires",
"Unknown user" : "Utilisateur inconnu",
"Unknown user" : "Utilisateur·trice inconnu·e",
"New comment …" : "Nouveau commentaire...",
"Delete comment" : "Supprimer le commentaire",
"Post" : "Poster",
"Cancel" : "Annuler",
"Edit comment" : "Modifier le commentaire",
"[Deleted user]" : "[Utilisateur supprimé]",
"No comments yet, start the conversation!" : "Aucun commentaire actuellement, débutez une conversation !",
"No comments yet, start the conversation!" : "Il n'y a aucun commentaire, démarrez la conversation !",
"More comments …" : "Plus de commentaires ...",
"Save" : "Enregistrer",
"Allowed characters {count} of {max}" : "{count} sur {max} caractères autorisés",
@@ -20,12 +20,12 @@
"%1$s commented" : "%1$s a commenté",
"{author} commented" : "{author} a commenté",
"You commented on %1$s" : "Vous avez commenté %1$s",
"You commented on {file}" : "Vous avez commenté sur {file}",
"You commented on {file}" : "Vous avez commenté {file}",
"%1$s commented on %2$s" : "%1$s a commenté %2$s",
"{author} commented on {file}" : "{author} a commenté sur {file}",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> pour les fichiers",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un utilisateur (maintenant supprimé) vous a mentionné dans un commentaire sur “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un utilisateur (maintenant supprimé) vous a mentionné dans un commentaire sur “{file}”",
"<strong>Comments</strong> for files" : "<strong>Commentaires</strong> sur les fichiers",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un·e utilisateur·trice (maintenant supprimé·e) vous a mentionné·e dans un commentaire sur “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un·e utilisateur·trice (maintenant supprimé·e) vous a mentionné·e dans un commentaire sur “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vous a mentionné⋅e dans un commentaire sur “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} vous a mentionné⋅e dans un commentaire sur “{file}”"
},"pluralForm" :"nplurals=2; plural=(n > 1);"

View File

@@ -1,8 +1,34 @@
OC.L10N.register(
"comments",
{
"Comments" : "Comentarios",
"Unknown user" : "Usuario descoñecido",
"New comment …" : "Comentario novo …",
"Delete comment" : "Eliminar comentario",
"Post" : "Publicar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario eliminado]",
"No comments yet, start the conversation!" : "Aínda non hai comentarios, comeza a conversa!",
"More comments …" : "Máis comentarios …",
"Save" : "Gardar",
"Comment" : "Comentario"
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}" : "Produciuse un erro ao recuperar o comentario co ID {id}",
"Error occurred while updating comment with id {id}" : "Produciuse un erro ao actualizar o comentario co ID {id}",
"Error occurred while posting comment" : "Produciuse un erro ao publicar o comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"],
"Comment" : "Comentario",
"You commented" : "Vostede comentou",
"%1$s commented" : "%1$s comentados",
"{author} commented" : "{author} comentou",
"You commented on %1$s" : "Vostede comentou en %1$s",
"You commented on {file}" : "Vostede comentou en {file}",
"%1$s commented on %2$s" : "%1$s comentados en %2$s",
"{author} commented on {file}" : "{author} comentou en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para ficheiros",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (agora) eliminado, mencionouno a vostede nun comentario en «%s»",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (agora) eliminado, mencionouno a vostede nun comentario en «{file}»",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mencionouno a vostede nun comentario en «%2$s»",
"{user} mentioned you in a comment on “{file}”" : "{user} mencionouno a vostede nun comentario en «{file}»"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,6 +1,32 @@
{ "translations": {
"Comments" : "Comentarios",
"Unknown user" : "Usuario descoñecido",
"New comment …" : "Comentario novo …",
"Delete comment" : "Eliminar comentario",
"Post" : "Publicar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentario",
"[Deleted user]" : "[Usuario eliminado]",
"No comments yet, start the conversation!" : "Aínda non hai comentarios, comeza a conversa!",
"More comments …" : "Máis comentarios …",
"Save" : "Gardar",
"Comment" : "Comentario"
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}" : "Produciuse un erro ao recuperar o comentario co ID {id}",
"Error occurred while updating comment with id {id}" : "Produciuse un erro ao actualizar o comentario co ID {id}",
"Error occurred while posting comment" : "Produciuse un erro ao publicar o comentario",
"_%n unread comment_::_%n unread comments_" : ["%n comentario sen ler","%n comentarios sen ler"],
"Comment" : "Comentario",
"You commented" : "Vostede comentou",
"%1$s commented" : "%1$s comentados",
"{author} commented" : "{author} comentou",
"You commented on %1$s" : "Vostede comentou en %1$s",
"You commented on {file}" : "Vostede comentou en {file}",
"%1$s commented on %2$s" : "%1$s comentados en %2$s",
"{author} commented on {file}" : "{author} comentou en {file}",
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para ficheiros",
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (agora) eliminado, mencionouno a vostede nun comentario en «%s»",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (agora) eliminado, mencionouno a vostede nun comentario en «{file}»",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mencionouno a vostede nun comentario en «%2$s»",
"{user} mentioned you in a comment on “{file}”" : "{user} mencionouno a vostede nun comentario en «{file}»"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,8 +1,34 @@
OC.L10N.register(
"comments",
{
"Cancel" : "Atšaukti",
"Save" : "Išsaugoti",
"Comment" : "Komentaras"
"Comments" : "Komentarai",
"Unknown user" : "Nežinomas naudotojas",
"New comment" : "Naujas komentaras …",
"Delete comment" : "Ištrinti komentarą",
"Post" : "Įrašas",
"Cancel" : "Atsisakyti",
"Edit comment" : "Redaguoti komentarą",
"[Deleted user]" : "[Ištrintas naudotojas]",
"No comments yet, start the conversation!" : "Kol kas komentarų nėra, pradėkite pokalbį!",
"More comments …" : "Daugiau komentarų …",
"Save" : "Įrašyti",
"Allowed characters {count} of {max}" : "Leidžiama simbolių {count} iš {max}",
"Error occurred while retrieving comment with id {id}" : "Klaida bandant parodyti komentarą pagal identifikavimo numerį {id}",
"Error occurred while updating comment with id {id}" : "Klaida bandant pataisyti komentarą pagal identifikavimo numerį {id}",
"Error occurred while posting comment" : "Skelbiant komentarą, įvyko klaida",
"_%n unread comment_::_%n unread comments_" : ["%n neskaitytas komentaras","%n neskaityti komentarai","%n neskaitytų komentarų"],
"Comment" : "Komentaras",
"You commented" : "Jūs pakomentavote",
"%1$s commented" : "%1$s pakomentavo",
"{author} commented" : "{author} pakomentavo",
"You commented on %1$s" : "Pakomentavote %1$s",
"You commented on {file}" : "Pakomentavote {file}",
"%1$s commented on %2$s" : "%1$s pakomentavo %2$s",
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "<strong>Failų komentarai</strong>",
"A (now) deleted user mentioned you in a comment on “%s”" : "Ištrintas vartotojas paminėjo jus komentare \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ištrintas vartotojas paminėjo jus komentare \"{file}\"",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s paminėjo jus komentare \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} paminėjo jus komentare “{file}”"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");

View File

@@ -1,6 +1,32 @@
{ "translations": {
"Cancel" : "Atšaukti",
"Save" : "Išsaugoti",
"Comment" : "Komentaras"
"Comments" : "Komentarai",
"Unknown user" : "Nežinomas naudotojas",
"New comment" : "Naujas komentaras …",
"Delete comment" : "Ištrinti komentarą",
"Post" : "Įrašas",
"Cancel" : "Atsisakyti",
"Edit comment" : "Redaguoti komentarą",
"[Deleted user]" : "[Ištrintas naudotojas]",
"No comments yet, start the conversation!" : "Kol kas komentarų nėra, pradėkite pokalbį!",
"More comments …" : "Daugiau komentarų …",
"Save" : "Įrašyti",
"Allowed characters {count} of {max}" : "Leidžiama simbolių {count} iš {max}",
"Error occurred while retrieving comment with id {id}" : "Klaida bandant parodyti komentarą pagal identifikavimo numerį {id}",
"Error occurred while updating comment with id {id}" : "Klaida bandant pataisyti komentarą pagal identifikavimo numerį {id}",
"Error occurred while posting comment" : "Skelbiant komentarą, įvyko klaida",
"_%n unread comment_::_%n unread comments_" : ["%n neskaitytas komentaras","%n neskaityti komentarai","%n neskaitytų komentarų"],
"Comment" : "Komentaras",
"You commented" : "Jūs pakomentavote",
"%1$s commented" : "%1$s pakomentavo",
"{author} commented" : "{author} pakomentavo",
"You commented on %1$s" : "Pakomentavote %1$s",
"You commented on {file}" : "Pakomentavote {file}",
"%1$s commented on %2$s" : "%1$s pakomentavo %2$s",
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "<strong>Failų komentarai</strong>",
"A (now) deleted user mentioned you in a comment on “%s”" : "Ištrintas vartotojas paminėjo jus komentare \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ištrintas vartotojas paminėjo jus komentare \"{file}\"",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s paminėjo jus komentare \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} paminėjo jus komentare “{file}”"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
}

View File

@@ -1,6 +1,32 @@
OC.L10N.register(
"comments",
{
"Save" : "Хадгалах"
"Comments" : "Сэтгэгдэл",
"Unknown user" : " хэрэглэгч",
"New comment …" : "Шинэ сэтгэгдэл",
"Delete comment" : "Сэтгэгдэл устгах",
"Post" : "Нийтлэл",
"Cancel" : "Цуцлах",
"Edit comment" : "Сэтгэгдэл засах",
"[Deleted user]" : "[Хэрэглэгч устгагдсан]",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"More comments …" : "Дараагийн сэтгэгдэлүүд",
"Save" : "Хадгалах",
"Allowed characters {count} of {max}" : "{max} боломжойгоос {count} тэмдэгт орсон байна",
"Error occurred while retrieving comment with id {id}" : "{id} дугаартай сэтгэгдлийг авахад алдаа гарлаа",
"Error occurred while updating comment with id {id}" : "{id} дугаартай сэтгэгдлийг шинэчилэхэд алдаа гарлаа",
"Error occurred while posting comment" : "Сэтгэгдлийг хадгалахад алдаа гарлаа",
"Comment" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"%1$s commented" : "%1$s сэтгэгдэл бичсэн",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s нь таныг “%2$s”-ы сэтгэгдэлд дурдсан",
"{user} mentioned you in a comment on “{file}”" : "{user} нь таныг “{file}”-ын сэтгэгдэлд дурдсан"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,4 +1,30 @@
{ "translations": {
"Save" : "Хадгалах"
"Comments" : "Сэтгэгдэл",
"Unknown user" : " хэрэглэгч",
"New comment …" : "Шинэ сэтгэгдэл",
"Delete comment" : "Сэтгэгдэл устгах",
"Post" : "Нийтлэл",
"Cancel" : "Цуцлах",
"Edit comment" : "Сэтгэгдэл засах",
"[Deleted user]" : "[Хэрэглэгч устгагдсан]",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"More comments …" : "Дараагийн сэтгэгдэлүүд",
"Save" : "Хадгалах",
"Allowed characters {count} of {max}" : "{max} боломжойгоос {count} тэмдэгт орсон байна",
"Error occurred while retrieving comment with id {id}" : "{id} дугаартай сэтгэгдлийг авахад алдаа гарлаа",
"Error occurred while updating comment with id {id}" : "{id} дугаартай сэтгэгдлийг шинэчилэхэд алдаа гарлаа",
"Error occurred while posting comment" : "Сэтгэгдлийг хадгалахад алдаа гарлаа",
"Comment" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"%1$s commented" : "%1$s сэтгэгдэл бичсэн",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s нь таныг “%2$s”-ы сэтгэгдэлд дурдсан",
"{user} mentioned you in a comment on “{file}”" : "{user} нь таныг “{file}”-ын сэтгэгдэлд дурдсан"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -31,4 +31,4 @@ OC.L10N.register(
"%1$s mentioned you in a comment on “%2$s”" : "%1$s wspomniał/-a o Tobie w komentarzu “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} wspomniał/-a o Tobie w komentarzu “{file}”"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

View File

@@ -28,5 +28,5 @@
"A (now) deleted user mentioned you in a comment on “{file}”" : "Pewien (obecnie) usunięty użytkownik wspomniał o Tobie w komentarzu “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s wspomniał/-a o Tobie w komentarzu “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} wspomniał/-a o Tobie w komentarzu “{file}”"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

View File

@@ -15,19 +15,19 @@ OC.L10N.register(
"Allowed characters {count} of {max}" : "{count} de {max} caracteres permitidos",
"Error occurred while retrieving comment with id {id}" : "Ocorreu um erro durante a recuperação do comentário com id {id}",
"Error occurred while updating comment with id {id}" : "Ocorreu um erro durante a atualização do comentário com id {id}",
"Error occurred while posting comment" : "Ocorreu um erro durante a postagem do comentário",
"Error occurred while posting comment" : "Ocorreu um erro ao postar o comentário",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos"],
"Comment" : "Comentar",
"You commented" : "Você comentou",
"%1$s commented" : "%1$s comentaram",
"%1$s commented" : "%1$s comentou",
"{author} commented" : "{author} comentou",
"You commented on %1$s" : "Você comentou em %1$s",
"You commented on {file}" : "Você comentou sobre {file}",
"%1$s commented on %2$s" : "%1$s comentaram em %2$s",
"{author} commented on {file}" : "{author} comentou em {file}",
"<strong>Comments</strong> for files" : "<strong>Comentários</strong> para arquivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Um usuário excluído agora mencionou você em um comentário sobre “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Um usuário recém excluído mencionou você em um comentário sobre “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”" : "Um usuário excluído (agora) mencionou você em um comentário sobre “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Um usuário (now) recém excluído mencionou você em um comentário sobre “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mencionou você em um comentário sobre “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} mencionou você em um comentário sobre “{file}”"
},

View File

@@ -13,19 +13,19 @@
"Allowed characters {count} of {max}" : "{count} de {max} caracteres permitidos",
"Error occurred while retrieving comment with id {id}" : "Ocorreu um erro durante a recuperação do comentário com id {id}",
"Error occurred while updating comment with id {id}" : "Ocorreu um erro durante a atualização do comentário com id {id}",
"Error occurred while posting comment" : "Ocorreu um erro durante a postagem do comentário",
"Error occurred while posting comment" : "Ocorreu um erro ao postar o comentário",
"_%n unread comment_::_%n unread comments_" : ["%n comentários não lidos","%n comentários não lidos"],
"Comment" : "Comentar",
"You commented" : "Você comentou",
"%1$s commented" : "%1$s comentaram",
"%1$s commented" : "%1$s comentou",
"{author} commented" : "{author} comentou",
"You commented on %1$s" : "Você comentou em %1$s",
"You commented on {file}" : "Você comentou sobre {file}",
"%1$s commented on %2$s" : "%1$s comentaram em %2$s",
"{author} commented on {file}" : "{author} comentou em {file}",
"<strong>Comments</strong> for files" : "<strong>Comentários</strong> para arquivos",
"A (now) deleted user mentioned you in a comment on “%s”" : "Um usuário excluído agora mencionou você em um comentário sobre “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Um usuário recém excluído mencionou você em um comentário sobre “{file}”",
"A (now) deleted user mentioned you in a comment on “%s”" : "Um usuário excluído (agora) mencionou você em um comentário sobre “%s”",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Um usuário (now) recém excluído mencionou você em um comentário sobre “{file}”",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mencionou você em um comentário sobre “%2$s”",
"{user} mentioned you in a comment on “{file}”" : "{user} mencionou você em um comentário sobre “{file}”"
},"pluralForm" :"nplurals=2; plural=(n > 1);"

View File

@@ -25,6 +25,10 @@ OC.L10N.register(
"You commented on {file}" : "Komentovali ste {file}",
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory"
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
"A (now) deleted user mentioned you in a comment on “%s”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"{file}\"",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás spomenul v komentári k \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} vás spomenul v komentári k “{file}”"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

View File

@@ -23,6 +23,10 @@
"You commented on {file}" : "Komentovali ste {file}",
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory"
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
"A (now) deleted user mentioned you in a comment on “%s”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"{file}\"",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás spomenul v komentári k \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} vás spomenul v komentári k “{file}”"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

View File

@@ -13,9 +13,9 @@ OC.L10N.register(
"More comments …" : "Diğer yorumlar ...",
"Save" : "Kaydet",
"Allowed characters {count} of {max}" : "Yazılabilecek karakter sayısı {count}/{max}",
"Error occurred while retrieving comment with id {id}" : "{id} kodlu yorum alınırken bir sorun çıktı",
"Error occurred while updating comment with id {id}" : "{id} kodlu yorum güncellenirken bir sorun çıktı",
"Error occurred while posting comment" : "Yorum gönderilirken bir sorun çıktı",
"Error occurred while retrieving comment with id {id}" : "{id} kodlu yorum alınırken sorun çıktı",
"Error occurred while updating comment with id {id}" : "{id} kodlu yorum güncellenirken sorun çıktı",
"Error occurred while posting comment" : "Yorum gönderilirken sorun çıktı",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"],
"Comment" : "Yorum",
"You commented" : "Yorum yaptınız",

View File

@@ -11,9 +11,9 @@
"More comments …" : "Diğer yorumlar ...",
"Save" : "Kaydet",
"Allowed characters {count} of {max}" : "Yazılabilecek karakter sayısı {count}/{max}",
"Error occurred while retrieving comment with id {id}" : "{id} kodlu yorum alınırken bir sorun çıktı",
"Error occurred while updating comment with id {id}" : "{id} kodlu yorum güncellenirken bir sorun çıktı",
"Error occurred while posting comment" : "Yorum gönderilirken bir sorun çıktı",
"Error occurred while retrieving comment with id {id}" : "{id} kodlu yorum alınırken sorun çıktı",
"Error occurred while updating comment with id {id}" : "{id} kodlu yorum güncellenirken sorun çıktı",
"Error occurred while posting comment" : "Yorum gönderilirken sorun çıktı",
"_%n unread comment_::_%n unread comments_" : ["%n okunmamış yorum","%n okunmamış yorum"],
"Comment" : "Yorum",
"You commented" : "Yorum yaptınız",

View File

@@ -2,6 +2,7 @@ OC.L10N.register(
"comments",
{
"Comments" : "留言",
"Unknown user" : "未知的使用者",
"New comment …" : "新留言…",
"Delete comment" : "刪除留言",
"Post" : "送出",
@@ -17,14 +18,17 @@ OC.L10N.register(
"Error occurred while posting comment" : "張貼留言出錯",
"_%n unread comment_::_%n unread comments_" : ["%n 未讀留言"],
"Comment" : "留言",
"You commented" : "已留言",
"You commented" : "已留言",
"%1$s commented" : "%1$s 留言",
"{author} commented" : "{author} 已留言",
"You commented on %1$s" : "你對 %1$s 留言",
"You commented on {file}" : "你對 {file} 留言",
"%1$s commented on %2$s" : "%1$s 在 %2$s 留言",
"{author} commented on {file}" : "{author} 對 {file} 留言",
"<strong>Comments</strong> for files" : "檔案的<strong>留言</strong>",
"Type in a new comment..." : "輸入新留言…",
"No other comments available" : "沒有其他留言",
"More comments..." : "其他留言…",
"{count} unread comments" : "{count} 則未讀留言",
"You commented on %2$s" : "您對 %2$s 留言"
"A (now) deleted user mentioned you in a comment on “%s”" : "用戶(被刪除)在 “%s” 留言中提到你",
"A (now) deleted user mentioned you in a comment on “{file}”" : "用戶(被刪除)在 “{file}” 留言中提到你",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s 在 “%2$s” 的留言中提到你",
"{user} mentioned you in a comment on “{file}”" : "{user} 在 “{file}” 的留言中提到你"
},
"nplurals=1; plural=0;");

View File

@@ -1,5 +1,6 @@
{ "translations": {
"Comments" : "留言",
"Unknown user" : "未知的使用者",
"New comment …" : "新留言…",
"Delete comment" : "刪除留言",
"Post" : "送出",
@@ -15,14 +16,17 @@
"Error occurred while posting comment" : "張貼留言出錯",
"_%n unread comment_::_%n unread comments_" : ["%n 未讀留言"],
"Comment" : "留言",
"You commented" : "已留言",
"You commented" : "已留言",
"%1$s commented" : "%1$s 留言",
"{author} commented" : "{author} 已留言",
"You commented on %1$s" : "你對 %1$s 留言",
"You commented on {file}" : "你對 {file} 留言",
"%1$s commented on %2$s" : "%1$s 在 %2$s 留言",
"{author} commented on {file}" : "{author} 對 {file} 留言",
"<strong>Comments</strong> for files" : "檔案的<strong>留言</strong>",
"Type in a new comment..." : "輸入新留言…",
"No other comments available" : "沒有其他留言",
"More comments..." : "其他留言…",
"{count} unread comments" : "{count} 則未讀留言",
"You commented on %2$s" : "您對 %2$s 留言"
"A (now) deleted user mentioned you in a comment on “%s”" : "用戶(被刪除)在 “%s” 留言中提到你",
"A (now) deleted user mentioned you in a comment on “{file}”" : "用戶(被刪除)在 “{file}” 留言中提到你",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s 在 “%2$s” 的留言中提到你",
"{user} mentioned you in a comment on “{file}”" : "{user} 在 “{file}” 的留言中提到你"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -115,15 +115,16 @@ class Listener {
->setAuthor($actor)
->setObject($event->getComment()->getObjectType(), (int) $event->getComment()->getObjectId())
->setMessage('add_comment_message', [
$event->getComment()->getId(),
'commentId' => $event->getComment()->getId(),
]);
foreach ($users as $user => $path) {
$activity->setAffectedUser($user);
$activity->setSubject('add_comment_subject', [
$actor,
$path,
'actor' => $actor,
'fileId' => (int) $event->getComment()->getObjectId(),
'filePath' => trim($path, '/'),
]);
$this->activityManager->publish($activity);
}

View File

@@ -87,7 +87,11 @@ class Provider implements IProvider {
if ($event->getSubject() === 'add_comment_subject') {
$this->parseMessage($event);
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg')));
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg')));
}
if ($this->activityManager->isFormattingFilteredObject()) {
try {
@@ -109,14 +113,14 @@ class Provider implements IProvider {
* @throws \InvalidArgumentException
*/
protected function parseShortVersion(IEvent $event) {
$subjectParameters = $event->getSubjectParameters();
$subjectParameters = $this->getSubjectParameters($event);
if ($event->getSubject() === 'add_comment_subject') {
if ($subjectParameters[0] === $this->activityManager->getCurrentUserId()) {
if ($subjectParameters['actor'] === $this->activityManager->getCurrentUserId()) {
$event->setParsedSubject($this->l->t('You commented'))
->setRichSubject($this->l->t('You commented'), []);
} else {
$author = $this->generateUserParameter($subjectParameters[0]);
$author = $this->generateUserParameter($subjectParameters['actor']);
$event->setParsedSubject($this->l->t('%1$s commented', [$author['name']]))
->setRichSubject($this->l->t('{author} commented'), [
'author' => $author,
@@ -135,25 +139,25 @@ class Provider implements IProvider {
* @throws \InvalidArgumentException
*/
protected function parseLongVersion(IEvent $event) {
$subjectParameters = $event->getSubjectParameters();
$subjectParameters = $this->getSubjectParameters($event);
if ($event->getSubject() === 'add_comment_subject') {
if ($subjectParameters[0] === $this->activityManager->getCurrentUserId()) {
if ($subjectParameters['actor'] === $this->activityManager->getCurrentUserId()) {
$event->setParsedSubject($this->l->t('You commented on %1$s', [
trim($subjectParameters[1], '/'),
$subjectParameters['filePath'],
]))
->setRichSubject($this->l->t('You commented on {file}'), [
'file' => $this->generateFileParameter($event->getObjectId(), $subjectParameters[1]),
'file' => $this->generateFileParameter($subjectParameters['fileId'], $subjectParameters['filePath']),
]);
} else {
$author = $this->generateUserParameter($subjectParameters[0]);
$author = $this->generateUserParameter($subjectParameters['actor']);
$event->setParsedSubject($this->l->t('%1$s commented on %2$s', [
$author['name'],
trim($subjectParameters[1], '/'),
$subjectParameters['filePath'],
]))
->setRichSubject($this->l->t('{author} commented on {file}'), [
'author' => $author,
'file' => $this->generateFileParameter($event->getObjectId(), $subjectParameters[1]),
'file' => $this->generateFileParameter($subjectParameters['fileId'], $subjectParameters['filePath']),
]);
}
} else {
@@ -163,13 +167,34 @@ class Provider implements IProvider {
return $event;
}
protected function getSubjectParameters(IEvent $event) {
$subjectParameters = $event->getSubjectParameters();
if (isset($subjectParameters['fileId'])) {
return $subjectParameters;
}
// Fix subjects from 12.0.3 and older
return [
'actor' => $subjectParameters[0],
'fileId' => (int) $event->getObjectId(),
'filePath' => trim($subjectParameters[1], '/'),
];
}
/**
* @param IEvent $event
*/
protected function parseMessage(IEvent $event) {
$messageParameters = $event->getMessageParameters();
if (empty($messageParameters)) {
// Email
return;
}
$commentId = isset($messageParameters['commentId']) ? $messageParameters['commentId'] : $messageParameters[0];
try {
$comment = $this->commentsManager->get((int) $messageParameters[0]);
$comment = $this->commentsManager->get((string) $commentId);
$message = $comment->getMessage();
$message = str_replace("\n", '<br />', str_replace(['<', '>'], ['&lt;', '&gt;'], $message));
@@ -206,7 +231,7 @@ class Provider implements IProvider {
'type' => 'file',
'id' => $id,
'name' => basename($path),
'path' => trim($path, '/'),
'path' => $path,
'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]),
];
}

View File

@@ -84,7 +84,7 @@ if ($debugging) {
$server->addPlugin(new \Sabre\DAV\Sync\Plugin());
$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());
$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin());
$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\IMipPlugin( \OC::$server->getMailer(), \OC::$server->getLogger()));
$server->addPlugin(new \OCA\DAV\CalDAV\Schedule\IMipPlugin( \OC::$server->getMailer(), \OC::$server->getLogger(), new \OC\AppFramework\Utility\TimeFactory()));
$server->addPlugin(new ExceptionLoggerPlugin('caldav', \OC::$server->getLogger()));
// And off we go!

View File

@@ -79,10 +79,12 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct
\OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) {
return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE));
});
\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
OC_Util::tearDownFS();
OC_Util::setupFS($owner);
$ownerView = \OC\Files\Filesystem::getView();
$ownerView = new \OC\Files\View('/'. $owner . '/files');
$path = $ownerView->getPath($fileId);
$fileInfo = $ownerView->getFileInfo($path);
$linkCheckPlugin->setFileInfo($fileInfo);

View File

@@ -67,5 +67,10 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct
return \OC\Files\Filesystem::getView();
});
$dispatcher = \OC::$server->getEventDispatcher();
// allow setup of additional plugins
$event = new \OCP\SabrePluginEvent($server);
$dispatcher->dispatch('OCA\DAV\Connector\Sabre::addPlugin', $event);
// And off we go!
$server->exec();

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Narozeniny kontaktů",
"Personal" : "Osobní",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Technické detaily",
"Remote Address: %s" : "Vzdálená adresa: %s",
"Request ID: %s" : "ID požadavku: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Narozeniny kontaktů",
"Personal" : "Osobní",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Technické detaily",
"Remote Address: %s" : "Vzdálená adresa: %s",
"Request ID: %s" : "ID požadavku: %s"

49
apps/dav/l10n/da.js Normal file
View File

@@ -0,0 +1,49 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
"Todos" : "Opgaver",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
"You deleted calendar {calendar}" : "Du slettede kalenderen {calendar}",
"{actor} updated calendar {calendar}" : "{actor} opdaterede kalenderen {calendar}",
"You updated calendar {calendar}" : "Du opdaterede kalenderen {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med dig",
"You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} fjernede delingen af {calendar} fra dig",
"You unshared calendar {calendar} from {user}" : "Du fjernede delingen af {calendar} fra {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} fjernede delingen af {calendar} fra {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} fjernede delingen af {calendar} fra sig selv",
"You shared calendar {calendar} with group {group}" : "Du delte kalenderen {calendar} med gruppen {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppen {group}",
"You unshared calendar {calendar} from group {group}" : "Du fjernede delingen af {calendar} fra gruppen {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernede deling af kalenderen {calendar} fra gruppen {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} oprettede begivenheden {event} i kalenderen {calendar}",
"You created event {event} in calendar {calendar}" : "Du oprettede begivenheden {event} i kalenderen {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} slettede begivenheden {event} fra kalenderen {calendar}",
"You deleted event {event} from calendar {calendar}" : "Du slettede begivenheden {event} fra kalenderen {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} opdaterede begivenheden {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du opdaterede begivenheden {event} i kalenderen {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
"You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
"You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
"You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
"You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
"You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
"A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Personal" : "Personligt",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Fjernadresse: %s",
"Request ID: %s" : "Forespørgsels-ID: %s"
},
"nplurals=2; plural=(n != 1);");

47
apps/dav/l10n/da.json Normal file
View File

@@ -0,0 +1,47 @@
{ "translations": {
"Calendar" : "Kalender",
"Todos" : "Opgaver",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}",
"You deleted calendar {calendar}" : "Du slettede kalenderen {calendar}",
"{actor} updated calendar {calendar}" : "{actor} opdaterede kalenderen {calendar}",
"You updated calendar {calendar}" : "Du opdaterede kalenderen {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} delte kalenderen {calendar} med dig",
"You shared calendar {calendar} with {user}" : "Du delte kalenderen {calendar} med {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} delte kalenderen {calendar} med {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} fjernede delingen af {calendar} fra dig",
"You unshared calendar {calendar} from {user}" : "Du fjernede delingen af {calendar} fra {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} fjernede delingen af {calendar} fra {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} fjernede delingen af {calendar} fra sig selv",
"You shared calendar {calendar} with group {group}" : "Du delte kalenderen {calendar} med gruppen {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalenderen {calendar} med gruppen {group}",
"You unshared calendar {calendar} from group {group}" : "Du fjernede delingen af {calendar} fra gruppen {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} fjernede deling af kalenderen {calendar} fra gruppen {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} oprettede begivenheden {event} i kalenderen {calendar}",
"You created event {event} in calendar {calendar}" : "Du oprettede begivenheden {event} i kalenderen {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} slettede begivenheden {event} fra kalenderen {calendar}",
"You deleted event {event} from calendar {calendar}" : "Du slettede begivenheden {event} fra kalenderen {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} opdaterede begivenheden {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du opdaterede begivenheden {event} i kalenderen {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
"You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
"You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
"You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
"You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
"You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
"A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Personal" : "Personligt",
"Contacts" : "Kontakter",
"Technical details" : "Tekniske detaljer",
"Remote Address: %s" : "Fjernadresse: %s",
"Request ID: %s" : "Forespørgsels-ID: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -9,10 +9,10 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Du hast den Kalender {calendar} gelöscht",
"{actor} updated calendar {calendar}" : "{actor} hat den Kalender {calendar} aktualisiert",
"You updated calendar {calendar}" : "Du hast den Kalender {calendar} aktualisiert",
"{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit dir geteilt",
"{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit Dir geteilt",
"You shared calendar {calendar} with {user}" : "Du hast den Kalender {calendar} mit {user} geteilt",
"{actor} shared calendar {calendar} with {user}" : "{actor} hat den Kalender {calendar} mit {user} geteilt",
"{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit dir",
"{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit Dir",
"You unshared calendar {calendar} from {user}" : "Du teilst den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
@@ -34,17 +34,16 @@ OC.L10N.register(
"You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
"{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
"You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wieder geöffnet",
"You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wieder geöffnet",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
"You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein <strong>Ereignis</strong> wurde bearbeitet",
"A calendar <strong>todo</strong> was modified" : "Eine <strong>Aufgabe</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
"A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
"WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Remote-Adresse: %s",
"Request ID: %s" : "Anfrage-ID: %s"
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -7,10 +7,10 @@
"You deleted calendar {calendar}" : "Du hast den Kalender {calendar} gelöscht",
"{actor} updated calendar {calendar}" : "{actor} hat den Kalender {calendar} aktualisiert",
"You updated calendar {calendar}" : "Du hast den Kalender {calendar} aktualisiert",
"{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit dir geteilt",
"{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit Dir geteilt",
"You shared calendar {calendar} with {user}" : "Du hast den Kalender {calendar} mit {user} geteilt",
"{actor} shared calendar {calendar} with {user}" : "{actor} hat den Kalender {calendar} mit {user} geteilt",
"{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit dir",
"{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit Dir",
"You unshared calendar {calendar} from {user}" : "Du teilst den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
@@ -32,17 +32,16 @@
"You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
"{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
"You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wieder geöffnet",
"You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wieder geöffnet",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
"You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein <strong>Ereignis</strong> wurde bearbeitet",
"A calendar <strong>todo</strong> was modified" : "Eine <strong>Aufgabe</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet",
"A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
"WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Remote-Adresse: %s",
"Request ID: %s" : "Anfrage-ID: %s"
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -16,7 +16,7 @@ OC.L10N.register(
"You unshared calendar {calendar} from {user}" : "Sie teilen den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
"You shared calendar {calendar} with group {group}" : "Sie teilen den Kalender {calendar} mit der Gruppe {group}",
"You shared calendar {calendar} with group {group}" : "Sie haben den Kalender {calendar} mit der Gruppe {group} geteilt",
"{actor} shared calendar {calendar} with group {group}" : "{actor} teilt den Kalender {calendar} mit der Gruppe {group}",
"You unshared calendar {calendar} from group {group}" : "Sie teilen den Kalender {calendar} nicht mehr mit der Gruppe {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} teilt den Kalender {calendar} nicht mehr mit der Gruppe {group}",
@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
"WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s"

View File

@@ -14,7 +14,7 @@
"You unshared calendar {calendar} from {user}" : "Sie teilen den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
"You shared calendar {calendar} with group {group}" : "Sie teilen den Kalender {calendar} mit der Gruppe {group}",
"You shared calendar {calendar} with group {group}" : "Sie haben den Kalender {calendar} mit der Gruppe {group} geteilt",
"{actor} shared calendar {calendar} with group {group}" : "{actor} teilt den Kalender {calendar} mit der Gruppe {group}",
"You unshared calendar {calendar} from group {group}" : "Sie teilen den Kalender {calendar} nicht mehr mit der Gruppe {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} teilt den Kalender {calendar} nicht mehr mit der Gruppe {group}",
@@ -40,7 +40,6 @@
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
"WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Entfernte Adresse: %s",
"Request ID: %s" : "Anfragekennung: %s"

View File

@@ -1,11 +1,49 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Ημερολόγιο",
"Todos" : "Εργασίες προς εκτέλεση",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
"{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
"You shared calendar {calendar} with {user}" : "Διαμοιραστήκατε το ημερολογίου {calendar} με {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} διαμοίρασε το ημερολόγιο {calendar} με {user}",
"{actor} unshared calendar {calendar} from you" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από εσάς",
"You unshared calendar {calendar} from {user}" : "Σταματήσατε τον διαμοιρασμό ημερολογίου {calendar} από {user}",
"{actor} unshared calendar {calendar} from {user}" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από τον χρήστη {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από τον εαυτό τους",
"You shared calendar {calendar} with group {group}" : "Διαμοιραστείκατε ένα ημερολόγιο {calendar} με την ομάδα {group}",
"{actor} shared calendar {calendar} with group {group}" : "Ο {actor} διαμοιράστηκε το ημερολόγιο {calendar} με την ομάδα {group}",
"You unshared calendar {calendar} from group {group}" : "Σταματήσατε τον διαμοιρασμό του ημερολογίου {calendar} από την ομάδα {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από την ομάδα {group}",
"{actor} created event {event} in calendar {calendar}" : "Ο {actor} δημιούργησε το γεγονός {event} στο ημερολόγιο {calendar}",
"You created event {event} in calendar {calendar}" : "Δημιουργήσατε το γεγονός {event} στο ημερολόγιο {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "Ο {actor} διέγραψε το γεγονός {event} από το ημερολόγιο {calendar}",
"You deleted event {event} from calendar {calendar}" : "Διαγράψατε το συμβάν {event} από το ημερολόγιο {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
"You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
"{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
"You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
"You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
"You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
"A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Personal" : "Προσωπικά",
"Contacts" : "Επαφές",
"Technical details" : "Τεχνικές λεπτομέρειες",
"Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",
"Request ID: %s" : "Αίτημα ID: %s"
"Request ID: %s" : "ID Αιτήματος: %s"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,9 +1,47 @@
{ "translations": {
"Calendar" : "Ημερολόγιο",
"Todos" : "Εργασίες προς εκτέλεση",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
"{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
"You shared calendar {calendar} with {user}" : "Διαμοιραστήκατε το ημερολογίου {calendar} με {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} διαμοίρασε το ημερολόγιο {calendar} με {user}",
"{actor} unshared calendar {calendar} from you" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από εσάς",
"You unshared calendar {calendar} from {user}" : "Σταματήσατε τον διαμοιρασμό ημερολογίου {calendar} από {user}",
"{actor} unshared calendar {calendar} from {user}" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από τον χρήστη {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από τον εαυτό τους",
"You shared calendar {calendar} with group {group}" : "Διαμοιραστείκατε ένα ημερολόγιο {calendar} με την ομάδα {group}",
"{actor} shared calendar {calendar} with group {group}" : "Ο {actor} διαμοιράστηκε το ημερολόγιο {calendar} με την ομάδα {group}",
"You unshared calendar {calendar} from group {group}" : "Σταματήσατε τον διαμοιρασμό του ημερολογίου {calendar} από την ομάδα {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από την ομάδα {group}",
"{actor} created event {event} in calendar {calendar}" : "Ο {actor} δημιούργησε το γεγονός {event} στο ημερολόγιο {calendar}",
"You created event {event} in calendar {calendar}" : "Δημιουργήσατε το γεγονός {event} στο ημερολόγιο {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "Ο {actor} διέγραψε το γεγονός {event} από το ημερολόγιο {calendar}",
"You deleted event {event} from calendar {calendar}" : "Διαγράψατε το συμβάν {event} από το ημερολόγιο {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
"You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
"{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
"You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
"You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
"You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
"A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Personal" : "Προσωπικά",
"Contacts" : "Επαφές",
"Technical details" : "Τεχνικές λεπτομέρειες",
"Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s",
"Request ID: %s" : "Αίτημα ID: %s"
"Request ID: %s" : "ID Αιτήματος: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

49
apps/dav/l10n/en_GB.js Normal file
View File

@@ -0,0 +1,49 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Calendar",
"Todos" : "Todos",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}",
"You deleted calendar {calendar}" : "You deleted calendar {calendar}",
"{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}",
"You updated calendar {calendar}" : "You updated calendar {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you",
"You shared calendar {calendar} with {user}" : "You shared calendar {calendar} with {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} shared calendar {calendar} with {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} unshared calendar {calendar} from you",
"You unshared calendar {calendar} from {user}" : "You unshared calendar {calendar} from {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} unshared calendar {calendar} from {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} unshared calendar {calendar} from themselves",
"You shared calendar {calendar} with group {group}" : "You shared calendar {calendar} with group {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}",
"You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}",
"You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}",
"You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}",
"You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
"You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
"You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
"You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
"You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
"You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
"A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified",
"A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
"A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified",
"Contact birthdays" : "Contact birthdays",
"Personal" : "Personal",
"Contacts" : "Contacts",
"Technical details" : "Technical details",
"Remote Address: %s" : "Remote Address: %s",
"Request ID: %s" : "Request ID: %s"
},
"nplurals=2; plural=(n != 1);");

47
apps/dav/l10n/en_GB.json Normal file
View File

@@ -0,0 +1,47 @@
{ "translations": {
"Calendar" : "Calendar",
"Todos" : "Todos",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}",
"You deleted calendar {calendar}" : "You deleted calendar {calendar}",
"{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}",
"You updated calendar {calendar}" : "You updated calendar {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you",
"You shared calendar {calendar} with {user}" : "You shared calendar {calendar} with {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} shared calendar {calendar} with {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} unshared calendar {calendar} from you",
"You unshared calendar {calendar} from {user}" : "You unshared calendar {calendar} from {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} unshared calendar {calendar} from {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} unshared calendar {calendar} from themselves",
"You shared calendar {calendar} with group {group}" : "You shared calendar {calendar} with group {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}",
"You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}",
"You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}",
"You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}",
"You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
"You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
"You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
"You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
"You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
"You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
"A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified",
"A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
"A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified",
"Contact birthdays" : "Contact birthdays",
"Personal" : "Personal",
"Contacts" : "Contacts",
"Technical details" : "Technical details",
"Remote Address: %s" : "Remote Address: %s",
"Request ID: %s" : "Request ID: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

49
apps/dav/l10n/es_AR.js Normal file
View File

@@ -0,0 +1,49 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
"Todos" : "Pendientes",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
"You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
"You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
"You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
"You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
"A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
"Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s"
},
"nplurals=2; plural=(n != 1);");

47
apps/dav/l10n/es_AR.json Normal file
View File

@@ -0,0 +1,47 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Pendientes",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
"You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
"You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
"You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
"You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
"A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
"Personal" : "Personal",
"Contacts" : "Contactos",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -4,45 +4,44 @@ OC.L10N.register(
"Calendar" : "Calendario",
"Todos" : "Pendientes",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
"You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
"You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
"You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
"You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
"You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
"You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
"You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
"You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
"You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
"A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
"Personal" : "Personal",
"Contacts" : "Contactos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s"

View File

@@ -2,45 +2,44 @@
"Calendar" : "Calendario",
"Todos" : "Pendientes",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
"You created calendar {calendar}" : "Creaste el calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
"You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
"You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
"You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
"You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
"You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
"You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
"You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
"You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
"You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
"You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
"You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
"A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
"Contact birthdays" : "Cumpleaños del contacto",
"Personal" : "Personal",
"Contacts" : "Contactos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
"Request ID: %s" : "ID de solicitud: %s"

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Anniversaires des contacts",
"Personal" : "Personnel",
"Contacts" : "Contacts",
"WebDAV" : "WebDAV",
"Technical details" : "Détails techniques",
"Remote Address: %s" : "Adresse distante : %s",
"Request ID: %s" : "ID de la requête : %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Anniversaires des contacts",
"Personal" : "Personnel",
"Contacts" : "Contacts",
"WebDAV" : "WebDAV",
"Technical details" : "Détails techniques",
"Remote Address: %s" : "Adresse distante : %s",
"Request ID: %s" : "ID de la requête : %s"

50
apps/dav/l10n/gl.js Normal file
View File

@@ -0,0 +1,50 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
"Todos" : "Asuntos pendentes",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eliminou o calendario {calendar}",
"You deleted calendar {calendar}" : "Vostede eliminou o calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizou o calendario {calendar}",
"You updated calendar {calendar}" : "Vostede actualizou o calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartiu o calendario {calendar} con vostede",
"You shared calendar {calendar} with {user}" : "Vostede compartiu o calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartiu o calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} deixou de compartir o calendario {calendar} de vostede",
"You unshared calendar {calendar} from {user}" : "Vostede deixou de compartir o calendario {calendar} de {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} deixou de compartir o calendario {calendar} de {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} deixou de compartir o seu propio calendario {calendar}",
"You shared calendar {calendar} with group {group}" : "Vostede compartiu o calendario {calendar} co grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartiu o calendario {calendar} co grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Vostede deixou de compartir o calendario {calendar} do grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} deixou de compartir o calendario {calendar} do grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creou o evento {event} no calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Vostede creou o evento {event} no calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} eliminou o evento {event} do calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Vostede eliminou o evento {event} do calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
"You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
"A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Personal" : "Persoal",
"Contacts" : "Contactos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Enderezo remoto: %s",
"Request ID: %s" : "ID da solicitude: %s"
},
"nplurals=2; plural=(n != 1);");

48
apps/dav/l10n/gl.json Normal file
View File

@@ -0,0 +1,48 @@
{ "translations": {
"Calendar" : "Calendario",
"Todos" : "Asuntos pendentes",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} eliminou o calendario {calendar}",
"You deleted calendar {calendar}" : "Vostede eliminou o calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizou o calendario {calendar}",
"You updated calendar {calendar}" : "Vostede actualizou o calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartiu o calendario {calendar} con vostede",
"You shared calendar {calendar} with {user}" : "Vostede compartiu o calendario {calendar} con {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} compartiu o calendario {calendar} con {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} deixou de compartir o calendario {calendar} de vostede",
"You unshared calendar {calendar} from {user}" : "Vostede deixou de compartir o calendario {calendar} de {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} deixou de compartir o calendario {calendar} de {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} deixou de compartir o seu propio calendario {calendar}",
"You shared calendar {calendar} with group {group}" : "Vostede compartiu o calendario {calendar} co grupo {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} compartiu o calendario {calendar} co grupo {group}",
"You unshared calendar {calendar} from group {group}" : "Vostede deixou de compartir o calendario {calendar} do grupo {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} deixou de compartir o calendario {calendar} do grupo {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} creou o evento {event} no calendario {calendar}",
"You created event {event} in calendar {calendar}" : "Vostede creou o evento {event} no calendario {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} eliminou o evento {event} do calendario {calendar}",
"You deleted event {event} from calendar {calendar}" : "Vostede eliminou o evento {event} do calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
"You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
"{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
"You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
"You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
"You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
"A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Personal" : "Persoal",
"Contacts" : "Contactos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Enderezo remoto: %s",
"Request ID: %s" : "ID da solicitude: %s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Personal" : "Einka",
"Contacts" : "Tengiliðir",
"WebDAV" : "WebDAV",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
"Request ID: %s" : "Beiðni um auðkenni: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Personal" : "Einka",
"Contacts" : "Tengiliðir",
"WebDAV" : "WebDAV",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
"Request ID: %s" : "Beiðni um auðkenni: %s"

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Kontaktų gimtadieniai",
"Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
"WebDAV" : "WebDAV",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
"Request ID: %s" : "Užklausos ID: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Kontaktų gimtadieniai",
"Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
"WebDAV" : "WebDAV",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
"Request ID: %s" : "Užklausos ID: %s"

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Verjaardagen",
"Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
"WebDAV" : "WebDAV",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
"Request ID: %s" : "Aanvraag-ID: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Verjaardagen",
"Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
"WebDAV" : "WebDAV",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
"Request ID: %s" : "Aanvraag-ID: %s"

View File

@@ -9,10 +9,10 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Usunąłęś/ęłaś kalendarz {calendar}",
"{actor} updated calendar {calendar}" : "{actor} zaktualizował/-a kalendarz {calendar} .",
"You updated calendar {calendar}" : "Zaktualizowałeś/-aś kalendarz {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z tobą",
"{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z Tobą",
"You shared calendar {calendar} with {user}" : "Współdzielisz kalendarz {calendar} z {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} współdzieli kalendarz {calendar} z {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} zakończył/-a współdzielienie kalendarza {calendar} z tobą",
"{actor} unshared calendar {calendar} from you" : "{actor} zakończył/-a współdzielienie kalendarza {calendar} z Tobą",
"You unshared calendar {calendar} from {user}" : "Zakończyłeś/-aś współdzielenie kalendarza {calendar} z {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} zakończył/-a współdzielenie kalendarza {calendar} z {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} zakończył/-a wspóldzielenie kalendarza {calendar} od siebie",
@@ -42,9 +42,8 @@ OC.L10N.register(
"Contact birthdays" : "Urodziny kontaktu",
"Personal" : "Osobiste",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
"Request ID: %s" : "ID żądania: %s"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

View File

@@ -7,10 +7,10 @@
"You deleted calendar {calendar}" : "Usunąłęś/ęłaś kalendarz {calendar}",
"{actor} updated calendar {calendar}" : "{actor} zaktualizował/-a kalendarz {calendar} .",
"You updated calendar {calendar}" : "Zaktualizowałeś/-aś kalendarz {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z tobą",
"{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z Tobą",
"You shared calendar {calendar} with {user}" : "Współdzielisz kalendarz {calendar} z {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} współdzieli kalendarz {calendar} z {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} zakończył/-a współdzielienie kalendarza {calendar} z tobą",
"{actor} unshared calendar {calendar} from you" : "{actor} zakończył/-a współdzielienie kalendarza {calendar} z Tobą",
"You unshared calendar {calendar} from {user}" : "Zakończyłeś/-aś współdzielenie kalendarza {calendar} z {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} zakończył/-a współdzielenie kalendarza {calendar} z {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} zakończył/-a wspóldzielenie kalendarza {calendar} od siebie",
@@ -40,9 +40,8 @@
"Contact birthdays" : "Urodziny kontaktu",
"Personal" : "Osobiste",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
"Request ID: %s" : "ID żądania: %s"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Aniversário dos contatos",
"Personal" : "Pessoal",
"Contacts" : "Contatos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalhes técnicos",
"Remote Address: %s" : "Endereço remoto: %s",
"Request ID: %s" : "ID do solicitante: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Aniversário dos contatos",
"Personal" : "Pessoal",
"Contacts" : "Contatos",
"WebDAV" : "WebDAV",
"Technical details" : "Detalhes técnicos",
"Remote Address: %s" : "Endereço remoto: %s",
"Request ID: %s" : "ID do solicitante: %s"

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Дни рождения контакта",
"Personal" : "Личное",
"Contacts" : "Контакты",
"WebDAV" : "WebDAV",
"Technical details" : "Технические подробности",
"Remote Address: %s" : "Удаленный адрес: %s",
"Request ID: %s" : "ID запроса: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Дни рождения контакта",
"Personal" : "Личное",
"Contacts" : "Контакты",
"WebDAV" : "WebDAV",
"Technical details" : "Технические подробности",
"Remote Address: %s" : "Удаленный адрес: %s",
"Request ID: %s" : "ID запроса: %s"

View File

@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Narodeniny kontaktu",
"Personal" : "Osobné",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
"Request ID: %s" : "ID požiadavky: %s"

View File

@@ -40,7 +40,6 @@
"Contact birthdays" : "Narodeniny kontaktu",
"Personal" : "Osobné",
"Contacts" : "Kontakty",
"WebDAV" : "WebDAV",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
"Request ID: %s" : "ID požiadavky: %s"

View File

@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Calendar" : "Kalendar",
"Todos" : "Për tu bërë",
"{actor} created calendar {calendar}" : "{actor} krijoj kalendarin {calendar}",
"{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
"You deleted calendar {calendar}" : "Ju fshit kalendarin {calendar}",
@@ -31,9 +31,15 @@ OC.L10N.register(
"{actor} deleted todo {todo} from list {calendar}" : "{actor} u fshi todo{ todo} nga lista{calendar}",
"You deleted todo {todo} from list {calendar}" : "Ju fshit todo{todo} nga lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} u përditësua todo{todo} në listën{calendar}",
"You updated todo {todo} in list {calendar}" : "Ju përditësuat përtëbërë {todo} në listën{calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} zgjidhi përtëbërë {todo} në listën {calendar}",
"You solved todo {todo} in list {calendar}" : "Ju zgjidhët përtëbërë {todo} në listën {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} rihapi përtëbërë {todo} në listën {calendar}",
"You reopened todo {todo} in list {calendar}" : "Ju rihapët përtëbërë {todo} në listën {calendar}",
"A <strong>calendar</strong> was modified" : "Një <strong>kalendar</strong> u modifikua",
"A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
"A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
"Contact birthdays" : "Ditëlindjet e kontakteve",
"Personal" : "Personale",
"Contacts" : "Kontaktet",
"Technical details" : "Detaje teknike",

View File

@@ -1,7 +1,7 @@
{ "translations": {
"Calendar" : "Kalendar",
"Todos" : "Për tu bërë",
"{actor} created calendar {calendar}" : "{actor} krijoj kalendarin {calendar}",
"{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
"You deleted calendar {calendar}" : "Ju fshit kalendarin {calendar}",
@@ -29,9 +29,15 @@
"{actor} deleted todo {todo} from list {calendar}" : "{actor} u fshi todo{ todo} nga lista{calendar}",
"You deleted todo {todo} from list {calendar}" : "Ju fshit todo{todo} nga lista {calendar}",
"{actor} updated todo {todo} in list {calendar}" : "{actor} u përditësua todo{todo} në listën{calendar}",
"You updated todo {todo} in list {calendar}" : "Ju përditësuat përtëbërë {todo} në listën{calendar}",
"{actor} solved todo {todo} in list {calendar}" : "{actor} zgjidhi përtëbërë {todo} në listën {calendar}",
"You solved todo {todo} in list {calendar}" : "Ju zgjidhët përtëbërë {todo} në listën {calendar}",
"{actor} reopened todo {todo} in list {calendar}" : "{actor} rihapi përtëbërë {todo} në listën {calendar}",
"You reopened todo {todo} in list {calendar}" : "Ju rihapët përtëbërë {todo} në listën {calendar}",
"A <strong>calendar</strong> was modified" : "Një <strong>kalendar</strong> u modifikua",
"A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
"A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
"Contact birthdays" : "Ditëlindjet e kontakteve",
"Personal" : "Personale",
"Contacts" : "Kontaktet",
"Technical details" : "Detaje teknike",

View File

@@ -6,7 +6,7 @@ OC.L10N.register(
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
"{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi",
"You deleted calendar {calendar}" : "{calendar} takvimi sildiniz",
"You deleted calendar {calendar}" : "{calendar} takvimini sildiniz",
"{actor} updated calendar {calendar}" : "{actor}, {calendar} takvimini güncelledi",
"You updated calendar {calendar}" : "{calendar} takvimini güncellediniz",
"{actor} shared calendar {calendar} with you" : "{actor}, {calendar} takvimini sizinle paylaştı",
@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "Kişi doğum günleri",
"Personal" : "Kişisel",
"Contacts" : "Kişiler",
"WebDAV" : "WebDAV",
"Technical details" : "Teknik ayrıntılar",
"Remote Address: %s" : "Uzak Adres: %s",
"Request ID: %s" : "İstek Kodu: %s"

View File

@@ -4,7 +4,7 @@
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
"{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi",
"You deleted calendar {calendar}" : "{calendar} takvimi sildiniz",
"You deleted calendar {calendar}" : "{calendar} takvimini sildiniz",
"{actor} updated calendar {calendar}" : "{actor}, {calendar} takvimini güncelledi",
"You updated calendar {calendar}" : "{calendar} takvimini güncellediniz",
"{actor} shared calendar {calendar} with you" : "{actor}, {calendar} takvimini sizinle paylaştı",
@@ -40,7 +40,6 @@
"Contact birthdays" : "Kişi doğum günleri",
"Personal" : "Kişisel",
"Contacts" : "Kişiler",
"WebDAV" : "WebDAV",
"Technical details" : "Teknik ayrıntılar",
"Remote Address: %s" : "Uzak Adres: %s",
"Request ID: %s" : "İstek Kodu: %s"

View File

@@ -9,7 +9,7 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "您删除的日历 {calendar}",
"{actor} updated calendar {calendar}" : "{actor} 更新了日历 {calendar}",
"You updated calendar {calendar}" : "您更新了日历 {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} 分享给您的日历 {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} 收到的日历分享 {calendar}",
"You shared calendar {calendar} with {user}" : "您与 {user} 分享了日历 {calendar}",
"{actor} shared calendar {calendar} with {user}" : "{actor} 与 {user} 分享了日历 {calendar}",
"{actor} unshared calendar {calendar} from you" : "{actor} 取消分享 {calendar} 给您",
@@ -42,7 +42,6 @@ OC.L10N.register(
"Contact birthdays" : "联系人生日",
"Personal" : "个人",
"Contacts" : "联系人",
"WebDAV" : "WebDAV",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
"Request ID: %s" : "请求 ID: %s"

View File

@@ -7,7 +7,7 @@
"You deleted calendar {calendar}" : "您删除的日历 {calendar}",
"{actor} updated calendar {calendar}" : "{actor} 更新了日历 {calendar}",
"You updated calendar {calendar}" : "您更新了日历 {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} 分享给您的日历 {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} 收到的日历分享 {calendar}",
"You shared calendar {calendar} with {user}" : "您与 {user} 分享了日历 {calendar}",
"{actor} shared calendar {calendar} with {user}" : "{actor} 与 {user} 分享了日历 {calendar}",
"{actor} unshared calendar {calendar} from you" : "{actor} 取消分享 {calendar} 给您",
@@ -40,7 +40,6 @@
"Contact birthdays" : "联系人生日",
"Personal" : "个人",
"Contacts" : "联系人",
"WebDAV" : "WebDAV",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
"Request ID: %s" : "请求 ID: %s"

View File

@@ -84,7 +84,11 @@ class Calendar extends Base {
$this->l = $this->languageFactory->get('dav', $language);
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg')));
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg')));
}
if ($event->getSubject() === self::SUBJECT_ADD) {
$subject = $this->l->t('{actor} created calendar {calendar}');

View File

@@ -80,7 +80,11 @@ class Event extends Base {
$this->l = $this->languageFactory->get('dav', $language);
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg')));
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'places/calendar-dark.svg')));
}
if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_event') {
$subject = $this->l->t('{actor} created event {event} in calendar {calendar}');

View File

@@ -40,7 +40,11 @@ class Todo extends Event {
$this->l = $this->languageFactory->get('dav', $language);
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.svg')));
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/checkmark.svg')));
}
if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo') {
$subject = $this->l->t('{actor} created todo {todo} in list {calendar}');

View File

@@ -276,6 +276,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
// query for shared calendars
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_map(function($principal) {
return urldecode($principal);
}, $principals);
$principals[]= $principalUri;
$fields = array_values($this->propertyMap);
@@ -1428,7 +1431,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$query = "SELECT `uri`, `operation` FROM `*PREFIX*calendarchanges` WHERE `synctoken` >= ? AND `synctoken` < ? AND `calendarid` = ? ORDER BY `synctoken`";
if ($limit>0) {
$query.= " `LIMIT` " . (int)$limit;
$query.= " LIMIT " . (int)$limit;
}
// Fetching all changes
@@ -2009,7 +2012,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if (in_array($property->name, self::$indexProperties)) {
$value = $property->getValue();
// is this a shitty db?
if ($this->db->supports4ByteText()) {
if (!$this->db->supports4ByteText()) {
$value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
}
$value = substr($value, 0, 254);

View File

@@ -122,7 +122,14 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
'principal' => $this->getOwner(),
'protected' => true,
];
} else {
$acl[] = [
'privilege' => '{DAV:}write-properties',
'principal' => $this->getOwner(),
'protected' => true,
];
}
if ($this->getOwner() !== parent::getOwner()) {
$acl[] = [
'privilege' => '{DAV:}read',
@@ -135,6 +142,12 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
'principal' => parent::getOwner(),
'protected' => true,
];
} else {
$acl[] = [
'privilege' => '{DAV:}write-properties',
'principal' => parent::getOwner(),
'protected' => true,
];
}
}
if ($this->isPublic()) {

View File

@@ -1,8 +1,10 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
* @copyright Copyright (c) 2017, Georg Ehrke
*
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Georg Ehrke <oc.list@georgehrke.com>
*
* @license AGPL-3.0
*
@@ -21,10 +23,15 @@
*/
namespace OCA\DAV\CalDAV\Schedule;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\ILogger;
use OCP\Mail\IMailer;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\DateTimeParser;
use Sabre\VObject\ITip;
use Sabre\CalDAV\Schedule\IMipPlugin as SabreIMipPlugin;
use Sabre\VObject\Recur\EventIterator;
/**
* iMIP handler.
*
@@ -47,15 +54,23 @@ class IMipPlugin extends SabreIMipPlugin {
/** @var ILogger */
private $logger;
/** @var ITimeFactory */
private $timeFactory;
const MAX_DATE = '2038-01-01';
/**
* Creates the email handler.
*
* @param IMailer $mailer
* @param ILogger $logger
* @param ITimeFactory $timeFactory
*/
function __construct(IMailer $mailer, ILogger $logger) {
function __construct(IMailer $mailer, ILogger $logger, ITimeFactory $timeFactory) {
parent::__construct('');
$this->mailer = $mailer;
$this->logger = $logger;
$this->timeFactory = $timeFactory;
}
/**
@@ -85,6 +100,11 @@ class IMipPlugin extends SabreIMipPlugin {
return;
}
// don't send out mails for events that already took place
if ($this->isEventInThePast($iTipMessage->message)) {
return;
}
$sender = substr($iTipMessage->sender, 7);
$recipient = substr($iTipMessage->recipient, 7);
@@ -125,4 +145,49 @@ class IMipPlugin extends SabreIMipPlugin {
}
}
/**
* check if event took place in the past already
* @param VCalendar $vObject
* @return bool
*/
private function isEventInThePast(VCalendar $vObject) {
$component = $vObject->VEVENT;
$firstOccurrence = $component->DTSTART->getDateTime()->getTimeStamp();
// Finding the last occurrence is a bit harder
if (!isset($component->RRULE)) {
if (isset($component->DTEND)) {
$lastOccurrence = $component->DTEND->getDateTime()->getTimeStamp();
} elseif (isset($component->DURATION)) {
$endDate = clone $component->DTSTART->getDateTime();
// $component->DTEND->getDateTime() returns DateTimeImmutable
$endDate = $endDate->add(DateTimeParser::parse($component->DURATION->getValue()));
$lastOccurrence = $endDate->getTimeStamp();
} elseif (!$component->DTSTART->hasTime()) {
$endDate = clone $component->DTSTART->getDateTime();
// $component->DTSTART->getDateTime() returns DateTimeImmutable
$endDate = $endDate->modify('+1 day');
$lastOccurrence = $endDate->getTimeStamp();
} else {
$lastOccurrence = $firstOccurrence;
}
} else {
$it = new EventIterator($vObject, (string)$component->UID);
$maxDate = new \DateTime(self::MAX_DATE);
if ($it->isInfinite()) {
$lastOccurrence = $maxDate->getTimestamp();
} else {
$end = $it->getDtEnd();
while($it->valid() && $end < $maxDate) {
$end = $it->getDtEnd();
$it->next();
}
$lastOccurrence = $end->getTimestamp();
}
}
$currentTime = $this->timeFactory->getTime();
return $lastOccurrence < $currentTime;
}
}

View File

@@ -162,6 +162,9 @@ class CardDavBackend implements BackendInterface, SyncSupport {
// query for shared calendars
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_map(function($principal) {
return urldecode($principal);
}, $principals);
$principals[]= $principalUri;
$query = $this->db->getQueryBuilder();

View File

@@ -25,6 +25,8 @@ use OCP\IRequest;
use OCP\ISession;
use OCP\IUserSession;
use Sabre\DAV\Auth\Backend\AbstractBearer;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
class BearerAuth extends AbstractBearer {
/** @var IUserSession */
@@ -77,4 +79,16 @@ class BearerAuth extends AbstractBearer {
return false;
}
/**
* \Sabre\DAV\Auth\Backend\AbstractBearer::challenge sets an WWW-Authenticate
* header which some DAV clients can't handle. Thus we override this function
* and make it simply return a 401.
*
* @param RequestInterface $request
* @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response) {
$response->setStatus(401);
}
}

View File

@@ -94,26 +94,9 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
$level = \OCP\Util::DEBUG;
}
$message = $ex->getMessage();
if ($ex instanceof Exception) {
if (empty($message)) {
$response = new Response($ex->getHTTPCode());
$message = $response->getStatusText();
}
$message = "HTTP/1.1 {$ex->getHTTPCode()} $message";
}
$user = \OC_User::getUser();
$exception = [
'Message' => $message,
'Exception' => $exceptionClass,
'Code' => $ex->getCode(),
'Trace' => $ex->getTraceAsString(),
'File' => $ex->getFile(),
'Line' => $ex->getLine(),
'User' => $user,
];
$this->logger->log($level, 'Exception: ' . json_encode($exception), ['app' => $this->appName]);
$this->logger->logException($ex, [
'app' => $this->appName,
'level' => $level,
]);
}
}

View File

@@ -184,7 +184,7 @@ class File extends Node implements IFile {
$fileExists = $storage->file_exists($internalPath);
}
if (!$run || $renameOkay === false || $fileExists === false) {
\OCP\Util::writeLog('webdav', 'renaming part file to final file failed', \OCP\Util::ERROR);
\OCP\Util::writeLog('webdav', 'renaming part file to final file failed ($run: ' . ( $run ? 'true' : 'false' ) . ', $renameOkay: ' . ( $renameOkay ? 'true' : 'false' ) . ', $fileExists: ' . ( $fileExists ? 'true' : 'false' ) . ')', \OCP\Util::ERROR);
throw new Exception('Could not rename part file to final file');
}
} catch (ForbiddenException $ex) {

View File

@@ -66,6 +66,7 @@ class FilesPlugin extends ServerPlugin {
const DATA_FINGERPRINT_PROPERTYNAME = '{http://owncloud.org/ns}data-fingerprint';
const HAS_PREVIEW_PROPERTYNAME = '{http://nextcloud.org/ns}has-preview';
const MOUNT_TYPE_PROPERTYNAME = '{http://nextcloud.org/ns}mount-type';
const IS_ENCRYPTED_PROPERTYNAME = '{http://nextcloud.org/ns}is-encrypted';
/**
* Reference to main server object
@@ -146,7 +147,6 @@ class FilesPlugin extends ServerPlugin {
* @return void
*/
public function initialize(\Sabre\DAV\Server $server) {
$server->xml->namespaceMap[self::NS_OWNCLOUD] = 'oc';
$server->xml->namespaceMap[self::NS_NEXTCLOUD] = 'nc';
$server->protectedProperties[] = self::FILEID_PROPERTYNAME;
@@ -161,6 +161,7 @@ class FilesPlugin extends ServerPlugin {
$server->protectedProperties[] = self::DATA_FINGERPRINT_PROPERTYNAME;
$server->protectedProperties[] = self::HAS_PREVIEW_PROPERTYNAME;
$server->protectedProperties[] = self::MOUNT_TYPE_PROPERTYNAME;
$server->protectedProperties[] = self::IS_ENCRYPTED_PROPERTYNAME;
// normally these cannot be changed (RFC4918), but we want them modifiable through PROPPATCH
$allowedProperties = ['{DAV:}getetag'];
@@ -288,10 +289,16 @@ class FilesPlugin extends ServerPlugin {
$httpRequest = $this->server->httpRequest;
if ($node instanceof \OCA\DAV\Connector\Sabre\Node) {
/**
* This was disabled, because it made dir listing throw an exception,
* so users were unable to navigate into folders where one subitem
* is blocked by the files_accesscontrol app, see:
* https://github.com/nextcloud/files_accesscontrol/issues/65
if (!$node->getFileInfo()->isReadable()) {
// avoid detecting files through this means
throw new NotFound();
}
*/
$propFind->handle(self::FILEID_PROPERTYNAME, function() use ($node) {
return $node->getFileId();
@@ -337,6 +344,11 @@ class FilesPlugin extends ServerPlugin {
}
});
$propFind->handle(self::IS_ENCRYPTED_PROPERTYNAME, function() use ($node) {
$result = $node->getFileInfo()->isEncrypted() ? '1' : '0';
return $result;
});
$propFind->handle(self::HAS_PREVIEW_PROPERTYNAME, function () use ($node) {
return json_encode($this->previewManager->isAvailable($node->getFileInfo()));
});

View File

@@ -28,6 +28,7 @@
*/
namespace OCA\DAV;
use OC\AppFramework\Utility\TimeFactory;
use OCA\DAV\CalDAV\Schedule\IMipPlugin;
use OCA\DAV\CardDAV\ImageExportPlugin;
use OCA\DAV\CardDAV\PhotoCache;
@@ -73,6 +74,7 @@ class Server {
$logger = \OC::$server->getLogger();
$mailer = \OC::$server->getMailer();
$dispatcher = \OC::$server->getEventDispatcher();
$timezone = new TimeFactory();
$root = new RootCollection();
$this->server = new \OCA\DAV\Connector\Sabre\Server($root);
@@ -134,7 +136,7 @@ class Server {
$this->server->addPlugin(new \OCA\DAV\CalDAV\Plugin());
$this->server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());
$this->server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin());
$this->server->addPlugin(new IMipPlugin($mailer, $logger));
$this->server->addPlugin(new IMipPlugin($mailer, $logger, $timezone));
$this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin());
$this->server->addPlugin(new \Sabre\CalDAV\Notifications\Plugin());
$this->server->addPlugin(new DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest()));
@@ -163,6 +165,9 @@ class Server {
$this->server->addPlugin(new CopyEtagHeaderPlugin());
// allow setup of additional plugins
$dispatcher->dispatch('OCA\DAV\Connector\Sabre::addPlugin', $event);
// Some WebDAV clients do require Class 2 WebDAV support (locking), since
// we do not provide locking we emulate it using a fake locking plugin.
if($request->isUserAgent([

View File

@@ -40,6 +40,7 @@ class AvatarHomeTest extends TestCase {
private $avatarManager;
public function setUp() {
parent::setUp();
$this->avatarManager = $this->createMock(IAvatarManager::class);
$this->home = new AvatarHome(['uri' => 'principals/users/admin'], $this->avatarManager);
}

View File

@@ -91,6 +91,9 @@ abstract class AbstractCalDavBackendTest extends TestCase {
if (is_null($this->backend)) {
return;
}
$this->principal->expects($this->any())->method('getGroupMembership')
->withAnyParameters()
->willReturn([self::UNIT_TEST_GROUP, self::UNIT_TEST_GROUP2]);
$calendars = $this->backend->getCalendarsForUser(self::UNIT_TEST_USER);
foreach ($calendars as $calendar) {
$this->dispatcher->expects($this->at(0))

View File

@@ -539,7 +539,7 @@ CREATED;VALUE=DATE-TIME:20130910T125139Z
UID:47d15e3ec8
LAST-MODIFIED;VALUE=DATE-TIME:20130910T125139Z
DTSTAMP;VALUE=DATE-TIME:20130910T125139Z
SUMMARY:123 Event
SUMMARY:123 Event 🙈
DTSTART;VALUE=DATE-TIME:20130912T130000Z
DTEND;VALUE=DATE-TIME:20130912T140000Z
ATTENDEE;CN=test:mailto:foo@bar.com

Some files were not shown because too many files have changed in this diff Show More