Morris Jobke
f884e762bc
Use appmanager instead of OC_App for check for enabled app
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-10-23 23:31:17 +02:00
Arthur Schiwon
fd6daf8d19
AutoCompletion backend
...
* introduce a Controller for requests
* introduce result sorting mechanism
* extend Comments to retrieve commentors (actors) in a tree
* add commenters sorter
* add share recipients sorter
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-10-22 14:13:32 +02:00
Roeland Jago Douma
3a9c24c04f
Allow apps to have their own autoloader
...
This will allow apps to also have a proper classmap and authorative
autoloader.
Currently if a file: <appdir>/composer/autoload.php exists we will use
it. Else we keep the current behavior.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-17 21:35:49 +02:00
Julius Härtl
ec0091d499
Do not return app names multiple times
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-10 12:34:38 +02:00
Arthur Schiwon
a579f8aa37
adapt attribute name (changed letter case style)
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-09-27 13:22:59 +02:00
Arthur Schiwon
937a80c941
reduce nesting of the required app XML
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-09-27 01:22:17 +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
6d7ca1092d
Read appinfo from a local cache
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-19 14:34:11 +02:00
Morris Jobke
cd02b2205e
Use public methods for OC_App::isShipped
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-01 18:57:00 +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
7a3d83d630
Register autoloading before running migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling
183b1dbde3
Use migrations when there is no database.xml
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
15eec7b83c
Start migrations
...
Fixme:
- Install and update of apps
- No revert on live systems (debug only)
- Service adjustment to our interface
- Loading via autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
3f29c55914
Register the autoloading earlier so we can load the background jobs
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-24 12:58:10 +02:00
Morris Jobke
be33234266
Remove OC_App:installApp
...
* uses Installer->installApp now
* removes unused code
* fixes #4453
* added some additional checks
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-15 00:03:35 -05:00
Lukas Reschke
47cd976035
Add app bundles
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-26 20:07:49 +02:00
Julius Härtl
7548825743
Responsive app menu
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-25 17:31:24 +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
81d87b01fe
Don't spam the log with "Undefined index showInHeader"
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-27 10:24:10 +02:00
Joas Schilling
0229c16e5f
Don't use the dropdown for one item only
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 21:23:18 +02:00
Joas Schilling
054e161eb5
Manage the right side menu via the navigation manager as well
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 19:40:41 +02:00
Joas Schilling
ec330c7ac4
Register the app management in the normal way
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 19:08:51 +02:00
Joas Schilling
9667ac2b8e
Register the namespace with the autoloading to allow reverse recovery
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-22 11:55:04 +01:00
Julius Haertl
7eae6690ad
Make app management icon act like a normal app icon
...
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl
61dc78e6dc
Fix menu issues
...
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl
a630e4629f
Generate seperate menu list for header bar
...
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl
e3e4cb3e67
Move active app to the first slot
...
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Morris Jobke
252858ec5e
Do not double cherck app update
...
In base.php the apps are already checked for an update. No need to
repeat this during loading of the app.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-13 18:07:41 -06:00
Sebastian Wessalowski
e399097e3a
Remove deprecated OC_User::isLoggedIn
...
Signed-off-by: Sebastian Wessalowski <sebastian@wessalowski.org>
2017-03-02 22:59:39 +01:00
Joas Schilling
fcfb4205bc
Fix tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-13 18:33:43 +01:00
Joas Schilling
587eca3ccd
Remove the magic parsing of the description
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-13 18:33:42 +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
Lukas Reschke
32bf8ec826
Don't use cached informations for app version
...
When installing an app from the appstore the `\OC_App::getAppVersion` code is triggered twice:
- First when the downloader tries to compare the current version to the new version on the appstore to check if there is a newer version. This protects against downgrade attacks and is implemented in `\OC\Installer::downloadApp`.
- Second, when the app is actually installed the current version is written to the database. (`\OC\Installer::installApp`)
This fails however when the version is actually cached. Because in step 1 the cached version will be set to "0" and then be reused in the second step.
While this is probably not the cleanest version I assume this is an approach that is least invasive. Feedback and suggestions welcome :)
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-09 18:01:45 +01:00
Morris Jobke
43e22f4da4
Add autoloader path for newly installed apps too
...
* followup to https://github.com/nextcloud/server/pull/2148
* problem noticed in https://github.com/nextcloud/files_antivirus/pull/11
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-11-16 12:55:34 +01:00
Roeland Jago Douma
d03446a0ae
Merge pull request #2148 from nextcloud/add_autoloader_before_enabling
...
Add autoloader before enabling apps
2016-11-16 12:09:39 +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
Roeland Jago Douma
d826e04757
Add autoloader before enabling apps
...
Else apps that require already autoloading in the installer
(files_antivius) die hard!
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-15 22:28:57 +01:00
Lukas Reschke
d805df7bb3
Use findAppInDirectories
...
The other function doesn't work if the appstore is disabled
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:30:02 +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
df7fd2b57c
Query the timefactory instead of creating it
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +01:00
Lukas Reschke
0e2aee2be6
Replace with exception instead of boolean return value
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:46 +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
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
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
Joas Schilling
53ed3da052
Fallback from "de" to "de_DE" and the other way around
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-04 13:29:54 +02:00
Joas Schilling
3a5022ad5b
Allow multiple names and description
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-09-30 11:00:58 +02:00
Joas Schilling
7c0951244a
Deprecate getEditionString()
2016-09-06 16:05:28 +02:00
Joas Schilling
b072c6c943
Move navigation entries without order to the end
2016-09-02 09:11:58 +02:00
Jan-Christoph Borchardt
0517f41b3f
fix ordering of user menu entries
2016-08-27 22:42:08 +02:00
Lukas Reschke
0747e96b9c
Cache registered autoloaders
...
This saves more than 20ms (!) on every request, the previous problem was that `\OC_App::registerAutoloading` calls `\OC\AppFramework\App::buildAppNamespace` which parses the appinfo.xml. Since that was also called multiple times (e.g. on cloud.nextcloud.com over 200 times) that had a significant performance impact. Also on simple PROPFIND requests.
https://blackfire.io/profiles/compare/65a53e6e-7f35-4974-b559-4c81abd01c3b/graph shows the difference nicely.
2016-08-22 23:49:46 +02:00
Arthur Schiwon
208e551216
check registered sections and settings after an app got updated to garbage collect orphaned classes
2016-08-16 00:56:17 +02:00
Arthur Schiwon
ac04ba6784
register app autoload instead of loading apps
2016-08-12 13:23:14 +02:00
Lukas Reschke
8261ccce1b
Merge branch 'master' into implement_712
2016-08-11 19:37:17 +02:00
Arthur Schiwon
f3b15a9ab9
fixes, improvements, and another app:
...
* setupSettings now also triggered on enable
* fixes detection of present admin section or settings in the DB
* add update routine in such cases
* encryption app migrated
2016-08-11 01:41:18 +02:00
Arthur Schiwon
0fc34c99f4
fix registration of admin settings and section on app install
2016-08-11 00:45:15 +02:00
Arthur Schiwon
1eb8b951c2
more admin page splitup improvements
...
* bump version to ensure tables are created
* make updatenotification app use settings api
* change IAdmin::render() to getForm() and change return type from Template to TemplateResponse
* adjust User_LDAP accordingly, as well as built-in forms
* add IDateTimeFormatter to AppFramework/DependencyInjection/DIContainer.php. This is important so that \OC::$server->query() is able to resolve the
constructor parameters. We should ensure that all OCP/* stuff that is available from \OC::$server is available here. Kudos to @LukasReschke
* make sure apps that have settings info in their info.xml are loaded before triggering adding the settings setup method
2016-08-10 15:21:25 +02:00
Lukas Reschke
9fbdb0efe8
Merge pull request #529 from nextcloud/vendor-maintenance-downgrade
...
Allow downgrades of maintenance accross vendors
2016-08-10 00:25:53 +02:00
Arthur Schiwon
ceeb44bd04
Initial work on Apps page split:
...
* interfaces for the Admin settings (IAdmin) and section (ISection)
* SettingsManager service
* example setup with LDAP app
2016-08-09 18:05:09 +02:00
Arthur Schiwon
686cb599b6
fix autoloading in LPAP integration tests, resolves #544
2016-07-25 11:05:59 +02:00
Joas Schilling
5c34346479
Allow downgrades of maintenance accross vendors
2016-07-22 14:51:43 +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
Lukas Reschke
4f42c3d725
Revert "Remove "Help" link from personal sidebar"
...
This reverts commit deef15a3c7
.
2016-07-21 02:25:00 +02:00
Klaas Freitag
99316ec02c
Show app name in error message if app could not be loaded. ( #25441 )
2016-07-20 15:16:16 +02:00
Morris Jobke
e95c15e53a
fix more strings
2016-06-20 13:14:24 +02:00
Lukas Reschke
deef15a3c7
Remove "Help" link from personal sidebar
...
At the moment we want to hide the help link from the personal sidebar as it contains the original ownCloud documentation.
Once we have our own documentation with our proper branding and so on we can reenable this.
2016-06-06 18:40:15 +02:00
Lukas Reschke
aba539703c
Update license headers
2016-05-26 19:57:24 +02:00
Joas Schilling
db16dc6644
Correctly register autoloading before install.php and loading commands
2016-05-11 11:18:00 +02:00
Thomas Müller
71fa0a75bf
Allow declaration of background jobs in info.xml
2016-05-03 08:58:12 +02:00
Morris Jobke
a72e6a2dac
Merge pull request #24386 from owncloud/psr4-for-apps
...
PSR-4 for apps
2016-05-03 08:24:22 +02:00
Joas Schilling
d879354ccb
Use lib/ instead of src/ because that is what people are used to
2016-05-02 15:45:52 +02:00
Joas Schilling
ee3457aec0
Register the PSR-4 path on loadApp
2016-05-02 15:17:14 +02:00
Thomas Müller
5e055ca6c1
Move uninstall repair step execution to the correct place
2016-05-02 09:22:26 +02:00
Thomas Müller
e049953d1a
OC_Installer -> \OC\Installer
2016-05-02 08:52:06 +02:00
Thomas Müller
54f45f95f5
Adding repair steps for install and uninstall - fixes #24306
2016-05-02 08:52:06 +02:00
Roeland Jago Douma
368be8894c
Move non PSR-4 files from lib/private root to legacy
...
As discussed we move all old style classes (OC_FOO_BAR) to legacy.
Then from there we can evaluate the need to convert them back or if they
can be fully deprecated/deleted.
2016-04-30 11:32:22 +02:00