Merge pull request #7870 from nextcloud/remove-core-api
Remove deprecated core API
This commit is contained in:
commit
2997bb9c69
|
@ -40,7 +40,6 @@ return array(
|
|||
'OCP\\AppFramework\\Http\\Response' => $baseDir . '/lib/public/AppFramework/Http/Response.php',
|
||||
'OCP\\AppFramework\\Http\\StreamResponse' => $baseDir . '/lib/public/AppFramework/Http/StreamResponse.php',
|
||||
'OCP\\AppFramework\\Http\\TemplateResponse' => $baseDir . '/lib/public/AppFramework/Http/TemplateResponse.php',
|
||||
'OCP\\AppFramework\\IApi' => $baseDir . '/lib/public/AppFramework/IApi.php',
|
||||
'OCP\\AppFramework\\IAppContainer' => $baseDir . '/lib/public/AppFramework/IAppContainer.php',
|
||||
'OCP\\AppFramework\\Middleware' => $baseDir . '/lib/public/AppFramework/Middleware.php',
|
||||
'OCP\\AppFramework\\OCSController' => $baseDir . '/lib/public/AppFramework/OCSController.php',
|
||||
|
@ -316,7 +315,6 @@ return array(
|
|||
'OC\\AllConfig' => $baseDir . '/lib/private/AllConfig.php',
|
||||
'OC\\AppConfig' => $baseDir . '/lib/private/AppConfig.php',
|
||||
'OC\\AppFramework\\App' => $baseDir . '/lib/private/AppFramework/App.php',
|
||||
'OC\\AppFramework\\Core\\API' => $baseDir . '/lib/private/AppFramework/Core/API.php',
|
||||
'OC\\AppFramework\\DependencyInjection\\DIContainer' => $baseDir . '/lib/private/AppFramework/DependencyInjection/DIContainer.php',
|
||||
'OC\\AppFramework\\Http' => $baseDir . '/lib/private/AppFramework/Http.php',
|
||||
'OC\\AppFramework\\Http\\Dispatcher' => $baseDir . '/lib/private/AppFramework/Http/Dispatcher.php',
|
||||
|
|
|
@ -70,7 +70,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
|
|||
'OCP\\AppFramework\\Http\\Response' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/Response.php',
|
||||
'OCP\\AppFramework\\Http\\StreamResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StreamResponse.php',
|
||||
'OCP\\AppFramework\\Http\\TemplateResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/TemplateResponse.php',
|
||||
'OCP\\AppFramework\\IApi' => __DIR__ . '/../../..' . '/lib/public/AppFramework/IApi.php',
|
||||
'OCP\\AppFramework\\IAppContainer' => __DIR__ . '/../../..' . '/lib/public/AppFramework/IAppContainer.php',
|
||||
'OCP\\AppFramework\\Middleware' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Middleware.php',
|
||||
'OCP\\AppFramework\\OCSController' => __DIR__ . '/../../..' . '/lib/public/AppFramework/OCSController.php',
|
||||
|
@ -346,7 +345,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
|
|||
'OC\\AllConfig' => __DIR__ . '/../../..' . '/lib/private/AllConfig.php',
|
||||
'OC\\AppConfig' => __DIR__ . '/../../..' . '/lib/private/AppConfig.php',
|
||||
'OC\\AppFramework\\App' => __DIR__ . '/../../..' . '/lib/private/AppFramework/App.php',
|
||||
'OC\\AppFramework\\Core\\API' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Core/API.php',
|
||||
'OC\\AppFramework\\DependencyInjection\\DIContainer' => __DIR__ . '/../../..' . '/lib/private/AppFramework/DependencyInjection/DIContainer.php',
|
||||
'OC\\AppFramework\\Http' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Http.php',
|
||||
'OC\\AppFramework\\Http\\Dispatcher' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Http/Dispatcher.php',
|
||||
|
|
|
@ -1,188 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
* @author Bernhard Posselt <dev@bernhard-posselt.com>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
* @author Morris Jobke <hey@morrisjobke.de>
|
||||
* @author Robin Appelman <robin@icewind.nl>
|
||||
* @author Robin McCorkell <robin@mccorkell.me.uk>
|
||||
* @author Thomas Müller <thomas.mueller@tmit.eu>
|
||||
*
|
||||
* @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/>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
namespace OC\AppFramework\Core;
|
||||
use OCP\AppFramework\IApi;
|
||||
|
||||
|
||||
/**
|
||||
* This is used to wrap the owncloud static api calls into an object to make the
|
||||
* code better abstractable for use in the dependency injection container
|
||||
*
|
||||
* Should you find yourself in need for more methods, simply inherit from this
|
||||
* class and add your methods
|
||||
* @deprecated
|
||||
*/
|
||||
class API implements IApi{
|
||||
|
||||
private $appName;
|
||||
|
||||
/**
|
||||
* constructor
|
||||
* @param string $appName the name of your application
|
||||
*/
|
||||
public function __construct($appName){
|
||||
$this->appName = $appName;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the userid of the current user
|
||||
* @return string the user id of the current user
|
||||
* @deprecated Use \OC::$server->getUserSession()->getUser()->getUID()
|
||||
*/
|
||||
public function getUserId(){
|
||||
return \OCP\User::getUser();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds a new javascript file
|
||||
* @deprecated include javascript and css in template files
|
||||
* @param string $scriptName the name of the javascript in js/ without the suffix
|
||||
* @param string $appName the name of the app, defaults to the current one
|
||||
*/
|
||||
public function addScript($scriptName, $appName=null){
|
||||
if($appName === null){
|
||||
$appName = $this->appName;
|
||||
}
|
||||
\OCP\Util::addScript($appName, $scriptName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds a new css file
|
||||
* @deprecated include javascript and css in template files
|
||||
* @param string $styleName the name of the css file in css/without the suffix
|
||||
* @param string $appName the name of the app, defaults to the current one
|
||||
*/
|
||||
public function addStyle($styleName, $appName=null){
|
||||
if($appName === null){
|
||||
$appName = $this->appName;
|
||||
}
|
||||
\OCP\Util::addStyle($appName, $styleName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated include javascript and css in template files
|
||||
* shorthand for addScript for files in the 3rdparty directory
|
||||
* @param string $name the name of the file without the suffix
|
||||
*/
|
||||
public function add3rdPartyScript($name){
|
||||
\OCP\Util::addScript($this->appName . '/3rdparty', $name);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated include javascript and css in template files
|
||||
* shorthand for addStyle for files in the 3rdparty directory
|
||||
* @param string $name the name of the file without the suffix
|
||||
*/
|
||||
public function add3rdPartyStyle($name){
|
||||
\OCP\Util::addStyle($this->appName . '/3rdparty', $name);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated communication between apps should happen over built in
|
||||
* callbacks or interfaces (check the contacts and calendar managers)
|
||||
* Checks if an app is enabled
|
||||
* also use \OC::$server->getAppManager()->isEnabledForUser($appName)
|
||||
* @param string $appName the name of an app
|
||||
* @return bool true if app is enabled
|
||||
*/
|
||||
public function isAppEnabled($appName){
|
||||
return \OCP\App::isEnabled($appName);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* used to return and open a new event source
|
||||
* @return \OCP\IEventSource a new open EventSource class
|
||||
* @deprecated Use \OC::$server->createEventSource();
|
||||
*/
|
||||
public function openEventSource(){
|
||||
return \OC::$server->createEventSource();
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated register hooks directly for class that build in hook interfaces
|
||||
* connects a function to a hook
|
||||
* @param string $signalClass class name of emitter
|
||||
* @param string $signalName name of signal
|
||||
* @param string $slotClass class name of slot
|
||||
* @param string $slotName name of slot, in another word, this is the
|
||||
* name of the method that will be called when registered
|
||||
* signal is emitted.
|
||||
* @return bool always true
|
||||
*/
|
||||
public function connectHook($signalClass, $signalName, $slotClass, $slotName) {
|
||||
return \OCP\Util::connectHook($signalClass, $signalName, $slotClass, $slotName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated implement the emitter interface instead
|
||||
* Emits a signal. To get data from the slot use references!
|
||||
* @param string $signalClass class name of emitter
|
||||
* @param string $signalName name of signal
|
||||
* @param array $params default: array() array with additional data
|
||||
* @return bool true if slots exists or false if not
|
||||
*/
|
||||
public function emitHook($signalClass, $signalName, $params = array()) {
|
||||
return \OCP\Util::emitHook($signalClass, $signalName, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* clear hooks
|
||||
* @deprecated clear hooks directly for class that build in hook interfaces
|
||||
* @param string $signalClass
|
||||
* @param string $signalName
|
||||
*/
|
||||
public function clearHook($signalClass=false, $signalName=false) {
|
||||
if ($signalClass) {
|
||||
\OC_Hook::clear($signalClass, $signalName);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells ownCloud to include a template in the admin overview
|
||||
* @param string $mainPath the path to the main php file without the php
|
||||
* suffix, relative to your apps directory! not the template directory
|
||||
* @param string $appName the name of the app, defaults to the current one
|
||||
*/
|
||||
public function registerAdmin($mainPath, $appName=null) {
|
||||
if($appName === null){
|
||||
$appName = $this->appName;
|
||||
}
|
||||
|
||||
\OCP\App::registerAdmin($appName, $mainPath);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -36,7 +36,6 @@
|
|||
namespace OC\AppFramework\DependencyInjection;
|
||||
|
||||
use OC;
|
||||
use OC\AppFramework\Core\API;
|
||||
use OC\AppFramework\Http;
|
||||
use OC\AppFramework\Http\Dispatcher;
|
||||
use OC\AppFramework\Http\Output;
|
||||
|
@ -51,7 +50,6 @@ use OC\Core\Middleware\TwoFactorMiddleware;
|
|||
use OC\RichObjectStrings\Validator;
|
||||
use OC\ServerContainer;
|
||||
use OCP\AppFramework\Http\IOutput;
|
||||
use OCP\AppFramework\IApi;
|
||||
use OCP\AppFramework\IAppContainer;
|
||||
use OCP\AppFramework\QueryException;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
|
@ -180,17 +178,6 @@ class DIContainer extends SimpleContainer implements IAppContainer {
|
|||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* App Framework APIs
|
||||
*/
|
||||
$this->registerService('API', function($c){
|
||||
$c->query('OCP\\ILogger')->debug(
|
||||
'Accessing the API class is deprecated! Use the appropriate ' .
|
||||
'services instead!'
|
||||
);
|
||||
return new API($c['AppName']);
|
||||
});
|
||||
|
||||
$this->registerService('Protocol', function($c){
|
||||
/** @var \OC\Server $server */
|
||||
$server = $c->query('ServerContainer');
|
||||
|
@ -335,16 +322,6 @@ class DIContainer extends SimpleContainer implements IAppContainer {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated implements only deprecated methods
|
||||
* @return IApi
|
||||
*/
|
||||
public function getCoreApi()
|
||||
{
|
||||
return $this->query('API');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \OCP\IServerContainer
|
||||
*/
|
||||
|
|
|
@ -1,99 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
* @author Bernhard Posselt <dev@bernhard-posselt.com>
|
||||
* @author Jörn Friedrich Dreyer <jfd@butonic.de>
|
||||
* @author Morris Jobke <hey@morrisjobke.de>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
* @author Thomas Müller <thomas.mueller@tmit.eu>
|
||||
*
|
||||
* @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/>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Public interface of ownCloud for apps to use.
|
||||
* AppFramework/IApi interface
|
||||
*/
|
||||
|
||||
namespace OCP\AppFramework;
|
||||
|
||||
|
||||
/**
|
||||
* A few very basic and frequently used API functions are combined in here
|
||||
* @deprecated 8.0.0
|
||||
*/
|
||||
interface IApi {
|
||||
|
||||
|
||||
/**
|
||||
* Gets the userid of the current user
|
||||
* @return string the user id of the current user
|
||||
* @deprecated 8.0.0 Use \OC::$server->getUserSession()->getUser()->getUID()
|
||||
*/
|
||||
public function getUserId();
|
||||
|
||||
|
||||
/**
|
||||
* Adds a new javascript file
|
||||
* @deprecated 8.0.0 include javascript and css in template files
|
||||
* @param string $scriptName the name of the javascript in js/ without the suffix
|
||||
* @param string $appName the name of the app, defaults to the current one
|
||||
* @return void
|
||||
*/
|
||||
public function addScript($scriptName, $appName = null);
|
||||
|
||||
|
||||
/**
|
||||
* Adds a new css file
|
||||
* @deprecated 8.0.0 include javascript and css in template files
|
||||
* @param string $styleName the name of the css file in css/without the suffix
|
||||
* @param string $appName the name of the app, defaults to the current one
|
||||
* @return void
|
||||
*/
|
||||
public function addStyle($styleName, $appName = null);
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated 8.0.0 include javascript and css in template files
|
||||
* shorthand for addScript for files in the 3rdparty directory
|
||||
* @param string $name the name of the file without the suffix
|
||||
* @return void
|
||||
*/
|
||||
public function add3rdPartyScript($name);
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated 8.0.0 include javascript and css in template files
|
||||
* shorthand for addStyle for files in the 3rdparty directory
|
||||
* @param string $name the name of the file without the suffix
|
||||
* @return void
|
||||
*/
|
||||
public function add3rdPartyStyle($name);
|
||||
|
||||
|
||||
/**
|
||||
* Checks if an app is enabled
|
||||
* @deprecated 8.0.0 communication between apps should happen over built in
|
||||
* callbacks or interfaces (check the contacts and calendar managers)
|
||||
* Checks if an app is enabled
|
||||
* also use \OC::$server->getAppManager()->isEnabledForUser($appName)
|
||||
* @param string $appName the name of an app
|
||||
* @return bool true if app is enabled
|
||||
*/
|
||||
public function isAppEnabled($appName);
|
||||
|
||||
}
|
|
@ -27,7 +27,6 @@
|
|||
namespace Test\AppFramework\DependencyInjection;
|
||||
|
||||
|
||||
use OC\AppFramework\Core\API;
|
||||
use OC\AppFramework\DependencyInjection\DIContainer;
|
||||
use \OC\AppFramework\Http\Request;
|
||||
use OCP\AppFramework\QueryException;
|
||||
|
@ -49,13 +48,6 @@ class DIContainerTest extends \Test\TestCase {
|
|||
->setMethods(['isAdminUser'])
|
||||
->setConstructorArgs(['name'])
|
||||
->getMock();
|
||||
$this->api = $this->getMockBuilder(API::class)
|
||||
->setConstructorArgs(['hi'])
|
||||
->getMock();
|
||||
}
|
||||
|
||||
public function testProvidesAPI(){
|
||||
$this->assertTrue(isset($this->container['API']));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -35,29 +35,16 @@ class TemplateResponseTest extends \Test\TestCase {
|
|||
*/
|
||||
private $tpl;
|
||||
|
||||
/**
|
||||
* @var \OCP\AppFramework\IApi
|
||||
*/
|
||||
private $api;
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
$this->api = $this->getMockBuilder('OC\AppFramework\Core\API')
|
||||
->setMethods(['getAppName'])
|
||||
->setConstructorArgs(['test'])
|
||||
->getMock();
|
||||
$this->api->expects($this->any())
|
||||
->method('getAppName')
|
||||
->will($this->returnValue('app'));
|
||||
|
||||
$this->tpl = new TemplateResponse($this->api, 'home');
|
||||
$this->tpl = new TemplateResponse('app', 'home');
|
||||
}
|
||||
|
||||
|
||||
public function testSetParamsConstructor(){
|
||||
$params = array('hi' => 'yo');
|
||||
$this->tpl = new TemplateResponse($this->api, 'home', $params);
|
||||
$this->tpl = new TemplateResponse('app', 'home', $params);
|
||||
|
||||
$this->assertEquals(array('hi' => 'yo'), $this->tpl->getParams());
|
||||
}
|
||||
|
@ -65,7 +52,7 @@ class TemplateResponseTest extends \Test\TestCase {
|
|||
|
||||
public function testSetRenderAsConstructor(){
|
||||
$renderAs = 'myrender';
|
||||
$this->tpl = new TemplateResponse($this->api, 'home', array(), $renderAs);
|
||||
$this->tpl = new TemplateResponse('app', 'home', array(), $renderAs);
|
||||
|
||||
$this->assertEquals($renderAs, $this->tpl->getRenderAs());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue