Commit graph

148 commits

Author SHA1 Message Date
Morris Jobke
ac63c207a9
Merge pull request #8411 from nextcloud/add-strict-types-to-oc_app
Add strict types to OC_App
2018-02-17 21:34:20 +01:00
Morris Jobke
9dc3b04802
Fix app version to be always string and neither array nor null
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-17 16:05:13 +01:00
Joas Schilling
17a26dfcc1
Validate the info.xml against the appstore schema file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-16 10:23:51 +01:00
Morris Jobke
954da26e26
Use non aliased method instead
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-13 21:48:24 +01:00
Morris Jobke
3fa92a03e5
Add deprecation checks
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-31 14:15:12 +01:00
Julius Härtl
19a0a9a4e7
Move getAppInfo and getAppVersion to IAppManager
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-31 14:13:15 +01:00
Morris Jobke
4c38d1ed01
Merge pull request #8054 from nextcloud/substr-use-index
Use index based string access for substr with length of 1
2018-01-26 15:40:44 +01:00
Morris Jobke
9ff51aafc5
Use index based string access for substr with length of 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 13:38:34 +01:00
Morris Jobke
fe7e726ab2
Merge pull request #8064 from nextcloud/background-jobs
Deprecated OCP interface to fetch background job type
2018-01-26 10:43:21 +01:00
Morris Jobke
9ef6148bfa
Deprecated OCP interface to fetch background job type
* was not used by apps and also is not needed
* migrated the documentation to IJobList

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 10:43:01 +01:00
Joas Schilling
c2b1bd92d6
Merge pull request #8063 from nextcloud/inline-value
Return value immediately instead of assigning to a one-time variable
2018-01-26 10:15:39 +01:00
Morris Jobke
0a56d2185e
Return value immediately instead of assigning to a one-time variable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 00:02:03 +01:00
Morris Jobke
55ef34b23b
Implements are not needed because they are already done by base class
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:42:24 +01:00
Roeland Jago Douma
09f8a755ec
Remove IAppConfig::getValue
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-17 21:41:56 +01:00
Morris Jobke
e13fe076d2
Add OCP\User deprecations to app code checker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-16 13:32:37 +01:00
Christoph Wurst
bdd99b096f
Merge pull request #7833 from nextcloud/fix-code-checker
Fix casting in app code checker
2018-01-14 22:36:59 +01:00
Roeland Jago Douma
419de27b6d
Merge pull request #7840 from nextcloud/dep_config
Remove deprecated \OCP\Config
2018-01-14 22:21:37 +01:00
Roeland Jago Douma
8a41d05761
Remove deprecated \OCP\Config
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-13 14:25:04 +01:00
Morris Jobke
24bc8c44da
Add casts to XML parser in DatabaseSchemaChecker
Preparation for strict_typing for PHP7+.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-12 23:38:10 +01:00
Morris Jobke
c739ca3c50
Fix casting in app code checker
Found while adding strict typing for PHP7+. This adds type hinting to all methods in CodeChecker.php and fixes one implicit cast.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-12 23:24:11 +01:00
Morris Jobke
c5f852d90c
Also log exception for failed appstore request
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-02 09:40:03 +01:00
Roeland Jago Douma
752055220f
Don't spam the log when we could not properly connect to the appstore
If we can't connect to the appstore for some reason we don't have to log
the exception just an info entry is enough.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-29 15:55:05 +01:00
Morris Jobke
d2d73f1ce8
Also replace all other occurences
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-18 20:57:11 +01:00
Roeland Jago Douma
2eb2b6e437
If there is no internet connection don't try to contact appstore
Fixes #7119

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-17 20:35:04 +01:00
Morris Jobke
4866314ce0
Run updated license header updater
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-07 13:47:42 +01:00
Morris Jobke
0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Joas Schilling
6292f665d7
Allow multiple settings and sections per app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-05 11:34:03 +02:00
Arthur Schiwon
9db3b04f1b
finetune the appinfo parser
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-09-26 23:10:23 +02:00
Arthur Schiwon
f7713e5f3f
make it possible to register plugins and kick out the circle one
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-09-26 23:10:23 +02:00
Roeland Jago Douma
ede15f0988
Fix L10N::t
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:17 +02:00
Lukas Reschke
4166d61ce6
Fix MigrationSchemaChecker and CryptoWrapper
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-01 08:20:16 +02:00
Lukas Reschke
013d7483bf Add new bundle
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 11:49:03 +02:00
Roeland Jago Douma
5f227bd93b
More phpstorm inspection fixes
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-07-24 11:39:29 +02:00
Joas Schilling
3b267b165f Check the migration files for table, column and index length errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Morris Jobke
d6adc0eba1 Deprecate static writeLog() method
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-23 11:21:46 -05:00
Joas Schilling
eebd2811dc
Version and dependency are now required
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-22 09:54:44 +02:00
Joas Schilling
1951c88bdc
We don't use the prefix on index names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:12 +02:00
Joas Schilling
8e757b343d
Fix apps without translations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:11 +02:00
Joas Schilling
31bb65fa36
Check the name length of database items
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:11 +02:00
Joas Schilling
93fc7fcdbe
Check the syntax of the language file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-16 16:16:07 +02:00
Lukas Reschke
48a9a4bd81 Merge pull request #4825 from nextcloud/add-timeout-appstore
Add timeout for requests to appstore
2017-05-12 12:37:18 +02:00
Morris Jobke
72943c99a4 Add timeout for requests to appstore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 17:49:03 -05:00
Morris Jobke
c90d832ce4 Log connectiong problems while fetching data from appstore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 17:46:41 -05:00
Joas Schilling
538d32fe87
Automatic injection into the Fetchers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-10 09:56:38 +02:00
Roeland Jago Douma
e79424932a
Make sure the AppFetcher fetches the new applist from the appstore
When in the upgrade process the version in the config is still the old
version. (Since we only upgrade it after the upgrade is complete).
However the app list fetched from the appstore must be the new list.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-02 10:24:10 +02:00
Roeland Jago Douma
095463d568
Do not do ETag caching when the version is updated
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-02 08:44:20 +02:00
Lukas Reschke
3df99d8fd6
Add SocialSharingBundle
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:53 +02:00
Lukas Reschke
a05295fca3
Add spreed to Groupware bundle
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:52 +02:00
Lukas Reschke
78d0bb99f7
Remove unrequired getDescription() method
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:51 +02:00
Lukas Reschke
47cd976035
Add app bundles
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:49 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Joas Schilling
6d30b35ed7
Some more code fixes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-20 10:45:27 +01:00
Joas Schilling
591e75df5c
Don't use a generic exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-20 10:33:16 +01:00
Lukas Reschke
20c80cba6f
Add exception to PHPDoc
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-20 10:13:57 +01:00
noveens
5481a9b84a
checking if app exists in the FileStream now
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 00:38:29 -06:00
Morris Jobke
f3bfacc976
Fix unit tests and improve appstore logic
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-24 08:34:14 +01:00
Steffen Lindner
cfb6223de7
Add back appstoreenabled config switch
Signed-off-by: Steffen Lindner <mail@steffen-lindner.de>
2017-02-24 08:31:56 +01:00
Joas Schilling
fee18d6c78 Merge pull request #2814 from nextcloud/appstore_etag_validation
Add ETag validation to appstore requests
2017-01-09 14:56:20 +01:00
Roeland Jago Douma
fc04779a26
Add ETag validation to appstore requests
* If the ETag if present store it
* If a stored ETag is present then pass it along (with the original
response) to get
* Add tests
* Added files to classmap

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-01-05 14:26:09 +01:00
Joas Schilling
ec4b0d1e84
Remove group restrictions when those are not allowed anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-04 10:40:14 +01:00
Roeland Jago Douma
245501fb0c
Clear appstore cache on version upgrade
* Add version to cached json
* Compare version
* Updated calls
* Updated tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-15 22:04:03 +01:00
Joas Schilling
77b6b7b23e
Use the mocked config version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-14 10:45:27 +01:00
Lukas Reschke
60d1e8e63e
Check for nextcloud version as well
The code checker didn't consider the "nextcloud" version before, resulting in fails such as https://travis-ci.org/nextcloud/richdocuments/jobs/181470760#L415-L416

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-05 22:18:24 +01:00
Lukas Reschke
29402e2c0a
Exclude pre-release versions as per SemVer
As SemVer can be used apps could define a release like "10.0.0-alpha". This is something that we don't support at the moment in the server and we should filter all prereleases.

