Commit Graph

2619 Commits

Author SHA1 Message Date
Robin Appelman 5ca1929e8c
Create SimpleFile only when writing the content
instead of first creating an empty file and then writing the content.

This solves the overhead of creating an empty file with the common pattern:

```php
$file = $simpleFilder->newFile('foo.txt');
$file->putContent('bar.txt');
```

roughly halving the number of storage and database operations that need to be done when creating a `SimpleFile`.

This is not automatically done with `File` because that has a more complex api which I'm more hesitant to touch.
Instead the `Folder::newFile` api has been extended to accept the content for the new file.

In my local testing, the overhead of first creating an empty file took about 20% of the time for preview generation

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-02-28 12:55:22 +01:00
Christoph Wurst f83589f75d
Merge pull request #19670 from nextcloud/techdebt/noid/allow-to-remove-listeners
Allow to remove listeners
2020-02-27 13:08:42 +01:00
Joas Schilling 3ffed42925
Allow to remove listeners
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-27 11:04:23 +01:00
Joas Schilling 9c9f8fa5f7
Allow non integer ids in Entity Mapper
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-26 14:44:45 +01:00
Roeland Jago Douma f885cef537
Merge pull request #19478 from Tim-Obert/bug/19475/fix-routes-generation-authpublicsharecontroller
Change the route generation of AuthPublicShareController.php
2020-02-23 16:43:31 +01:00
Christoph Wurst dd9d4696f2
Merge pull request #19412 from nextcloud/fix/19404/make-favorite-public
Make TAG_FAVORITE public
2020-02-21 17:47:53 +01:00
Joas Schilling 841f2f3b04
Allow to overwrite share target mountpoints
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-17 09:04:19 +01:00
TimObert 4c1834dace Fix requested changes
Signed-off-by: Tim Obert <tobert@w-commerce.de>
2020-02-14 14:16:31 +01:00
Tim Obert 058180d386 Change the route generation of AuthPublicShareController.php and adjust the routes for file sharing
Signed-off-by: Tim Obert <tobert@w-commerce.de>
2020-02-14 12:12:04 +01:00
Joas Schilling dc050fb5e5
Allow to overwrite the path on the cache event
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-13 08:38:33 +01:00
Daniel Kesselberg 6235175b6d
Make TAG_FAVORITE public
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-02-12 15:11:58 +01:00
Arthur Schiwon e008444887
always require a message paramter for data logging
also ensure it plays well with current log reader

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 13:00:13 +01:00
Arthur Schiwon 46aaeb4561
log Flow activity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 10:58:57 +01:00
Christoph Wurst 6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +01:00
Roeland Jago Douma 86bccde9c7
Merge pull request #17861 from nextcloud/fix-tab-navigation-of-menu-in-public-share-pages
Fix tab navigation of menu in public share pages
2020-01-07 21:00:00 +01:00
Roeland Jago Douma 25d4f3230d
Use the new Events in Flow
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-02 16:40:49 +01:00
Daniel Calviño Sánchez 883a71ce8e Split the menu entry for external shares in two
The external shares entry showed a "button" that, when pressed, replaced
the button with the input to set the remote share address. The "button"
was actually a label for the input, so when the label was focused it
transferred the focus to the input and thus pressing enter or space did
not show the input. Moreover, inputs inside links are not valid HTML,
and once shown there was no way to hide the input again.

