55 Commits

Author SHA1 Message Date
Côme Chilliet
4abfd4871f chore: Move isAppCompatible and shouldUpgrade to the app manager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:38 +02:00
Côme Chilliet
fd17555333 chore: Move OC_App::updateApp to IAppManager::upgradeApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:45 +02:00
Jana Peper
50c9852e24 feat: add ocs route to get apps enabled for current user
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-06-18 17:31:20 +02:00
Côme Chilliet
e8370bf73a fix: Use only enabled applications versions in the cache prefix
This makes sure the cached routes are updated after enabling a
 previously disabled application

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +02:00
Côme Chilliet
32c1e3e677 feat: Add a replacement for OC_App::getAppVersions is IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-25 14:12:17 +01:00
Côme Chilliet
8f57a50767 fix: Only keep allowed characters in appid, and flag the method as escaping
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 14:21:36 +01:00
Côme Chilliet
fb917c495b fix(ocp): Deprecate getInstalledApps and replace with clearer method name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
Côme Chilliet
d2864f7d84 fix(ocp): Deprecate isInstalled and add isEnabledForAnyone instead
The method name was really confusing

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:18 +01:00
Ferdinand Thiessen
9e327a5890 fix(apps-store): Remove apps from force-enabled state when uninstalled
If an app is force-enabled and then uninstalled the force-enabled state was kept.
This is now removed, so when the app should be re-installed the compatibility should be reevaluated.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-18 14:09:54 +01:00
Joas Schilling
07449847e1 fix(appmanager): Fix tainted file path when loading appinfos
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-14 14:33:19 +02:00
provokateurin
9836e9b164 chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Côme Chilliet
76f2bc0bfc fix: Replace OC_App::getAllApps with a method in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-13 10:08:44 +02:00
Côme Chilliet
7ed583cb8e chore: Migrate cleanAppId and getAppPath calls to IAppManager from OC_App
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-13 10:08:43 +02:00
provokateurin
70ed08daf1 refactor(AppManager): Deprecated default apps handling
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-09 11:04:36 +02:00
Richard Steinmetz
e42bceac9f feat: hide caldav server settings if no app uses the caldav backend
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-16 09:18:33 +02:00
Andy Scherzinger
dae7c159f7 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Ferdinand Thiessen
c8d7a5acaa fix(AppManager): Allow to query dark **or** bright icon
The navigation needs the bright icon, while the notifications and activity need a dark icon.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-08 09:51:03 +01:00
Ferdinand Thiessen
876e2d6198 feat(AppManager): Provide getAppIcon function
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-07 22:40:31 +01:00
Joas Schilling
582ec1294a fix(apps): Fix type information of app manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-23 09:55:06 +01:00
Ferdinand Thiessen
927e7fcf67 fix(AppManager): Ensure that app manager can handle empty app keys on the navigation entries
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-14 20:04:48 +01:00
Ferdinand Thiessen
363d9ebb13 feat(NavigationManager): Always sort the default app first
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-19 22:04:20 +02:00
Ferdinand Thiessen
08cff0777a feat(IAppManager): Allow to set the (user) default apps and get all global default apps
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-19 22:04:20 +02:00
Julius Härtl
5e7e3eb665 Merge pull request #37425 from nextcloud/fix/fix-since-version-number-for-app-loading 2023-03-30 13:20:11 +01: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
e94a689bca Fix version number in phpdoc for app loading refactor
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-27 14:27:23 +02: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 +01: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 +01: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 +01: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 +01: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 +01:00
Maxence Lange
b9ccc60837 fix phpdoc
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-09-15 10:54:36 -01:00
Maxence Lange
0efd6d9950 set defaultEnabled in shipped.json
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-09-15 08:15:33 -01:00
Carl Schwan
458c2fa297 Remove OCP\App and OCP\BackgroundJob
Both deprecated since NC 23

IAppManager is the replacement for OCP\App unfortunately it can't be
dependency injected in classes used by the installed otherwise the
database connection is initialised too early

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-01 09:46:40 +02: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 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Julius Härtl
45a474071e Remove @package annotations from public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-26 16:59:40 +02: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
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
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
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 +02: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 +02:00
Joas Schilling
810ee7d811 Make the auto-disabled list more broad
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-15 11:12:45 +02:00
Greta Doci
5898e87e0f Remove deleted groups from app restrictions fixes #15823
Signed-off-by: Greta Doci <gretadoci@gmail.com>
2019-06-27 20:17:50 +02:00
Julius Härtl
8594fdc493 Move to AppFramework Controller
Signed-off-by: Julius Härtl <jus@bitgrid.net>

Move app management ajax code to AppSettingsController

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-06 11:40:06 +02: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
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
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
0eebff152a Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +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
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