Commit Graph

294 Commits (b0197c5dfcb0dac94de43bfbfa89a2889fc1e30b)

Author SHA1 Message Date
Hamid Dehnavi ea06cf2f39 Convert isset ternary to null coalescing operator
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2023-09-28 17:44:19 +07:00
Côme Chilliet 8049702413
Fix behavior when defaultapp is empty
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-28 09:22:54 +07:00
Côme Chilliet a4a3d94f05
Default to first application if no default app is set
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-26 14:40:14 +07:00
Joas Schilling 5bb6a7804f
fix: Move AppManager events to IEventDispatcher
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 09:57:51 +07:00
Joas Schilling 2014e7b836
fix(apps): Fix loading info.xml file
Ref: https://bugs.php.net/bug.php?id=62577

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-20 10:40:09 +07:00
Arthur Schiwon ffa30ce89b
Merge pull request #38524 from nextcloud/chore/app/clear-unused-cache-key
chore(app): Do not clear unused cache key
2023-06-05 17:48:44 +07:00
Christoph Wurst 3d1acca1f3
chore(app): Do not clear unused cache key
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-30 17:48:20 +07:00
Faraz Samapoor e7cc7653b8 Refactors "strpos" calls in lib/private to improve code readability.
Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
2023-05-15 15:17:19 +07:00
Côme Chilliet 426c0341ff
Use typed version of IConfig::getSystemValue as much as possible
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-05 12:50:08 +07:00
Christopher Ng 4f8e916585 Add label for logo link
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-03-29 13:36:45 +07:00
Côme Chilliet 13c71ed24a
Small cleanups for AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet 78c1716818
Move loadApps to the AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet 8dc5f82189
Move isType to AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet a224551132
Avoid calling Server::get more times than necessary in loadApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:42 +07:00
Côme Chilliet f0bdf2a4cd
Strong type private properties and methods in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:19:42 +07:00
Côme Chilliet 71ed968e34
Switch away from Server::get for AppManager and logger in loadApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:17:28 +07:00
Côme Chilliet a7c8090dc3
Move loadApp function to the AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:01:17 +07:00
Thomas Citharel f1751c4428
Introduced app enable/disable/update typed events
OCP\App\ManagerEvent is depreciated since 22 without a replacement

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-13 11:52:57 +07:00
Joas Schilling bf7fe04c4b
fix(appinfo): navigation type is optional
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-03 09:52:37 +07:00
Christopher Ng 62b7bb7395 Allow settings navigation items with no route entry
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-02-02 17:11:17 +07:00
Côme Chilliet f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +07:00
Côme Chilliet 7af4fea0e3
Suppress false-positives from psalm, waiting for fix upstream
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-07 10:01:53 +07:00
Côme Chilliet 56f24cff9f
Avoid a crash when a PHP extension has no version
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-03 11:53:51 +07:00
Arthur Schiwon a133a8a9d7
remove getDefaultInstallationBundle
- because all apps are shipped now it was returning an empty result

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 15:11:39 +07:00
Arthur Schiwon 759eaee5ed
remove Core Bundle
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 13:20:37 +07:00
Maxence Lange 0efd6d9950 set defaultEnabled in shipped.json
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-09-15 08:15:33 +07:00
Carl Schwan 9b8ca9ad1f
Move findBinaryFinder and isFunctionEnabled away from OC_Helper
findBinaryFinder is now a service that is still private but with some
minor optimization (remove the hasKey check).

isFunctionEnabled is now in OCP\Util

Both function are still keep but all internal usage in nextcloud/server
were migrated to the new usage, so that we can remove it in 26

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-23 19:44:04 +07:00
luz paz 368f83095d Fix typos in lib/private subdirectory
Found via `codespell -q 3 -S l10n -L jus ./lib/private`