Due to all this, and for consistency with the direct link input, the
external share input was moved to a different menu item that is shown
and hidden when the button, which nows is also a real button, is
clicked.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-12-30 10:29:36 +01:00
Daniel Calviño Sánchez 33b2f4e295 Format HTML elements
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-12-30 10:29:36 +01:00
Christoph Wurst 35c2a9fe0a
Merge pull request #18483 from nextcloud/fix/license-headers-18
Update license headers for 18
2019-12-20 14:19:22 +01:00
blizzz 40684a5423
Merge pull request #18080 from nextcloud/enhancement/noid/add-timeout
adding timeout param
2019-12-20 12:16:32 +01:00
Christoph Wurst 1b46621cd3
Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +01:00
Joas Schilling faf58e4cac
Merge pull request #17018 from nextcloud/feature/noid/allow-to-force-enable-via-cli
Allow to force enable apps via CLI
2019-12-16 12:34:27 +01:00
Roeland Jago Douma 3b8fbf129e
Merge pull request #18384 from nextcloud/fix/18255/global_config_to_always_accept
config.php setting to always accept internal shares
2019-12-16 09:50:45 +01:00
Roeland Jago Douma bb4264c565
config.php setting to always accept internal shares
Part of #18255

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-16 09:07:25 +01:00
Joas Schilling 3eee359d7f
Allow to force enable apps via CLI
Co-authored-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-13 13:06:12 +01:00
Maxence Lange 78f00f800c nullable params
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-13 09:17:08 -01:00
Christoph Wurst b81b824da1
Add typed events for the filesystem/scanner
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-13 09:41:05 +01:00
Roeland Jago Douma c6e51924c8
Merge pull request #18236 from nextcloud/bugfix/noid/always-detect-mimetype-by-content-in-workflows
Allow to detect mimetype by content
2019-12-12 11:19:55 +01:00
Maxence Lange 9bdc5823ce +ManuallyLockedException
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-12 09:19:40 -01:00
Roeland Jago Douma c71e9de5ff
Merge pull request #18350 from nextcloud/enhancement/typed-group-events-II
Add typed events for all group hooks and legacy events
2019-12-11 12:28:03 +01:00
Christoph Wurst 917f1807fd
Merge pull request #18348 from nextcloud/enhancement/typed-user-events-II
Add typed events for all user hooks and legacy events
2019-12-11 12:02:32 +01:00
Roeland Jago Douma 9a40ccfbf0
Merge pull request #18224 from nextcloud/bugfix/noid/direct-editing-path
Use file path for direct editing
2019-12-11 11:17:26 +01:00
Christoph Wurst 73fdb8e016
Add typed events for all group hooks and legacy events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-11 10:22:21 +01:00
Christoph Wurst d808f9c053
Add typed events for all user hooks and legacy events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-11 10:00:24 +01:00
Roeland Jago Douma 2b581814f3
Add interface for notification handler for dimissed events
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-10 10:02:24 +01:00
Joas Schilling 4a151c545a
Allow to specify apps that somethign is a dir
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +01:00
Joas Schilling b92ebb928a
Allow to check for the mimetype by content only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:10:32 +01:00
Daniel Kesselberg 0016480370
Decouple resource provider registration
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-07 22:04:07 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma 63cb31542d
Merge pull request #17941 from nextcloud/search-by-owner
Allow filtering the search results to the users home storage
2019-12-05 11:04:33 +01:00
Julius Härtl e29a76bc79
Use file path for direct editing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-05 09:54:58 +01:00
Roeland Jago Douma 76b78edd40
Merge pull request #17833 from nextcloud/propagator-no-negative-sizes
dont set folder size to negative values during propagation
2019-12-04 11:49:26 +01:00
Julius Härtl 212b1571ff
Add missing getUser method to direct editing IToken interface
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-03 15:25:19 +01:00
Robin Appelman bf50342c10
add @since to limitToHome
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-12-03 15:21:35 +01:00
Robin Appelman c62637da8b
Allow filtering the search results to the users home storage
This is done by adding a

```xml
<d:eq>
    <d:prop>
        <oc:owner-id/>
    </d:prop>
    <d:literal>$userId</d:literal>
</d:eq>
```

clause to the search query.

