Add initial cache support
This commit is contained in:
parent
85f3079b47
commit
2d2edffa80
@ -22,21 +22,21 @@ use \OCA\Richdocuments\AppConfig;
|
||||
class Application extends App {
|
||||
public function __construct (array $urlParams = array()) {
|
||||
parent::__construct('richdocuments', $urlParams);
|
||||
|
||||
|
||||
$container = $this->getContainer();
|
||||
|
||||
|
||||
/**
|
||||
* Controllers
|
||||
*/
|
||||
$container->registerService('UserController', function($c) {
|
||||
return new UserController(
|
||||
$c->query('AppName'),
|
||||
$c->query('AppName'),
|
||||
$c->query('Request')
|
||||
);
|
||||
});
|
||||
$container->registerService('SessionController', function($c) {
|
||||
return new SessionController(
|
||||
$c->query('AppName'),
|
||||
$c->query('AppName'),
|
||||
$c->query('Request'),
|
||||
$c->query('Logger'),
|
||||
$c->query('UserId')
|
||||
@ -44,29 +44,30 @@ class Application extends App {
|
||||
});
|
||||
$container->registerService('DocumentController', function($c) {
|
||||
return new DocumentController(
|
||||
$c->query('AppName'),
|
||||
$c->query('AppName'),
|
||||
$c->query('Request'),
|
||||
$c->query('CoreConfig'),
|
||||
$c->query('L10N'),
|
||||
$c->query('UserId')
|
||||
$c->query('UserId'),
|
||||
$c->query('ICacheFactory')
|
||||
);
|
||||
});
|
||||
$container->registerService('SettingsController', function($c) {
|
||||
return new SettingsController(
|
||||
$c->query('AppName'),
|
||||
$c->query('AppName'),
|
||||
$c->query('Request'),
|
||||
$c->query('L10N'),
|
||||
$c->query('AppConfig'),
|
||||
$c->query('UserId')
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
$container->registerService('AppConfig', function($c) {
|
||||
return new AppConfig(
|
||||
$c->query('CoreConfig')
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Core
|
||||
*/
|
||||
@ -84,5 +85,8 @@ class Application extends App {
|
||||
$uid = is_null($user) ? '' : $user->getUID();
|
||||
return $uid;
|
||||
});
|
||||
$container->registerService('ICacheFactory', function($c) {
|
||||
return $c->query('ServerContainer')->getMemCacheFactory();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -25,23 +25,26 @@ use \OCA\Richdocuments\Storage;
|
||||
use \OCA\Richdocuments\Download;
|
||||
use \OCA\Richdocuments\DownloadResponse;
|
||||
use \OCA\Richdocuments\File;
|
||||
use OCA\Richdocuments\Genesis;
|
||||
use \OCA\Richdocuments\Genesis;
|
||||
use \OC\Files\View;
|
||||
use \OCP\ICacheFactory;
|
||||
|
||||
class DocumentController extends Controller{
|
||||
|
||||
private $uid;
|
||||
private $l10n;
|
||||
private $settings;
|
||||
private $cache;
|
||||
|
||||
const ODT_TEMPLATE_PATH = '/assets/odttemplate.odt';
|
||||
const CLOUDSUITE_TMP_PATH = '/documents-tmp/';
|
||||
|
||||
public function __construct($appName, IRequest $request, IConfig $settings, IL10N $l10n, $uid){
|
||||
public function __construct($appName, IRequest $request, IConfig $settings, IL10N $l10n, $uid, ICacheFactory $cache){
|
||||
parent::__construct($appName, $request);
|
||||
$this->uid = $uid;
|
||||
$this->l10n = $l10n;
|
||||
$this->settings = $settings;
|
||||
$this->cache = $cache->create($appName);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -62,14 +65,18 @@ class DocumentController extends Controller{
|
||||
]);
|
||||
|
||||
$policy = new ContentSecurityPolicy();
|
||||
+ $policy->addAllowedScriptDomain('\'self\' http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js \'unsafe-eval\' ' . $this->settings->getAppValue('richdocuments', 'wopi_url'));
|
||||
+ $policy->addAllowedFrameDomain('\'self\' http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js \'unsafe-eval\' ' . $this->settings->getAppValue('richdocuments', 'wopi_url'));
|
||||
$policy->addAllowedScriptDomain('\'self\' http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js \'unsafe-eval\' ' . $this->settings->getAppValue('richdocuments', 'wopi_url'));
|
||||
$policy->addAllowedFrameDomain('\'self\' http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.min.js \'unsafe-eval\' ' . $this->settings->getAppValue('richdocuments', 'wopi_url'));
|
||||
$policy->addAllowedConnectDomain('ws://' . $_SERVER['SERVER_NAME'] . ':9980');
|
||||
$policy->addAllowedImageDomain('*');
|
||||
$policy->allowInlineScript(true);
|
||||
$policy->addAllowedFontDomain('data:');
|
||||
$response->setContentSecurityPolicy($policy);
|
||||
|
||||
if(is_null($this->cache->get('discovery.xml'))) {
|
||||
// TODO GET http://domain/hosting/discovery
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
@ -16,10 +16,11 @@ class DocumentControllerTest extends \PHPUnit_Framework_TestCase {
|
||||
private $request;
|
||||
private $l10n;
|
||||
private $settings;
|
||||
private $cache;
|
||||
private $uid = 'jack_the_documents_tester';
|
||||
private $password = 'password';
|
||||
private $controller;
|
||||
|
||||
|
||||
public function setUp(){
|
||||
$this->request = $this->getMockBuilder('\OCP\IRequest')
|
||||
->disableOriginalConstructor()
|
||||
@ -33,14 +34,19 @@ class DocumentControllerTest extends \PHPUnit_Framework_TestCase {
|
||||
->disableOriginalConstructor()
|
||||
->getMock()
|
||||
;
|
||||
$this->cache = $this->getMockBuilder('\OCP\ICacheFactory')
|
||||
->disableOriginalConstructor()
|
||||
->getMock()
|
||||
;
|
||||
$this->controller = new DocumentController(
|
||||
$this->appName,
|
||||
$this->request,
|
||||
$this->settings,
|
||||
$this->l10n,
|
||||
$this->uid
|
||||
$this->uid,
|
||||
$this->cache
|
||||
);
|
||||
|
||||
|
||||
$userManager = \OC::$server->getUserManager();
|
||||
$userSession = \OC::$server->getUserSession();
|
||||
if (!$userManager->userExists($this->uid)){
|
||||
|
Loading…
x
Reference in New Issue
Block a user