Ref https://github.com/nextcloud/server/pull/2307#issuecomment-262911588

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-25 11:32:46 +01:00
Lukas Reschke
6a4c0cf237
Loop for newest version in appstore response
The current implementation when fetching apps from the appstore is to assume that the first element is the newest version, this is now always applicable and leads to the fact that for some apps (e.g. nextant) the newest version is not delivered. This can be easily tested by comparing the version of the downloaded Nextant version.

This change will loop over all releases delivered by the appstore and chooses the newest compatible one. While not the cleanest solution, it does its job.

Most of the code are actually unit tests. Whereas I have copied the whole original response from the appstore and also have performed the transformation. So that's why the diff looks so huge.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-24 14:29:57 +01:00
Julius Haertl
caacb6c261
Expose getAppPath to public API
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2016-11-17 19:24:24 +01:00
Joas Schilling
b2248efd75
Allow to register Providers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 09:25:45 +01:00
Joas Schilling
13ff56bfc5
Allow to register settings/types via info.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 09:25:44 +01:00
Joas Schilling
280d5325c7
Allow to register activity filters via info.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 09:25:40 +01:00
Lukas Reschke
5fd428413b
Adjust previous fallbacks
11.0 is 11 and not 9.2 anymore

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-15 15:07:58 +01:00
Lukas Reschke
8acb54aa0b
Add update support
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:47 +01:00
Lukas Reschke
01c566883e
%d instead %s
These are only numbers. THX @nickvergessen

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +01:00
Lukas Reschke
89fc4358ba
Use substr and explode instead of a regex
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Lukas Reschke
067fb18670
Read array elements instead of substr
Otherwise this would break with 11.0.0

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Lukas Reschke
32cf661215
Use new appstore API
This change introduces the new appstore API in Nextcloud.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:44 +01:00
Roeland Jago Douma
e55e6f1f14
Cleanup usages
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-29 14:29:50 +02:00
Thomas Müller
03ec052b4e
App dependencies are now analysed on app enable as well - not only on app install. 2016-10-24 15:59:46 +02:00
Thomas Müller
ef842ef20a
Ensure $commands being an array - fixes #26073 2016-10-20 15:40:27 +02:00
Thomas Müller
c5ca71ee82
[9.2] Register commands in info.xml (#26248)
* Use DI to load console commands from the apps - class name to be defined in the info.xml

* Load commands from info.xml

* Fix unit test

* Allow Di magic for IMountManager

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-11 19:48:26 +02:00
Lukas Reschke
0c2b17c80f
Cache AppInfo in Memory Cache if configured
This saves around 20ms on a bare-bone instance, on bigger ones more (depending on the number of installed apps).

See https://blackfire.io/profiles/compare/fc326ad3-100d-49b8-8ea9-8343240f53f3/graph

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-07 21:29:23 +02:00
Thomas Müller
67d3574bdf
Don't parse info.xml but reuse already cached app infos - fixes #25603 (#25968)
* 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
2016-10-07 20:58:22 +02:00
Thomas Müller
1631ef5acc
Initialize array elements properly 2016-09-07 22:09:08 +02:00
Joas Schilling
de96c5b17b
Allow to validate the password_policy app 2016-09-01 10:18:00 +02:00
Joas Schilling
3dba40db7b
Fix "Undefined index" when the values do not exist 2016-08-18 11:53:26 +02:00
Joas Schilling
0fcc39cd8e
Translate the server version for nextcloud 2016-07-26 14:40:18 +02:00
Joas Schilling
0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling
ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00
Morris Jobke
e95c15e53a
fix more strings 2016-06-20 13:14:24 +02:00
Bjoern Schiessle
5f2bc3a96d
emit correct signal if a app get's disabled 2016-06-13 13:36:23 +02:00
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Christoph Wurst
dfb4d426c2
Add two factor auth to core 2016-05-23 11:21:10 +02:00
Thomas Müller
71fa0a75bf
Allow declaration of background jobs in info.xml 2016-05-03 08:58:12 +02:00
Thomas Müller
54f45f95f5
Adding repair steps for install and uninstall - fixes #24306 2016-05-02 08:52:06 +02:00
Bernhard Posselt
4c1b55be92 allow app developers to specify the minimum int size
simplify comparison

remove additional null

fix off by 1 error
2016-04-28 22:55:15 +02:00
Thomas Müller
2ee7d2485c
Introduce background repair steps 2016-04-26 11:56:56 +02:00
Thomas Müller
3aa77960ef
Adding pre- and post-migration repair steps 2016-04-22 09:26:31 +02:00
Thomas Müller
d0030aad6c
Remove deprecated HTTPHelper from InfoParser 2016-04-22 08:38:41 +02:00
Roeland Jago Douma
e5dd4272d3
Move \OC\App to PSR-4 2016-04-13 19:53:05 +02:00