// Read plain file in chunks
-
- $relPath = $this->stripUserFilesPath( $plainFile['path'] );
-
+ //relative to data/<user>/file
+ $relPath = $plainFile['path'];
+ //relative to /data
+ $rawPath = $this->userId . '/files/' . $plainFile['path'];
+
// Open handle with for binary reading
- $plainHandle = $this->view->fopen( $plainFile['path'], 'rb' );
+ $plainHandle = $this->view->fopen( $rawPath, 'rb' );
// Open handle with for binary writing
- $encHandle = fopen( 'crypt://' . $plainFile['path'] . '.tmp', 'wb' );
+ $encHandle = fopen( 'crypt://' . $relPath . '.tmp', 'wb' );
// Overwrite the existing file with the encrypted one
//$this->view->file_put_contents( $plainFile['path'], $encrypted['data'] );
$size = stream_copy_to_stream( $plainHandle, $encHandle );
- $this->view->rename($plainFile['path'] . '.tmp', $plainFile['path']);
+ $this->view->rename($rawPath . '.tmp', $rawPath);
// Fetch the key that has just been set/updated by the stream
//$encKey = Keymanager::getFileKey( $this->view, $this->userId, $relPath );
// Recrypt data, generate catfile
$recrypted = Crypt::legacyKeyRecryptKeyfile( $legacyData, $legacyPassphrase, $publicKey, $newPassphrase );
- $relPath = $this->stripUserFilesPath( $legacyFile['path'] );
+ $relPath = $legacyFile['path'];
+ $rawPath = $this->userId . '/files/' . $plainFile['path'];
// Save keyfile
Keymanager::setFileKey( $this->view, $relPath, $this->userId, $recrypted['key'] );
// Overwrite the existing file with the encrypted one
- $this->view->file_put_contents( $legacyFile['path'], $recrypted['data'] );
+ $this->view->file_put_contents( $rawPath, $recrypted['data'] );
$size = strlen( $recrypted['data'] );
// Add the file to the cache
- \OC\Files\Filesystem::putFileInfo( $legacyFile['path'], array( 'encrypted'=>true, 'size' => $size ), '' );
+ \OC\Files\Filesystem::putFileInfo( $rawPath, array( 'encrypted'=>true, 'size' => $size ), '' );
}