Julius Härtl
23462275ba
Add AppStore Manager
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-06 11:40:09 +02:00
Arthur Schiwon
38a90130ce
move log constants to ILogger
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Morris Jobke
3d80ade8d7
Log possible exception caused by wrong version number
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-11 10:08:23 +02:00
Christoph Wurst
ac939e8fd4
Fix version comparison with minor and patch level requirements
...
If an app requires a specific minor or path level server version,
the version_compare prevented the installation as only the major
version had been compared and that checks obviously returns `false`.
Now the full version is used for comparison, making it possible to
release apps for a specific minor or patch level version of Nextcloud.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-04-11 10:08:23 +02:00
Christoph Wurst
6248b61193
Fix AppFetcher::setVersion phpdoc
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-04-10 12:32:56 +02:00
Julius Härtl
eb6e5a27a3
Do not fail hard if no appinfo is returned during update
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-28 11:12:56 +02:00
Morris Jobke
f843b7edfe
Merge pull request #8506 from nextcloud/use-appmanager
...
Use isInstalled of AppManger instead of reimplement it
2018-03-22 09:55:19 +01:00
Morris Jobke
8eb57dd835
Deprecate OCP\Files
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-21 14:29:35 +01:00
Morris Jobke
514de5dfa1
Use isInstalled of AppManger instead of reimplement it
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-21 11:34:18 +01:00
Morris Jobke
f5c5c5181f
Remove unused and deprecated class and interface AppHelper
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-12 15:27:10 +01:00
Morris Jobke
c88112bb41
Merge pull request #8579 from nextcloud/feature/2692/merge-can-i-update
...
Display a list of unavailable apps for updates (aka. merge "Can I update?")
2018-03-06 21:31:06 +01:00
Morris Jobke
b2a9ea08a3
Remove unused and outdated hook
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-06 17:56:44 +01:00
Tobia De Koninck
539fdaea1e
Run repair steps on uninstall in all cases
...
Signed-off-by: Tobia De Koninck <tobia@ledfan.be>
2018-03-06 10:41:55 +01:00
Joas Schilling
029e8cdc5b
Also allow to specify the cache file name
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 11:31:33 +01:00
Roeland Jago Douma
c2c2c06546
Merge pull request #8476 from nextcloud/strict_l10n
...
Make OCP\IL10N strict
2018-02-22 10:03:18 +01:00
Roeland Jago Douma
8b17f0d224
Fix other tests
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-21 19:53:44 +01:00
Joas Schilling
2c840ca278
Log exceptions that happen when writing the app store reply to storage
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-21 14:14:33 +01:00
Roeland Jago Douma
4a41e0cc42
getIncompatibleApps needs a string not an array
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-21 13:00:41 +01:00
Morris Jobke
70b1f510f2
Use normal header() calls instead of private method calls
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-19 09:40:25 +01:00
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