diff options
author | brantje <brantje@gmail.com> | 2017-01-03 00:06:55 +0300 |
---|---|---|
committer | brantje <brantje@gmail.com> | 2017-01-11 20:09:49 +0300 |
commit | 3f4afba34f880fb1e2c5403d3265f2c270c00cd0 (patch) | |
tree | bfc64375c08e2847b5fbb8468f6720873a8defbe /migration | |
parent | b05137b93ff7b19a0bbf621648992af1f2ae96f0 (diff) |
Fixes
Diffstat (limited to 'migration')
-rw-r--r-- | migration/serversideencryption.php | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/migration/serversideencryption.php b/migration/serversideencryption.php index 72bb2bff..7ecc4371 100644 --- a/migration/serversideencryption.php +++ b/migration/serversideencryption.php @@ -24,6 +24,7 @@ namespace OCA\Passman\Migration; use OCA\Passman\Db\CredentialRevision; +use OCA\Passman\Db\File; use OCA\Passman\Service\CredentialRevisionService; use OCA\Passman\Service\CredentialService; use OCA\Passman\Service\EncryptService; @@ -36,7 +37,7 @@ use OCP\Migration\IRepairStep; class ServerSideEncryption implements IRepairStep { - /** @var encryptService */ + /** @var EncryptService */ private $encryptService; /** @var IDBConnection */ @@ -73,6 +74,8 @@ class ServerSideEncryption implements IRepairStep { } public function run(IOutput $output) { + $output->info('Enabling Service Side Encryption for passman'); + if (version_compare($this->installedVersion, '2.0.0RC4', '<')) { $this->encryptCredentials(); $this->encryptRevisions(); @@ -80,15 +83,19 @@ class ServerSideEncryption implements IRepairStep { } } + private function fetchAll($sql){ + return $this->db->executeQuery($sql)->fetchAll(); + } + private function encryptCredentials() { - $credentials = $this->db->executeQuery('SELECT * FROM `*PREFIX*passman_credentials`')->fetchAll(); + $credentials = $this->fetchAll('SELECT * FROM `*PREFIX*passman_credentials`'); foreach ($credentials as $credential) { $this->credentialService->updateCredential($credential); } } private function encryptRevisions() { - $revisions = $this->db->executeQuery('SELECT * FROM `*PREFIX*passman_revisions`')->fetchAll(); + $revisions = $this->fetchAll('SELECT * FROM `*PREFIX*passman_revisions`'); foreach ($revisions as $_revision) { $revision = new CredentialRevision(); $revision->setId($_revision['id']); @@ -97,14 +104,23 @@ class ServerSideEncryption implements IRepairStep { $revision->setUserId($_revision['user_id']); $revision->setCreated($_revision['created']); $revision->setEditedBy($_revision['edited_by']); - $revision->setCredentialData( $_revision['credential_data']); + $revision->setCredentialData($_revision['credential_data']); $this->revisionService->updateRevision($revision); } } private function encryptFiles() { - $files = $this->db->executeQuery('SELECT * FROM `*PREFIX*passman_files`')->fetchAll(); - foreach ($files as $file) { + $files = $this->fetchAll('SELECT * FROM `*PREFIX*passman_files`'); + foreach ($files as $_file) { + $file = new File(); + $file->setId($_file['id']); + $file->setGuid($_file['guid']); + $file->setUserId($_file['user_id']); + $file->setMimetype($_file['minetype']); + $file->setFilename($_file['filename']); + $file->setSize($_file['size']); + $file->setCreated($_file['created']); + $file->setFileData($_file['file_data']); $this->fileService->updateFile($file); } } |