Added read and share permissions instead of all (default ones)
Added positive case
Check also permissions update
Added tests for resharing with public links when the user doesn't have enough permisssions
The file list UI logic that renders the next page doesn't properly
exclude hidden files when not shown. This fix makes sure that only rows
that are actually visible are counted when rendering a page, this makes
sure that the page will always have enough elements displayed.
* Properly expire ext storage versions
System-wide external storages have no real owner so the current user is
used as owner. However when running cron.php there is no current user,
so no expiry can be done.
This fix adds an user argument to the expire() function to tell for
which user to expire files. This information is anyway always available
now through the expire command job.
* Move version expire setupFS into the expire function
* Add comment about not tearing down in version Storage::expire()
When creating link shares from external storage, the filesystem cannot
find an owner in some scenarios (ex: system-wide mounts). In such
cases, fall back to using the current user's trashbin which happens to
also be the user who created the link share.
Fixes an issue where this scenario made deletion impossible due to
missing user information.
When transferring ownership, only the local files will be transferred
during the rename operation. This means that the analyzing code doesn't
need to recurse into any mount points.
Furthermore this fixes issues where FailedStorage might appear as mount
points as a result of inaccessible external storages or shares. So this
makes it more robust.
When uploading a file to a storage that has reduced permissions, we
still need to be able to create or rename the part files to the final
file. This fix makes that rename possible.
Local shares should only be scanned when doing it for the owner to
avoid repeatedly rescanning the same shared storage over and over again
for every recipient.
This prevents a validation failure where the code checks whether a file
is already shared with another user, but the check disables itself when
the owner is the same. Processing the groups first prevents the check
to kick in too early when the group share still has the old owner while
we try transferring the user share.
Storage wrappers should normally always be registered inside a presetup
hook. However in the public link scenario this is not possible and
there is currently no good alternative with the current architecture.
Instead of logging a warning every time, this fix prevents the warning
to be shown but also adds a FIXME in the code for the future. This is
ok because this app is already using private/internal APIs at the
moment and should be reworked properly in the future.
Prevent newlines and zero byte chars to be used in files UI URL and
redirect to root if one is detected.
Added additional hardening in case the request fails with 400 or the
XMLHttpRequest throw a DOMException, both can happen with invalid paths
as well.
This is needed because in some cases like LDAP, the user manager itself
might trigger avatar updates which would internally also call
initMountPoints with the same user. This could cause the same user to
be setup twice, and in some sharing situations could cause recursive
deduplication of shares by adding "(2)" every time.
When unsharing from self in a group share situation, the share items
passed to the post_unshareFromSelf hook were using the wrong format in
which the attribute names (ex: "share_type") have non camel-case format.
This fix makes sure that in group sharing case we use the correct
format. It looks like the code was already producing it but in
array_merge it was not using it and adding the unprocessed one.
* Escape LIKE parameter
* Escape LIKE parameter
* Escape LIKE parameter
* Escape LIKE parameter
* Escape LIKE parameter
* Use correct method in the AbstractMapping class
* Change the getNamesBySearch method so that input can be properly escaped while still supporting matches
* Don't escape hardcoded wildcard
Because fetching the user information will also fetch the avatar, the
avatar code sets up the FS and leaves the mount points cached, we need
to call tearDownFS to clear that up.
* Don't parse info.xml but reuse already cached app infos - fixes#25603
* Use === in InfoParser. Fixes test
* InfoParser should not depend on UrlGenerator - fixes issue with session being closed too early
The check for two factor enforcement would return true for non-existing
users. This fix makes it return false in order to be able to perform
the regular login which will then fail and return false.
This prevents throwing PasswordLoginForbidden for non-existing users.
The call to UserList.add() was wrong and was passing "user.lastLogin"
as the sort argument which would cause the list to be resorted over and
over again for every added item after loading the next page of users.
Because some cron jobs do not always properly clean up their FS usage
and others might not clean up before setting up the FS, this could
cause potential side effects.
To make sure we exclude side effects, we tear down the FS between cron
jobs.
In some cross-local-storage use cases, the Local storage is
instantiated with "/" as data directory. In such cases, calling
realpath() would cause PHP warnings when open_basedir is set.
This fix bypasses the realpath() call when dealing with a root storage.
The DefaultShareProvider now does a DB-level check to find out whether
file_source is accessible at all (deleted file) or whether it's in the
trashbin of a home storage.
One small corner case where the home storage id is in md5 form cannot
be covered properly with this approach.
Fixes an issue where retrying a previously failed federated share would
not properly reset the availability flag because the return value was
undefined instead of "true".
Instead of pre-rendering all multiselects with lots of group entries,
the current groups are now displayed as simple labels.
Behind the labels there is a pencil icon like for other fields.
When clicking the pencil icon, the dropdown will be spawned and will
open itself.
Upon closing of the dropdown, the label comes back with the updated
selection and the dropdown is destroyed.
* [stable9.1] 2FA can now be enabled and disabled via the provisioning api
* [9.1] Return proper 'true' and 'false' values for two_factor_auth_enabled in provisioning api
Hidden files (dot files) are now always rendered in the DOM to make
sure that all file operations and selection still work as expected.
Their visibility is now toggled on CSS level.
Connection checks will be done by using the configuration id, with the
stored password. LDAP password won't be sent to the client.
Conflicts:
apps/user_ldap/ajax/testConfiguration.php
* Password Update Notification
Added an IF ELSE statement to ensure that feedback is provided to the
user on successfully updating a user password in settings.
* Password Update Success Message
Updated the password update success message
Whenever a group share is created after a direct share, the stime order
needs to be properly considered in the repair routine, considering that
the direct user share is appended to the $subShares array and breaking
its order.
Pick the most recent subshare that has no parenthesis from duplication
which should match whichever name the user picked last. If all
subshares have duplicate parenthesis names, use the least recent group
share's target instead.
For owncloud/client#5056
Users can configure arbitrary subfolders for syncing, therefore we should
always return it when asked for.
The sync client makes sure to not always ask for it to save bandwidth.
* Fix file permissions for SMB (read-only folders will be writeable)
* Read-only folders won't be deletable
* Added comment for the read-only behaviour for folders
* [stable9.1] Next step jenkinsfile (#25622)
* Adding timestamper and evaluation of test results even in case of failure
* Adding build timeout
* use fixed value 120 minutes as timeout for each test executing for now
* Terminate the build as soon as test execution fails
* Adjust external testing as well
* Finalize use of executeAndReport
* [stable9.1] Fix discoverymanager tests (#25769)
* Allow testing of the DiscoveryManager
* Array sort order is of no relevance
See issue #25461.
When using a theme with alternative filetype icons `OCA.External.StatusManager.Utils.getIconRoute` should respect that, rather than hard coding the default icon.
Note this change does not affect windows_network_drive and sharepoint icons, which appear not to be easily themeable.
Whenever an LDAP user also has an email address defined in LDAP, the
LDAP code will try and update the email address of the locally known
user. This happens at login time or every time the user's LDAP
attributes are processed.
There is code listening to the email setting hook which updates the
system address book, which also will trigger FS setup due to avatars
and other things.
This fix only sets the email address when really necessary.
* Group shares with same source and target
Fixes#24575
Note that this is a very limited solution and eventually we want smarter
merging!
* Add integration tests for merging received shares
* Improved share grouping readability + fixed test
* Add repair step for unmerged shares (WIP)
* Added more tests for sharing's MountProvider
* Group incoming shares for resharing in JS
* Adjust repair version check for unmerged shares
* Fix RepairUnmergedShares to not skip valid repair cases
The repair step was a bit overeager to skip repairing so it missed the
case where a group share exists without subshares but with an
additional direct user share.
* Add integration tests for double shares with rename in between
* Make share target consistent when grouping group share with user share
In some situations, a group share is created before a user share, and
the recipient renamed the received share before the latter is created.
In this situation, the "file_target" was already modified and the second
created share must align to the already renamed share.
To achieve this, the MountProvider now groups only by "item_source"
value and sorts by share time. This makes it so that the least recent
share is selected as super-share and its "file_target" value is then
adjusted in all grouped shares.
This fixes the issue where this situation would have different
"file_target" values resulting in two shared folders appearing instead
of one.
* Filelist change dir auto-prepend slash
Prepend a slash to directories in case it was missing since many places
assume that it's there.
* Fix js unit test in filelist spec
* Workaround to check htaccess in case of redirects
In some setups, the web server will redirect any call to "data/" to the
main page. This causes the XHR to return the 200 HTTP status code and
the body contains the HTML page of the main page / files app.
This fix improves the htaccess failure detection by adding a known
string inside the test file "htaccesstest.txt". If we are able to find
this string, it means that the web server didn't block access to that
file.
* Fix setup check unit test (#25439)
* Revert "Merge pull request #25240 from owncloud/remove-svg"
This reverts commit 8b8d2b679a, reversing
changes made to a35747b6fa.
* Revert "Merge pull request #25253 from owncloud/users-fixotherquotadropdown"
This reverts commit a35747b6fa, reversing
changes made to a573b6863c.
* Revert "Merge pull request #25314 from owncloud/files_external-backends-config"
This reverts commit a573b6863c, reversing
changes made to 8147eefaeb.
* Revert "Add all properties while creating a subscription (#25318)"
This reverts commit aaf4c3073a.
* Revert "Merge pull request #25276 from owncloud/delete-own-session-token"
This reverts commit e42ce62ce2, reversing
changes made to aaf4c3073a.
* Revert "Merge pull request #25262 from owncloud/fed-sharing-error"
This reverts commit 027715f9ac, reversing
changes made to e42ce62ce2.
* Wait for socket to be open
* Fix call on null
* Allow DB access for MountProviderTest
Makes unit tests pass when using object store, since their FS access is
actually oc_filecache DB access. It is currently not possible to mock
or bypass the logic from "SharedMount::verifyMountPoint()" triggered by
this test.
When loading the next page of search results, make sure that the loop
can end if there are no more elements in case the total doesn't match.
Also added a check to avoid recomputing the search results whenever the
setFilter() is called with the same value. This happens when navigating
away to another folder, the search field gets cleared automatically and
it calls FileList.setFilter('').
When loading the next page of search results, make sure that the loop
can end if there are no more elements in case the total doesn't match.
Also added a check to avoid recomputing the search results whenever the
setFilter() is called with the same value. This happens when navigating
away to another folder, the search field gets cleared automatically and
it calls FileList.setFilter('').
* String columns with a length higher then 4000 are converted into a CLOB columns automagically - we have to respect this when migrating
* Adding schema migration tests to prevent unnecessary and non-sense migration steps
Fix Oracle autoincrement and unsigned handling
* Fix sqlite integer type for autoincrement
* Use lower case table names - fixes pg
* Fix postgres with default -1 - this only affect pg 9.4 servers - 9.5 seems to work fine
When decrypting all files of a single user, the admin usually does not
intend encryption to be suddenly disabled for everyone. This fix
reenables encryption after decrypting for a single user.
Decrypting for all users will still disable encryption globally.
When filtering the file list, if a result is on an unrendered page,
make sure to call _nextPage() to prerender the pages in order to
display all matching results.
Link shares always allowed deletion, however internally the permissions
were stored as 7 which lacked delete permissions. This created an
inconsistency in the Webdav permissions.
This fix makes sure we include delete permissions in the share
permissions, which now become 15.
In case a client is still passing 7 for legacy reasons, it gets
converted automatically to 15.
The trashbin code does some gymnastics with the file data at render
time. This fix makes sure that the modifications done on the file data
are only local to the rendering code and doesn't affect the actual file
data from the file list.
2016-06-23 11:51:23 +02:00
546 changed files with 12468 additions and 2178 deletions
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
"Allowed characters {count} of {max}":"{count} sur {max} caractères autorisés",
"Error occurred while retrieving comment with id {id}":"Une erreur est survenue lors de la récupération du commentaire avec l'id {id}",
"Error occurred while updating comment with id {id}":"Une erreur est survenue lors de la mise à jour du commentaire avec l'id {id}",
"Error occurred while posting comment":"Une erreur est survenue lors de l'envoi du commentaire",
"{count} unread comments":"{count} commentaires non lus",
"Comment":"Commenter",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Commentaires</strong> pour les fichiers <em>(toujours listés dans le flux)</em>",
"Allowed characters {count} of {max}":"{count} sur {max} caractères autorisés",
"Error occurred while retrieving comment with id {id}":"Une erreur est survenue lors de la récupération du commentaire avec l'id {id}",
"Error occurred while updating comment with id {id}":"Une erreur est survenue lors de la mise à jour du commentaire avec l'id {id}",
"Error occurred while posting comment":"Une erreur est survenue lors de l'envoi du commentaire",
"{count} unread comments":"{count} commentaires non lus",
"Comment":"Commenter",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Commentaires</strong> pour les fichiers <em>(toujours listés dans le flux)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Reacties</strong> voor bestanden <em>(altijd getoond in de stroom)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Reacties</strong> voor bestanden <em>(altijd getoond in de stroom)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Komentarze</strong> dla plików <em>(zawsze wypisane w strumieniu)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Komentarze</strong> dla plików <em>(zawsze wypisane w strumieniu)</em>",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}":"Ocorreu um erro ao recuperar comentário com o id {id}",
"Error occurred while updating comment with id {id}":"Ocorreu um erro durante a atualização do comentário com o id {id}",
"Error occurred while posting comment":"Ocorreu um erro ao postar o comentário",
"{count} unread comments":"{count} comentários não lidos",
"Comment":"Comentário",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Comemtários</strong> para arquivos <em>(sempre listados no fluxo)</em>",
"Allowed characters {count} of {max}":"Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}":"Ocorreu um erro ao recuperar comentário com o id {id}",
"Error occurred while updating comment with id {id}":"Ocorreu um erro durante a atualização do comentário com o id {id}",
"Error occurred while posting comment":"Ocorreu um erro ao postar o comentário",
"{count} unread comments":"{count} comentários não lidos",
"Comment":"Comentário",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Comemtários</strong> para arquivos <em>(sempre listados no fluxo)</em>",
"Allowed characters {count} of {max}":"{count} de {max} caracteres restantes",
"Error occurred while retrieving comment with id {id}":"Ocorreu um erro ao tentar obter o comentário com o id {id}",
"Error occurred while updating comment with id {id}":"Ocorreu um erro ao tentar atualizar o comentário com o id {id}",
"Error occurred while posting comment":"Ocorreu um erro ao tentar publicar o comentário",
"{count} unread comments":"{count} comentários não lidos",
"Comment":"Comentário",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Comentários</strong> aos ficheiros <em>(listados sempre na transmissão)</em>",
"Allowed characters {count} of {max}":"{count} de {max} caracteres restantes",
"Error occurred while retrieving comment with id {id}":"Ocorreu um erro ao tentar obter o comentário com o id {id}",
"Error occurred while updating comment with id {id}":"Ocorreu um erro ao tentar atualizar o comentário com o id {id}",
"Error occurred while posting comment":"Ocorreu um erro ao tentar publicar o comentário",
"{count} unread comments":"{count} comentários não lidos",
"Comment":"Comentário",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Comentários</strong> aos ficheiros <em>(listados sempre na transmissão)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Комментарии</strong> к файлам <em>(всегда перечислены в потоке)</em>",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Комментарии</strong> к файлам <em>(всегда перечислены в потоке)</em>",
"Allowed characters {count} of {max}":"Shenja të lejuara {count} nga {max}",
"Error occurred while retrieving comment with id {id}":"Ndodhi një gabim teksa merrej komenti me id{id}",
"Error occurred while updating comment with id {id}":"Ndodhi një gabim teksa përditësohej komenti me id{id}",
"Error occurred while posting comment":"Ndodhi një gabim teksa postohej komenti",
"{count} unread comments":"{count} komente të palexuar",
"Comment":"Koment",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Komente</strong> për kartela <em>(përherë të pranishme në rrjedhë)</em>",
"Allowed characters {count} of {max}":"Shenja të lejuara {count} nga {max}",
"Error occurred while retrieving comment with id {id}":"Ndodhi një gabim teksa merrej komenti me id{id}",
"Error occurred while updating comment with id {id}":"Ndodhi një gabim teksa përditësohej komenti me id{id}",
"Error occurred while posting comment":"Ndodhi një gabim teksa postohej komenti",
"{count} unread comments":"{count} komente të palexuar",
"Comment":"Koment",
"<strong>Comments</strong> for files <em>(always listed in stream)</em>":"<strong>Komente</strong> për kartela <em>(përherë të pranishme në rrjedhë)</em>",
@@ -140,12 +142,11 @@ class ImageExportPluginTest extends TestCase {
'empty vcard'=>[false,''],
'vcard without PHOTO'=>[false,"BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n"],
'vcard 3 with PHOTO'=>[['Content-Type'=>'image/jpeg','body'=>'12345'],"BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU=\r\nEND:VCARD\r\n"],
//
// TODO: these three below are not working - needs debugging
'vcard 4 with PHOTO URL'=>[['Content-Type'=>'image/jpeg','body'=>'http://example.org/photo.jpg'],"BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;MEDIATYPE=image/jpeg:http://example.org/photo.jpg\r\nEND:VCARD\r\n"],
'vcard 3 with PHOTO URL'=>[false,"BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;TYPE=JPEG;VALUE=URI:http://example.com/photo.jpg\r\nEND:VCARD\r\n"],
'vcard 4 with PHOTO'=>[['Content-Type'=>'image/jpeg','body'=>'12345'],"BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO:data:image/jpeg;base64,MTIzNDU=\r\nEND:VCARD\r\n"],
'vcard 4 with PHOTO URL'=>[false,"BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 3.5.0//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;MEDIATYPE=image/jpeg:http://example.org/photo.jpg\r\nEND:VCARD\r\n"],
'vcard 3 with bad PHOTO'=>[['Content-Type'=>'application/octet-stream','body'=>'12345'],"BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;ENCODING=b;TYPE=TXT:MTIzNDU=\r\nEND:VCARD\r\n"],
'vcard 4 with bad PHOTO'=>[['Content-Type'=>'application/octet-stream','body'=>'12345'],"BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO:data:video/mpeg;base64,MTIzNDU=\r\nEND:VCARD\r\n"],
"Sharing %s failed, because this item is already shared with %s":"Compartir %s falló, porque esti elementu yá ta compartiéndose con %s"
"Invalid Federated Cloud ID":"Inválidu ID de Ñube Federada",
"Sharing %s failed, because this item is already shared with %s":"Compartir %s falló, porque esti elementu yá ta compartiéndose con %s",
"Not allowed to create a federated share with the same user":"Nun s'almite crear un recursu compartíu federáu col mesmu usuariu",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable."
"Sharing %s failed, because this item is already shared with %s":"Compartir %s falló, porque esti elementu yá ta compartiéndose con %s"
"Invalid Federated Cloud ID":"Inválidu ID de Ñube Federada",
"Sharing %s failed, because this item is already shared with %s":"Compartir %s falló, porque esti elementu yá ta compartiéndose con %s",
"Not allowed to create a federated share with the same user":"Nun s'almite crear un recursu compartíu federáu col mesmu usuariu",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable."
"Not allowed to create a federated share with the same user":"Non autorisé à créer un partage fédéré avec le même utilisateur",
"File is already shared with %s":"Le fichier est déjà partagé avec %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Le partage de %s a échoué : impossible de trouver %s. Peut-être le serveur est-il momentanément injoignable.",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"Vous recevez \"/%3$s\" comme un partage distant depuis %1$s (au nom de %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"Vous recevez \"/%3$s\" comme un partage distant depuis %1$s",
"Accept":"Accepter",
"Decline":"Refuser",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
"Not allowed to create a federated share with the same user":"Non autorisé à créer un partage fédéré avec le même utilisateur",
"File is already shared with %s":"Le fichier est déjà partagé avec %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Le partage de %s a échoué : impossible de trouver %s. Peut-être le serveur est-il momentanément injoignable.",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"Vous recevez \"/%3$s\" comme un partage distant depuis %1$s (au nom de %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"Vous recevez \"/%3$s\" comme un partage distant depuis %1$s",
"Accept":"Accepter",
"Decline":"Refuser",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
"Invalid Federated Cloud ID":"Ugyldig ID for sammenknyttet sky",
"Sharing %s failed, because this item is already shared with %s":"Deling av %s feilet, fordi dette elementet allerede er delt med %s",
"Not allowed to create a federated share with the same user":"Ikke tillatt å opprette en Sammenknyttet sky-deling med den samme brukeren",
"File is already shared with %s":"Filen deles allerede med %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Deling %s feilet, fant ikke %s, kanskje servern er utilgjengelig for øyeblikket.",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"Du mottok \"/%3$s\" som en ekstern deling fra %1$s (på vegne av %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"Du mottok \"/%3$s\" som en ekstern deling fra %1$s",
"Accept":"Aksepter",
"Decline":"Avslå",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
"Invalid Federated Cloud ID":"Ugyldig ID for sammenknyttet sky",
"Sharing %s failed, because this item is already shared with %s":"Deling av %s feilet, fordi dette elementet allerede er delt med %s",
"Not allowed to create a federated share with the same user":"Ikke tillatt å opprette en Sammenknyttet sky-deling med den samme brukeren",
"File is already shared with %s":"Filen deles allerede med %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"Deling %s feilet, fant ikke %s, kanskje servern er utilgjengelig for øyeblikket.",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"Du mottok \"/%3$s\" som en ekstern deling fra %1$s (på vegne av %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"Du mottok \"/%3$s\" som en ekstern deling fra %1$s",
"Accept":"Aksepter",
"Decline":"Avslå",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
"Sharing %s failed, because this item is already shared with %s":"การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
"Not allowed to create a federated share with the same user":"ไม่อนุญาตให้สร้างแชร์สหพันธ์กับผู้ใช้เดียวกัน",
"File is already shared with %s":"ไฟล์ได้ถูกแชร์แล้วกับ %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"คุณได้รับ \"/%3$s\" เป็นรีโมทแชร์จาก %1$s (ในนามของ %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"คุณได้รับ\"/%3$s\" เป็นรีโมทแชร์จาก %1$s",
"Accept":"ยอมรับ",
"Decline":"ลดลง",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"แชร์กับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์สหพันธ์ สามารถดูได้ที่ %s",
"Sharing %s failed, because this item is already shared with %s":"การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
"Not allowed to create a federated share with the same user":"ไม่อนุญาตให้สร้างแชร์สหพันธ์กับผู้ใช้เดียวกัน",
"File is already shared with %s":"ไฟล์ได้ถูกแชร์แล้วกับ %s",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน",
"You received \"/%3$s\" as a remote share from %1$s (on behalf of %2$s)":"คุณได้รับ \"/%3$s\" เป็นรีโมทแชร์จาก %1$s (ในนามของ %2$s)",
"You received \"/%3$s\" as a remote share from %1$s":"คุณได้รับ\"/%3$s\" เป็นรีโมทแชร์จาก %1$s",
"Accept":"ยอมรับ",
"Decline":"ลดลง",
"Share with me through my #ownCloud Federated Cloud ID, see %s":"แชร์กับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์สหพันธ์ สามารถดูได้ที่ %s",
"Invalid Federated Cloud ID":"Geçersiz Birleşmiş Bulut Kimliği",
"Sharing %s failed, because this item is already shared with %s":"%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu",
"Not allowed to create a federated share with the same user":"Aynı kullanıcı ile bir birleşmiş paylaşım oluşturulamaz",
"File is already shared with %s":"Dosya önceden %s ile paylaşıldı",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"%s paylaşımı başarısız. %s bulunamadı veya sunucu şu anda ulaşılamıyor olabilir.",
"Invalid Federated Cloud ID":"Geçersiz Birleşmiş Bulut Kimliği",
"Sharing %s failed, because this item is already shared with %s":"%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu",
"Not allowed to create a federated share with the same user":"Aynı kullanıcı ile bir birleşmiş paylaşım oluşturulamaz",
"File is already shared with %s":"Dosya önceden %s ile paylaşıldı",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable.":"%s paylaşımı başarısız. %s bulunamadı veya sunucu şu anda ulaşılamıyor olabilir.",
"ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing.":"ownCloud 連携機能では信頼済のownCloudのユーザーディレクトリを相互に接続することができます。例えば、連携で共有したときには、連携先の外部ユーザー名の自動補完を使えるようになります。",
"Add server automatically once a federated share was created successfully":"追加するサーバは自動的に統合され、共有が追加されました",
"Trusted ownCloud Servers":"ownCloudサーバを信頼する",
"+ Add ownCloud server":"ownCloudサーバを追加",
"Add server automatically once a federated share was created successfully":"ownCloudサーバー連携で一度でも共有が作成できた場合は、サーバーを自動的に追加します。",
"ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing.":"ownCloud 連携機能では信頼済のownCloudのユーザーディレクトリを相互に接続することができます。例えば、連携で共有したときには、連携先の外部ユーザー名の自動補完を使えるようになります。",
"Add server automatically once a federated share was created successfully":"追加するサーバは自動的に統合され、共有が追加されました",
"Trusted ownCloud Servers":"ownCloudサーバを信頼する",
"+ Add ownCloud server":"ownCloudサーバを追加",
"Add server automatically once a federated share was created successfully":"ownCloudサーバー連携で一度でも共有が作成できた場合は、サーバーを自動的に追加します。",
"Trusted ownCloud Servers":"信頼済 ownCloudサーバ",
"+ Add ownCloud server":"+ownCloudサーバを追加",
"ownCloud Server":"ownCloudサーバ"
},"pluralForm":"nplurals=1; plural=0;"
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.