registerCapability(Capabilities::class); /** * Register $principalBackend for the DAV collection */ $context->registerService('principalBackend', function (ContainerInterface $c) { /** @var IServerContainer $server */ $server = $c->get(IServerContainer::class); return new Principal( $server->get(IUserManager::class), $server->get(IGroupManager::class), \OC::$server->get(IAccountManager::class), $server->get(IShareManager::class), $server->get(IUserSession::class), $server->get(IAppManager::class), $server->get(ProxyMapper::class), $server->get(KnownUserService::class), $server->get(IConfig::class), $server->get(IFactory::class), ); }); $context->registerService(IVersionManager::class, function () { return new VersionManager(); }); /** * Register Events */ $context->registerEventListener(LoadAdditionalScriptsEvent::class, LoadAdditionalListener::class); $context->registerEventListener(LoadSidebar::class, LoadSidebarListener::class); $context->registerEventListener(BeforeNodeRenamedEvent::class, VersionStorageMoveListener::class); $context->registerEventListener(NodeRenamedEvent::class, VersionStorageMoveListener::class); $context->registerEventListener(BeforeNodeCopiedEvent::class, VersionStorageMoveListener::class); $context->registerEventListener(NodeCopiedEvent::class, VersionStorageMoveListener::class); $context->registerEventListener(NodeCreatedEvent::class, FileEventsListener::class); $context->registerEventListener(BeforeNodeTouchedEvent::class, FileEventsListener::class); $context->registerEventListener(NodeTouchedEvent::class, FileEventsListener::class); $context->registerEventListener(BeforeNodeWrittenEvent::class, FileEventsListener::class); $context->registerEventListener(NodeWrittenEvent::class, FileEventsListener::class); $context->registerEventListener(BeforeNodeDeletedEvent::class, FileEventsListener::class); $context->registerEventListener(NodeDeletedEvent::class, FileEventsListener::class); $context->registerEventListener(NodeRenamedEvent::class, FileEventsListener::class); $context->registerEventListener(NodeCopiedEvent::class, FileEventsListener::class); $context->registerEventListener(BeforeNodeRenamedEvent::class, FileEventsListener::class); $context->registerEventListener(BeforeNodeCopiedEvent::class, FileEventsListener::class); $context->registerEventListener(NodeWrittenEvent::class, VersionAuthorListener::class); } public function boot(IBootContext $context): void { $context->injectFn(\Closure::fromCallable([$this, 'registerVersionBackends'])); } public function registerVersionBackends(ContainerInterface $container, IAppManager $appManager, LoggerInterface $logger): void { foreach ($appManager->getInstalledApps() as $app) { $appInfo = $appManager->getAppInfo($app); if (isset($appInfo['versions'])) { $backends = $appInfo['versions']; foreach ($backends as $backend) { if (isset($backend['@value'])) { $this->loadBackend($backend, $container, $logger); } else { foreach ($backend as $singleBackend) { $this->loadBackend($singleBackend, $container, $logger); } } } } } } private function loadBackend(array $backend, ContainerInterface $container, LoggerInterface $logger): void { /** @var IVersionManager $versionManager */ $versionManager = $container->get(IVersionManager::class); $class = $backend['@value']; $for = $backend['@attributes']['for']; try { $backendObject = $container->get($class); $versionManager->registerBackend($for, $backendObject); } catch (\Exception $e) { $logger->error($e->getMessage(), ['exception' => $e]); } } } ue='artonge/fix/access_list_unaccepted_shares'>artonge/fix/access_list_unaccepted_shares Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/version.php
blob: a556a9f72995de9b32a8eb7cb34b5f6befd1d138 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/**
 * @copyright Copyright (c) 2016, ownCloud, Inc.
 *
 * @author Frank Karlitschek <frank@karlitschek.de>
 * @author Joas Schilling <coding@schilljs.com>
 * @author Lukas Reschke <lukas@statuscode.ch>
 * @author Vincent Petry <pvince81@owncloud.com>
 *
 * @license AGPL-3.0
 *
 * This code is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3,
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License, version 3,
 * along with this program.  If not, see <http://www.gnu.org/licenses/>
 *
 */
// We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.

$OC_Version = array(12, 0, 0, 13);

// The human readable string
$OC_VersionString = '12.0 alpha';

$OC_VersionCanBeUpgradedFrom = [
	'nextcloud' => [
		'11.0' => true,
		'12.0' => true,
	],
	'owncloud' => [
		'10.0' => true,
	],
];

// default Nextcloud channel
$OC_Channel = 'git';

// The build number
$OC_Build = '';

// Vendor of this package
$vendor = 'nextcloud';