Signed-off-by: luz paz <luzpaz@github.com>
2022-07-27 08:52:17 +07:00
Vincent Petry 9746229558
Merge pull request #30030 from nextcloud/fexists
Fix disabled `php_uname`
2022-07-26 23:10:12 +07:00
acsfer bebf888c72 Fix #30003
Fix #30003
2022-06-21 16:54:13 +07:00
Côme Chilliet c598e3cafa
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-06-21 16:36:25 +07:00
Côme Chilliet 1bd5222224
Fix PHP 8.2 warnings about undeclared properties
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-06-21 16:17:52 +07:00
Joas Schilling a9ba631e4d
Also allow pre-releases and nightlies when installing from git
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-10 16:10:25 +07:00
Joas Schilling 4f9c8b08ca
Similar to the fetch() method respect the channel in the get()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-10 16:10:25 +07:00
MichaIng 0d749b7e9a Remove iconv from dependencies and tests
which is not used anymore since: https://github.com/nextcloud/server/pull/29470

Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-30 02:33:12 +07:00
Joas Schilling 66ffedcb16
Fix updating with apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-11 13:56:42 +07:00
Julien Veyssier facb50ebcc
fix appstoreenabled check in Fetcher so it's coherent with AppSettingsController
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-18 12:39:43 +07:00
John Molakvoæ 1f76423500
Send the subscription key to the appstore requests
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-10-14 14:48:45 +07:00
Joas Schilling 811d0cd1b5
Merge pull request #29135 from nextcloud/feat/appstore-filtering
Allow to filter apps from the appstore
2021-10-14 09:50:37 +07:00
John Molakvoæ c721581cd9
Fix variable
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2021-10-13 18:14:48 +07:00
John Molakvoæ 1a6bac5874
Allow to whitelist apps from the apsptore
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-10-13 11:13:33 +07:00
Joas Schilling 0b747538ff
Keep group restrictions when reenabling apps after an update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-13 09:34:55 +07:00
Carl Schwan 6958d8005a
Add admin privilege delegation for admin settings
This makes it possible for selected groups to access some settings
pages.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-09-29 21:43:31 +07:00
Louis Chemineau 3f6d3dc307 Fix typing error in AppFetcher.php
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-06-21 16:31:24 +07:00
John Molakvoæ c04e0d1db9
Merge pull request #27098 from nextcloud/fix/noid/missing-key-in-addInfo
force 'name' key in array
2021-06-16 17:13:45 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Maxence Lange 65649468f3 force 'name' key in array
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2021-05-25 09:33:20 +07:00
Joas Schilling 2d75868935
Fix PHP CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:33 +07:00
Joas Schilling 56ae87c281
Less ILogger
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:32 +07:00
Jakub Onderka 1992d11d7d Fix warning in AppFetcher.php when appstore is disabled
Signed-off-by: Jakub Onderka <ahoj@jakubonderka.cz>
2021-03-10 16:30:02 +07:00
dependabot-preview[bot] eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +07:00
Christoph Wurst e618ea83b5
Make the app code checker a NOOP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-11 11:46:02 +07:00
Christoph Wurst b4f71ccf4d
Fix app fetcher php comparison to allow wider ranges
When app app specifies php 7.4 as upper limit we have to allow the
installation on php>7.4.0. The previous version check didn't do that.
This adjusts the regexes to discard any irrelevant suffix after the
three version numbers so that we can use more fine granular checks than
php's version_compare can do out of the box, like for php 7.4 we only
compare the major and minor version numbers and ignore the patch level.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-26 16:35:43 +07:00
Christoph Wurst 652bf9d363
Revert "Fix comparison of PHP versions"
This reverts commit bedd9acf78.
2021-01-26 13:48:06 +07:00
Damien Goutte-Gattat bedd9acf78 Fix comparison of PHP versions
Use the builtin function `version_compare` to check an app's
compatibility with the available PHP version, instead of reusing
the `OC\App\CompareVersion::isCompatible` method which is intended
to compare Nextcloud versions. PHP version strings do not always
necessarily follow the simple Major.Minor.Patch format used by
Nextcloud and therefore cannot be properly compared by that method.

Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
2021-01-14 23:03:20 +07:00
Roeland Jago Douma fdd111924f
Merge pull request #25039 from nextcloud/fix/libxml-use-internal-errors-deprecated
Only use libxml_disable_entity_loader on php older than 8
2021-01-11 16:14:38 +07:00
Morris Jobke 24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +07:00
Christoph Wurst f8efab7c85
Only use libxml_disable_entity_loader on php older than 8
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 16:33:46 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Christoph Wurst 24237f1a34
Check php compatibility of app store app releases
Apps might increase the minimum php version requirement, in which case
an update could break the app or even the whole instance. We must not
install those releases, or better, don't even show them for
update/installation. This extends the app fetcher code to filter out the
releases that are not installable.

