Roeland Jago Douma
b976cd5535
Merge pull request #21821 from nextcloud/enh/bootstrap/initial_state
...
Bootstrap: add initial state registration
2020-10-04 11:09:18 +02:00
Roeland Jago Douma
f4707d178e
Merge pull request #23047 from nextcloud/techdebt/noid/warn-on-database-abuse
...
Log the number of queries built and executed
2020-10-04 10:07:49 +02:00
Roeland Jago Douma
f865a3a1c2
Move initial state provider to boostrap
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-04 09:35:33 +02:00
Joas Schilling
95a301ea57
Fix tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-02 10:37:18 +02:00
Joas Schilling
3212c074b9
Log the number of queries built and executed
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-25 14:55:53 +02:00
Julius Härtl
8ab2422b6c
Add acutal response to BeforeTemplateRenderedEvent
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-24 20:00:23 +02:00
J0WI
68ce17e59b
Unify links to php.net
...
Update all links to https://www.php.net/
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:40:04 +02:00
Christoph Wurst
2a054e6c04
Update the license headers for Nextcloud 20
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Joas Schilling
35a8519591
Fix CS
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-08-19 11:20:36 +02:00
Joas Schilling
e66bc4a8a7
Send "429 Too Many Requests" in case of brute force protection
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-08-19 11:20:35 +02:00
Morris Jobke
0807e29e17
Merge pull request #22133 from nextcloud/boot-app-once
...
only boot apps once
2020-08-07 12:05:09 +02:00
Robin Appelman
246ed35d94
only boot apps once
...
in some cases `loadApp` is called more then once which is currently causing apps to be "booted" multiple times which can lead to unexepected behaviour with things like registering hooks
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-08-07 11:04:47 +02:00
Julius Härtl
018be662f4
Refactor API to match the widget wording
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-05 17:03:38 +02:00
Morris Jobke
7e28286e9d
Merge pull request #21542 from nextcloud/activity-notifications
...
basic settings system for activity notifications
2020-07-29 15:36:38 +02:00
Julius Härtl
e1b696929f
Move NotFoundResponse to a proper TemplateResponse
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-24 08:58:14 +02:00
Morris Jobke
7870ca0663
Use the proper IAppContainer and IServerContainer type hints to know which code runs with which container
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-21 20:44:05 +02:00
Christoph Wurst
e029055e76
Make the bootstrap context return ContainerInterface instances
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-21 20:42:24 +02:00
Robin Appelman
fb5ae20722
basic settings system for activity notifications
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-21 17:12:38 +02:00
Morris Jobke
09e6b26bdd
Merge pull request #21875 from nextcloud/techdebt/deprecate-ilogger
...
Deprecate ILogger in favor of the PSR-3 logger
2020-07-20 16:45:14 +02:00
Morris Jobke
9ae75a3ca9
Merge pull request #21850 from nextcloud/techdebt/noid/register-alternative-logins
...
Allow to register AlternativeLogin on RegistrationContext
2020-07-20 14:20:03 +02:00
Christoph Wurst
8a433a7226
Deprecate ILogger
...
The logger service was always intended to follow the PSR-3 interface.
It's time to embrace this and switch over to the "official" API,
hence this custom interface can be slowly phased out.
With Nextcloud 20 the logger also got support for
* App id filled out automatically
* Exceptions handling (as replacement for logException)
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-16 19:19:23 +02:00
Christoph Wurst
c889021334
Add a scoped PSR logger for apps
...
Just like for ILogger we should have a version that has the app ID
pre-set for the context (unless overwritten) so that each log entry can
be traced back to the app that produced it.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-16 19:11:56 +02:00
Joas Schilling
0dfcc132ca
Allow to register AlternativeLogin on RegistrationContext
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-07-16 14:20:24 +02:00
Christoph Wurst
4152216bd8
Use PSR container interface and deprecate our own abstraction
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-16 13:35:45 +02:00
Roeland Jago Douma
7d7ba61625
Add real events to load additionalscripts
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-07-15 14:07:18 +02:00
Julius Härtl
81e5593133
Move to lazy panel registration during registration context
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-15 09:27:57 +02:00
Morris Jobke
157c652762
Merge pull request #21825 from nextcloud/fix/appframework/services
...
Fix AppFramework services
2020-07-14 17:07:38 +02:00
Morris Jobke
fba64a972f
Merge pull request #21812 from nextcloud/feature/noid/app-bootstrap-without-app.php
...
Do not load app.php if Application implements IBootstrap
2020-07-14 17:06:06 +02:00
Roeland Jago Douma
dca2469462
Merge pull request #21833 from nextcloud/docfix/noid/irequest_getHeader
...
Fix PHPDoc of IRequest::getHeader
2020-07-14 16:43:09 +02:00
Roeland Jago Douma
fa9dfd83c9
Fix AppFramework services
...
* We can't just register an alias as the services need the appId to be
injected. if we just register an alias this blows up since the main
container doesn't have the appId.
* Moved the Authtokens over to show the PoC works
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-07-14 16:01:14 +02:00
Morris Jobke
d9cc2f0213
Do not load app.php if Application implements IBootstrap
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-14 15:55:23 +02:00
Christoph Wurst
f03f88b437
Delegate bootstrap registration lazily
...
* Keep the registration context
* Expose the context object for other components
* Ensure registration is only run once
Search providers are migrated for demonstration.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-14 15:33:32 +02:00
Georg Ehrke
3bdfb380fc
Fix PHPDoc of IRequest::getHeader
...
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-07-14 14:20:43 +02:00
Roeland Jago Douma
3f447b9c8c
Fix supporting defaults for routes
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-07-08 19:52:45 +02:00
Roeland Jago Douma
edc1c77dd9
Do not create a RouteActionHandler object for each route
...
This is not required and doesn't allow us to be properly lazy. On top of
it this doesnt allow us to cache the routes (since closures/objects
can't be cached).
This is the first small step into cleaning up the routing we have
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-07-07 12:33:22 +02:00
Holger Hees
e70249e089
Update SecurityMiddleware.php
...
OC::$WEBROOT can be empty in case if your nextcloud installation has no url prefix. This will result in an empty Location Header.
in other areas OC::$WEBROOT is always used together with an /
2020-07-06 21:34:46 +02:00
Christoph Wurst
4a3ea04baa
Callable parameter injection
...
This is like what we have to DI and classes, but for callables.
The motivating factor is to get rid of *service locators* in the `boot`
method of apps as a new pattern is about to emerge where we have lots of
`query` calls on the app or server container in order to fetch some
services.
With this little helper it's possible to call another (public) method
and magically have everything injected.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-07-03 14:37:46 +02:00
Joas Schilling
74a9cadc50
Fix IPv6 remote addresses from X_FORWARDED_FOR headers before validating
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-07-02 11:13:13 +02:00
Christoph Wurst
4488e846a5
Add unified search API
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-24 14:20:25 +02:00
Joas Schilling
ad0731a63c
Make annotations case insensitive
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-23 20:18:23 +02:00
Roeland Jago Douma
fbf9772a3e
Allow to specify the cookie type for appframework responses
...
In general it is good to set them to Lax. But also to give devs more
control over them is not a bad thing.
Helps with #21474
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-06-22 08:38:44 +02:00
Roeland Jago Douma
6ec8042d88
Merge pull request #21469 from nextcloud/bugfix/noid/event-service-listener-registration
...
Fix event service listener registration
2020-06-19 21:28:29 +02:00
Christoph Wurst
2b7b7144d4
Allow crash reporters registration during app bootstrap
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-19 10:38:26 +02:00
Joas Schilling
9cf32a3999
Fix event service listener registration
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-18 15:00:19 +02:00
Christoph Wurst
32bf95c774
Continue with next app when one errors during register
...
My patch at #21461 had a little error in that it exits the method when a
query exception is encountered during the register step of an app. What
we actually want is to continue with the next app and finish the overall
registration procedure.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-18 09:17:00 +02:00
Christoph Wurst
5ab5a5f89e
Catch all exceptions when an app is registering or booting
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-17 21:07:42 +02:00
Christoph Wurst
69571fb536
Add dedicated API for apps' bootstrapping process
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-17 09:22:21 +02:00
Morris Jobke
4e49e1da16
Allow TemplateResponse to be compressed
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-15 08:38:39 +02:00
Morris Jobke
e0d2cd40e7
Fix return code of AppConfig::deleteUserValue
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-13 14:55:00 +02:00
Roeland Jago Douma
12fa748c49
Move the notmodified check to middleware where it belongs
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-13 08:11:24 +02:00
Roeland Jago Douma
203d7eb1d3
Add AppFramework GZip middleware to gzip responses
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-12 09:09:48 +02:00
Roeland Jago Douma
0659656c72
Merge pull request #20786 from nextcloud/enh/dicontainer_cleanup
...
DI Cleanup
2020-05-09 11:02:02 +02:00
Morris Jobke
08e78ff3b2
Fix OCPSinceChecker and php-cs
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-08 11:20:46 +02:00
Roeland Jago Douma
32c93ee08e
Move over the IConfig for globalscale
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-08 08:50:01 +02:00
Roeland Jago Douma
163463dea5
Add InitialState Appframework service
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-07 10:13:06 +02:00
Roeland Jago Douma
4e59c6f9b5
Remove double registrations
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-07 08:47:43 +02:00
Roeland Jago Douma
8a8623c569
Simple AppConfig wrapper for the AppFramework
...
9 out of 10 cases apps want to access their own appconfig. Hence it
would be nice not to have to enter the app id all the time. This simple
wrapper just passes on the appid in all calls.
Basically this allows for simpler code in the apps.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-02 15:34:28 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Roeland Jago Douma
c870b6ab2e
Fix new routing in settings etc
...
Also prefix resources
Unify the prefix handling
Handle urls with and without slash
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-22 13:09:25 +02:00
Joas Schilling
250467e842
Extend tests for root url
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-18 11:21:28 +02:00
Joas Schilling
f93d55eebd
PHP CS fixes
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-18 11:21:28 +02:00
Joas Schilling
3f8168b6e5
Allow some apps to have root URLs in their own routing file
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-18 11:21:28 +02:00
Christoph Wurst
734c62bee0
Format code according to PSR2
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:56:50 +02:00
Christoph Wurst
28f8eb5dba
Add visibility to all constants
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +02:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
...
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.
This also removes and empty lines from method/function bodies at the
beginning and end.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
14c996d982
Use elseif instead of else if
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +02:00
Christoph Wurst
3a415e4139
Remove space between switch case and colon
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:17:53 +02:00
Christoph Wurst
44577e4345
Remove trailing and in between spaces
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:07:47 +02:00
Christoph Wurst
afbd9c4e6e
Unify function spacing to PSR2 recommendation
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +02:00
Christoph Wurst
2fbad1ed72
Fix (array) indent style to always use one tab
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 10:16:08 +02:00
Christoph Wurst
85e369cddb
Fix multiline comments
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-08 22:24:54 +02:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
463b388589
Merge pull request #20170 from nextcloud/techdebt/remove-unused-imports
...
Remove unused imports
2020-03-27 17:14:08 +01:00
Christoph Wurst
b80ebc9674
Use the short array syntax, everywhere
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Christoph Wurst
74936c49ea
Remove unused imports
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Christoph Wurst
5fc4c91a76
Fix mismatching doc block parameter types
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-06 16:28:42 +01:00
Joas Schilling
3894dcb756
Hardcode Talk namespace to fix install due to global route
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-02-14 12:34:13 +01:00
Daniel Kesselberg
96d1640a37
Use strpos to check that @ is the first char
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-01-23 10:25:52 +01:00
Joas Schilling
d445f9b9fe
Fix loaded controller check
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-21 16:35:10 +01:00
Daniel Kesselberg
8331d8296b
Make getServerHost more robust to faulty user input
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-01-16 11:26:29 +01:00
Daniel Kesselberg
d393b1612b
Modify regex to match some other chromium browsers
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-27 17:24:52 +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
Roeland Jago Douma
0360ab408e
Merge pull request #18256 from nextcloud/files-aditional-scripts-new-events
...
Use non-depricated events for loading additional scripts in files app
2019-12-09 21:24:55 +01:00
Robin Appelman
1c585d2c50
use OCP\EventDispatcher\GenericEvent in more places
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-12-09 14:24:57 +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
Julius Härtl
a055d8ddf9
Always return overwritehost if configured
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-28 15:02:33 +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
Joas Schilling
6ad54f3f27
Merge pull request #17850 from nextcloud/bugfix/noid/mark-spreed-as-active-on-call-urls
...
Mark "Talk" active on /call/token URLs
2019-11-20 10:33:45 +01:00
Daniel Kesselberg
9055f46351
Make phan happy ;)
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-11-19 16:16:26 +01:00
Arthur Schiwon
0a1937208f
Fixes a 500 without userid
...
plus cleanup of unused use statements
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-16 01:10:19 +01:00
Joas Schilling
15f00f0126
Mark "Talk" active on /call/token URLs
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 21:39:20 +01:00
Roeland Jago Douma
098ab7af4b
Do DI on registered middleware as well
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-16 22:52:48 +02:00
Daniel Kesselberg
0ecc70c497
Assume that getType is available
...
From PHP7 getType is always available. No need to check it nowdays.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-10-14 09:50:12 +02:00
Daniel Kesselberg
ace74ef866
Fix ReflectionType::__toString() is deprecated
...
As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.
https://www.php.net/manual/en/reflectionparameter.gettype.php
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-10-14 09:50:06 +02:00
Daniel Kesselberg
fdf4e1ebb2
Remove duplicate code
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-10-08 00:46:50 +02:00
Christoph Wurst
de6940352a
Move settings to an app
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2019-09-28 09:39:28 +00:00
Julius Härtl
299759b836
Handle throwables in the http dispatcher
...
Co-authored-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-08-29 17:19:14 +02:00
Roeland Jago Douma
3f12ec95f0
SessionMiddleware: declare session property
...
* Remove request since we don't useit
* Update tests as well
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-28 13:02:29 +02:00
Roeland Jago Douma
b8c5008acf
Add feature policy header
...
This adds the events and the classes to modify the feature policy.
It also adds a default restricted feature policy.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-10 14:26:22 +02:00