code clean up; nicer solution to solve the public link share problem if a user is logged in

remotes/origin/stable6
Björn Schießle 2013-05-23 21:18:31 +07:00
parent a9ebf2aabe
commit 7b07168c46
2 changed files with 6 additions and 25 deletions

@ -238,14 +238,10 @@ class Keymanager
$util = new Util($view, \OCP\User::getUser());
if ($util->isPublic()) {
$keyfilePath = $util->getKeyfilePath() . $filePath . '.key';
} else {
list($owner, $filename) = $util->getUidAndFilename($filePath);
$filePath_f = ltrim($filename, '/');
list($owner, $filename) = $util->getUidAndFilename($filePath);
$filePath_f = ltrim($filename, '/');
$keyfilePath = '/' . $owner . '/files_encryption/keyfiles/' . $filePath_f . '.key';
}
$keyfilePath = '/' . $owner . '/files_encryption/keyfiles/' . $filePath_f . '.key';
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
@ -452,12 +448,8 @@ class Keymanager
//here we need the currently logged in user, while userId can be a different user
$util = new Util($view, \OCP\User::getUser());
if ($util->isPublic()) {
$shareKeyPath = $util->getSharekeyPath() . $filePath . '.' . $userId . '.shareKey';
} else {
list($owner, $filename) = $util->getUidAndFilename($filePath);
$shareKeyPath = \OC\Files\Filesystem::normalizePath('/' . $owner . '/files_encryption/share-keys/' . $filename . '.' . $userId . '.shareKey');
}
list($owner, $filename) = $util->getUidAndFilename($filePath);
$shareKeyPath = \OC\Files\Filesystem::normalizePath('/' . $owner . '/files_encryption/share-keys/' . $filename . '.' . $userId . '.shareKey');
if ($view->file_exists($shareKeyPath)) {

@ -1139,7 +1139,7 @@ class Util
$fileOwnerUid = $view->getOwner($path);
// handle public access
if ($fileOwnerUid === false && $this->isPublic) {
if ($this->isPublic) {
$filename = $path;
$fileOwnerUid = $GLOBALS['fileOwner'];
@ -1494,15 +1494,4 @@ class Util
$this->recoverAllFiles('/', $privateKey);
}
public function isPublic() {
return $this->isPublic;
}
public function getKeyfilePath() {
return $this->keyfilesPath;
}
public function getSharekeyPath() {
return $this->shareKeysPath;
}
}