The filter respects minimum and maximum requirements. E.g. apps that are
still only released for php7.3 won't show up for php7.4 instances. This
behavior is new but if an app lists an explicit version requirement,
then we ought to repect that.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-04 16:52:31 +07:00
Julius Härtl 4512c73293
Only retry fetching app store data once every 5 minutes in case it fails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-16 14:32:58 +07:00
Christoph Wurst d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +07:00
Julius Härtl 04eb1bb949
Allow to specify supported architectures in appinfo.xml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-17 08:55:15 +07:00
Julius Härtl 5340215871
Install richdocumentscode depending on the architecture
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-17 08:55:14 +07: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 +07:00
John Molakvoæ (skjnldsv) 9e962fb69f
Allow to update to nightly
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-08-07 13:51:39 +07:00
Joas Schilling b6d5979d0a
Increase timeout of the appstore requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-12 13:01:06 +07:00
Julius Härtl bde5b9577b
Update hub bundle and add proxy rule to htaccess
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-05-25 16:04:54 +07:00
Morris Jobke 8123737a40
Revert "Compress the appstore requests by default"
This reverts commit 6ffde128ad.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 13:37:28 +07:00
Morris Jobke 6ffde128ad
Compress the appstore requests by default
In test it reduced the transfered data from 5 MB to 2 MB. This should reduce the load on the appstore significantly.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 09:51:07 +07:00
Morris Jobke 3e0d8df036
Cache appstore requests for 60 instead of 5 minutes
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-05-20 09:51:06 +07:00
Valdnet 8e3de41b4b l10n: Add "The" before "Following" 2020-05-15 14:26:50 +07:00
Roeland Jago Douma a41ad78408
Update education bundle
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-01 09:52:58 +07:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +07:00
Christoph Wurst 28f8eb5dba
Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +07:00
Christoph Wurst 1584c9ae9c
Add visibility to all methods and position of static keyword
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:51:06 +07: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 +07: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 +07: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 +07: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 +07:00
Christoph Wurst 463b388589
Merge pull request #20170 from nextcloud/techdebt/remove-unused-imports
Remove unused imports
2020-03-27 17:14:08 +07: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 +07:00
Christoph Wurst 74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +07:00
Julius Härtl 63900d0574
Remove admin_notifications since it is obsolete since Nextcloud 14
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-24 09:18:42 +07:00
Arthur Schiwon 5b18f684e7
add hub bundle for easy post-installation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-26 21:23:42 +07:00
Roeland Jago Douma 1bf44e1d97
Merge pull request #18860 from nextcloud/fix/license-headers
Fix license headers
2020-01-13 16:47:12 +07:00
Christoph Wurst 6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +07:00
Georg Ehrke 2f89f5fd13
AppFetcher: Distinguish between fileName and endpointName
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-01-09 17:29:00 +07:00
Julius Härtl ac96554aaa
Fix broken upgrade caused by undefined method call
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-23 10:41:41 +07:00
Georg Ehrke f0bef8881d
Restore old behavior allowing to set custom appstore
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-12-22 15:06:31 +07:00
Christoph Wurst 1b46621cd3
Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +07:00
Christoph Wurst cdd69c0f97
Only parse php7 code in app code checker
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-18 15:39:14 +07: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 +07:00
Daniel Kesselberg dbb1eef446
Don't log the stack trace for ConnectException
The stack trace for ConnectException could contain the old apps.json content and is probably huge.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-08 18:17:06 +07:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07: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 +07:00
Roeland Jago Douma b3f663b8aa
Merge pull request #16859 from PhrozenByte/patch-1
Add IAppManager::getAppWebPath()
2019-09-09 12:20:27 +07:00
Daniel Rudolf 2d56664e35
Improve usage of IAppManager::getAppWebPath()
Deprecate \OC_App::getAppWebPath() and \OC_App::getAppPath()

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2019-09-05 18:35:40 +07:00
Roeland Jago Douma c73b4f25c3
Make sure they keys are unique
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-28 12:55:07 +07:00
Daniel Rudolf 34919d3ebc
Add IAppManager::getAppWebPath()
Implements a public API for \OC_App::getAppWebPath()

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2019-08-25 15:27:04 +07:00