Searching by `owner-id` can only be done with the current user id
and the comparison can not be inside a `<d:not>` or `<d:or>` statement

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-12-03 13:49:37 +01:00
Christoph Wurst cc80339b39
Add typed create user events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-03 08:03:57 +01:00
Roeland Jago Douma e5c95eed69
Merge pull request #18134 from nextcloud/enh/noid/flow-extend-scope
allow user flows when the acting user is legitimate, but not its owner
2019-11-28 20:49:42 +01:00
Julius Härtl 9eb1554fad
Properly anotate LockedException in files node api
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-28 14:17:15 +01:00
Arthur Schiwon b3749fbe16
add convenience interfaces so entities can provide presentable details
the File entity starts with a display text (used by talk)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:21 +01:00
Arthur Schiwon 7210852f07
allow user flows when the acting user is legitimate, but not its owner
for instance, when a sharee changes a file, the owner can act upon

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:16 +01:00
Julius Härtl 329e8c2604
Add mimetype to creators
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 19:56:44 +01:00
Julius Härtl 9a2694fcb0
Code style fixes and cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 19:56:40 +01:00
Julius Härtl e52793c69e
Direct editing API to allow file editing using a one-time token for
mobile apps

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-27 14:36:20 +01:00
Roeland Jago Douma 0532f8116d
Merge pull request #18019 from nextcloud/enhancement/password-policy-events
Add typed events for password_policy
2019-11-27 11:11:17 +01:00
blizzz d2f9deba51
Merge pull request #17834 from nextcloud/enh/noid/generic-event-replacement-tk2
Public API's GenericEvent replacement (take 2)
2019-11-27 10:50:07 +01:00
Christoph Wurst 1a886b1472
Add typed events for password_policy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-27 09:56:12 +01:00
Roeland Jago Douma b607e3e6f4
Merge pull request #17948 from nextcloud/enh/check-if-property-is-bool
Make isXXX available for bool properties only
2019-11-26 12:25:36 +01:00
Robin Appelman 9e450d727a
add LEAST and GREATER to db function builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-26 12:05:30 +01:00
Arthur Schiwon 1b8cbf115a
add Nextcloud specific GenericEvent implementation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-26 10:23:33 +01:00
Roeland Jago Douma 0fab27f459
Merge pull request #18108 from nextcloud/refactor/strict-credential-store
Add return type hint to credential store and make it strict
2019-11-26 08:08:10 +01:00
blizzz b1dffc5c2d
Merge pull request #17896 from nextcloud/fix/noid/consider-create-group-result
take group creation result into consideration
2019-11-25 17:16:40 +01:00
Christoph Wurst 128a460d7b
Add return type hint to credential store and make it strict
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-25 15:59:55 +01:00
Arthur Schiwon 7ff15c9756
fix documentation, get and createGroup may return null
* also have stricter checks in place

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-25 14:01:25 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Christoph Wurst 535000aac6
Make the post login event public
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-20 18:43:09 +01:00
Roeland Jago Douma ccc0a5e0d5
Merge pull request #16828 from nextcloud/feature/noid/accept-incoming-shares
🔗☑️ Accept all incoming shares
2019-11-18 20:11:20 +01:00
Roeland Jago Douma a184e350d7
Merge remote-tracking branch 'origin/master' into filecache-extension 2019-11-18 11:06:17 +01:00
Daniel Kesselberg a27c10daa6
Make isXXX available for bool properties only
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-11-16 00:39:48 +01:00
Arthur Schiwon 2efe8aad38
relax dependency on GenericEvent, instead stay compatible with old events
* also fixes tagging events

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-13 14:23:39 +01:00
Robin Appelman 136c4ef925
dont expose metadata etag for now
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:36 +01:00
Robin Appelman 1b6e647b63
expose filecache extension data in FileInfo
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:32 +01:00
Robin Appelman 842da3f183
store filecache extension fields
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:44 +01:00
Robin Appelman ac209cea52
add count() as shortcut for count('*') in FunctionBuilder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:32 +01:00
Robin Appelman 0e9feeb090
return from QueryBuilder instead of IQueryBuilder
this make the type hints work properly with querybuilder subclasses

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:27 +01:00
Joas Schilling 60da25681e
Only restrict loading of group and user shares for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:00 +01:00
Joas Schilling 520042bbd0
Allow to accept group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:36:58 +01:00
Joas Schilling dcdbea54e6
Respect the accepted flag for group and user shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:13:38 +01:00
Julius Härtl 3c09299346
Do not throw an exception for base App class
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-08 11:41:42 +01:00
Robin Appelman 5ca27085fc
mark getAppContainer as a valid way to construct app containers
this is triggerd (and not cought by the query arm) if an item from an app is queried before the app queries it's own Application instance

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-04 19:40:08 +01:00
blizzz 64bfd4bbeb
Merge pull request #17506 from nextcloud/bugfix/12790/workflow-frontend
Workflow frontend polishing
2019-11-04 15:01:55 +01:00
Daniel Calviño Sánchez ea55f8eedd fixup! Get all shares as iterable
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-30 14:26:37 +01:00
Roeland Jago Douma 8085ca4cc4
Get all shares as iterable
Sometimes we need all shares or rather a specific subset of shares but
creating dedicated functions is a pain. This just returns an iterable
object for all shares so we can loop over them without allocating all
the memory on the system.

