Browse Source

Allow OCS routes in Core and Settings

tags/v11.0RC2
Roeland Jago Douma 7 years ago
parent
commit
575875e8d0
No account linked to committer's email address
2 changed files with 49 additions and 0 deletions
  1. 44
    0
      core/Controller/OCSController.php
  2. 5
    0
      lib/private/Route/Router.php

+ 44
- 0
core/Controller/OCSController.php View File

@@ -0,0 +1,44 @@
<?php

namespace OC\Core\Controller;

use OC\CapabilitiesManager;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;

class OCSController extends \OCP\AppFramework\OCSController {

/** @var CapabilitiesManager */
private $capabilitiesManager;

/**
* OCSController constructor.
*
* @param string $appName
* @param IRequest $request
* @param CapabilitiesManager $capabilitiesManager
*/
public function __construct($appName,
IRequest $request,
CapabilitiesManager $capabilitiesManager) {
parent::__construct($appName, $request);

$this->capabilitiesManager = $capabilitiesManager;
}

public function getCapabilities() {
$result = [];
list($major, $minor, $micro) = \OCP\Util::getVersion();
$result['version'] = array(
'major' => $major,
'minor' => $minor,
'micro' => $micro,
'string' => \OC_Util::getVersionString(),
'edition' => \OC_Util::getEditionString(),
);

$result['capabilities'] = $this->capabilitiesManager->getCapabilities();

return new DataResponse(['data' => $result]);
}
}

+ 5
- 0
lib/private/Route/Router.php View File

@@ -163,6 +163,11 @@ class Router implements IRouter {
$this->useCollection('root');
require_once __DIR__ . '/../../../settings/routes.php';
require_once __DIR__ . '/../../../core/routes.php';

// Also add the OCS collection
$collection = $this->getCollection('root.ocs');
$collection->addPrefix('/ocsapp');
$this->root->addCollection($collection);
}
if ($this->loaded) {
// include ocs routes, must be loaded last for /ocs prefix

Loading…
Cancel
Save