$data['manager'] = $this;
$mountPoint = '/' . $this->uid . '/files' . $data['mountpoint'];
$data['mountpoint'] = $mountPoint;
- $data['certificateManager'] = \OC::$server->getCertificateManager(\OC::$server->getUserSession()->getUser());
+ $data['certificateManager'] = \OC::$server->getCertificateManager($this->uid);
$mount = new Mount(self::STORAGE, $mountPoint, $data, $this, $this->storageLoader);
$this->mountManager->addMount($mount);
return $mount;
\OC::$server->getDatabaseConnection(),
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
- \OC::$server->getUserSession(),
- \OC::$server->getHTTPHelper());
+ \OC::$server->getHTTPHelper(),
+ $params['uid']);
$manager->removeUserShares($params['uid']);
}
\OC::$server->getDatabaseConnection(),
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
- \OC::$server->getUserSession(),
- \OC::$server->getHTTPHelper());
+ \OC::$server->getHTTPHelper(),
+ $toDelete
+ );
$manager->removeUserShares($toDelete);
*/
class CertificateManager implements ICertificateManager {
/**
- * @var \OCP\IUser
+ * @var string
*/
- protected $user;
+ protected $uid;
/**
- * @param \OCP\IUser $user
+ * @param string $uid
*/
- public function __construct($user) {
- $this->user = $user;
+ public function __construct($uid) {
+ $this->uid = $uid;
}
/**
}
private function getPathToCertificates() {
- $path = $this->user ? $this->user->getHome() . '/files_external/' : '/files_external/';
+ $path = is_null($this->uid) ? '/files_external/' : '/' . $this->uid . '/files_external/';
return $path;
}
});
$this->registerService('HTTPHelper', function (Server $c) {
$config = $c->getConfig();
- return new HTTPHelper($config, new \OC\Security\CertificateManager($c->getUserSession()->getUser()));
+ $user = $c->getUserSession()->getUser();
+ $uid = $user ? $user->getUID() : null;
+ return new HTTPHelper($config, new \OC\Security\CertificateManager($uid));
});
$this->registerService('EventLogger', function (Server $c) {
if (defined('DEBUG') and DEBUG) {
/**
* Get the certificate manager for the user
*
- * @param \OCP\IUser $user (optional) if not specified the current loggedin user is used
+ * @param string $uid (optional) if not specified the current loggedin user is used
* @return \OCP\ICertificateManager
*/
- function getCertificateManager($user = null) {
- if (is_null($user)) {
+ function getCertificateManager($uid = null) {
+ if (is_null($uid)) {
$userSession = $this->getUserSession();
$user = $userSession->getUser();
if (is_null($user)) {
return null;
}
+ $uid = $user->getUID();
}
- return new CertificateManager($user);
+ return new CertificateManager($uid);
}
/**
\OC\Files\Filesystem::tearDown();
\OC_Util::setupFS($this->username);
- $this->user = \OC::$server->getUserManager()->get($this->username);
-
- $this->certificateManager = new CertificateManager($this->user);
+ $this->certificateManager = new CertificateManager($this->username);
}
protected function tearDown() {
}
function testGetCertificateBundle() {
- $this->assertSame($this->user->getHome().'/files_external/rootcerts.crt', $this->certificateManager->getCertificateBundle());
+ $this->assertSame('/' . $this->username . '/files_external/rootcerts.crt', $this->certificateManager->getCertificateBundle());
}
}
\ No newline at end of file