1
0
mirror of https://github.com/owncloud/bookmarks.git synced 2024-12-01 05:24:11 +01:00
OwncloudBookmarksOfficial/appinfo/application.php
ganomi ae81b9dcd2 This is a refactored / rewritten version of the bookmarks app using the app frameworks design and controller features.
Dependency Injection for user and db is used througout the controllers
The Routing features a consistent rest api
The Routing provides some legacy routes, so that for exampe the Android Bookmarks App still works.

There is a publicly available api that provides access to bookmarks per user.
(This is usefull in connection with the WP Plugin https://github.com/mario-nolte/oc2wp-bookmarks)
2014-11-26 12:24:18 +01:00

83 lines
2.1 KiB
PHP

<?php
/**
* ownCloud - bookmarks
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
* @author Marvin Thomas Rabe <mrabe@marvinrabe.de>
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Stefan Klemm <mail@stefan-klemm.de>
* @copyright (c) 2011, Marvin Thomas Rabe
* @copyright (c) 2011, Arthur Schiwon
* @copyright (c) 2014, Stefan Klemm
*/
namespace OCA\Bookmarks\AppInfo;
use \OCP\AppFramework\App;
use \OCA\Bookmarks\Controller\WebViewController;
use OCA\Bookmarks\Controller\Rest\TagsController;
use OCA\Bookmarks\Controller\Rest\BookmarkController;
use OCA\Bookmarks\Controller\Rest\PublicController;
class Application extends App {
public function __construct(array $urlParams = array()) {
parent::__construct('bookmarks', $urlParams);
$container = $this->getContainer();
/**
* Controllers
* @param OC\AppFramework\Utility\SimpleContainer $c The Container instance
* that handles the request
*/
$container->registerService('WebViewController', function($c) {
return new WebViewController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getURLGenerator(),
$c->query('ServerContainer')->getDb()
);
});
$container->registerService('BookmarkController', function($c) {
return new BookmarkController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getDb()
);
});
$container->registerService('TagsController', function($c) {
return new TagsController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getDb()
);
});
$container->registerService('PublicController', function($c) {
return new PublicController(
$c->query('AppName'),
$c->query('Request'),
$c->query('ServerContainer')->getDb(),
$c->query('ServerContainer')->getUserManager()
);
});
/**
* Core
*/
$container->registerService('UserId', function() {
return \OCP\User::getUser();
});
}
}