It should not be used by any user called code. But in an occ command or
background job it is fine IMO.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-30 09:45:27 +01:00
Roeland Jago Douma 380563fd53
Merge pull request #17562 from nextcloud/techdebt/17509/log-error-when-setting-up-application-incorrectly
Log an error in development cases when the application class was set …
2019-10-29 21:09:26 +01:00
Roeland Jago Douma 043b56cb7d
Having the contructor in the interface makes no sense...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-29 19:29:38 +01:00
Arthur Schiwon 9c766cf03f
do not break on Checkers that do not need specific context info
request time, for example

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-29 18:03:57 +01:00
Roeland Jago Douma 70500e25ad
Merge pull request #17173 from nextcloud/feature/event-broadcasting
Make it possible to broadcast events to (web) clients
2019-10-28 13:58:35 +01:00
Christoph Wurst d180a98714
Make it possible to broadcast events to (web) clients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-28 13:58:13 +01:00
Christoph Wurst ce9a434fb2
Add isXXX getter to Entity
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-10-22 14:54:21 +02:00
Arthur Schiwon e8095cf737
use OCP\EventDispatcher\Event over Symfony's deprecated Event
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-17 13:31:48 +02:00
Joas Schilling aad535e3af
Log an error in development cases when the application class was set up incorrectly
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-16 12:17:09 +02:00
Joas Schilling 653628c8fb
Allow to set the group display name in the database backend
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-27 14:29:56 +02:00
Joas Schilling 45506adc5c
Add a displayname to the database group backend
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-27 14:29:56 +02:00
Joas Schilling 23cf72493a
Add talk-attachment as a rich object type
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-17 15:08:54 +02:00
Roeland Jago Douma 978d312e69
Merge pull request #17151 from nextcloud/td/remove/createPreview
Remove deprecated function createPreview
2019-09-15 19:36:18 +02:00
Greta Doci 0a874c51af
Disable app token creation for impersonated people, ref #15539
Signed-off-by: Greta Doci <gretadoci@gmail.com>
2019-09-15 12:04:27 +02:00
Roeland Jago Douma 98f91982be
Remove deprecated function createPreview
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-15 10:52:34 +02:00
Christoph Wurst a1ef939c06
Use Symfony's new contract Event class instead of the deprecated one
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-09-12 14:44:55 +02:00
Christoph Wurst b9e14d5972
Add Symfony inspired typed event dispatcher method
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-09-11 20:02:50 +02:00
Roeland Jago Douma 2187f856ce
Merge pull request #16682 from nextcloud/enh/12790/workflow-backend
workflow overhaul
2019-09-11 13:14:06 +02:00
Arthur Schiwon 3a4e31ef6b
fix missing @since's
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:06 +02:00