Completed
Push — master ( 7e1e94...4ee2d2 )
by Jan-Christoph
12:10 queued 11:34
created
apps/twofactor_backupcodes/lib/Controller/SettingsController.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -30,46 +30,46 @@
 block discarded – undo
30 30
 
31 31
 class SettingsController extends Controller {
32 32
 
33
-	/** @var BackupCodeStorage */
34
-	private $storage;
33
+    /** @var BackupCodeStorage */
34
+    private $storage;
35 35
 
36
-	/** @var IUserSession */
37
-	private $userSession;
36
+    /** @var IUserSession */
37
+    private $userSession;
38 38
 
39
-	/**
40
-	 * @param string $appName
41
-	 * @param IRequest $request
42
-	 * @param BackupCodeStorage $storage
43
-	 * @param IUserSession $userSession
44
-	 */
45
-	public function __construct($appName, IRequest $request, BackupCodeStorage $storage, IUserSession $userSession) {
46
-		parent::__construct($appName, $request);
47
-		$this->userSession = $userSession;
48
-		$this->storage = $storage;
49
-	}
39
+    /**
40
+     * @param string $appName
41
+     * @param IRequest $request
42
+     * @param BackupCodeStorage $storage
43
+     * @param IUserSession $userSession
44
+     */
45
+    public function __construct($appName, IRequest $request, BackupCodeStorage $storage, IUserSession $userSession) {
46
+        parent::__construct($appName, $request);
47
+        $this->userSession = $userSession;
48
+        $this->storage = $storage;
49
+    }
50 50
 
51
-	/**
52
-	 * @NoAdminRequired
53
-	 * @return JSONResponse
54
-	 */
55
-	public function state() {
56
-		$user = $this->userSession->getUser();
57
-		return $this->storage->getBackupCodesState($user);
58
-	}
51
+    /**
52
+     * @NoAdminRequired
53
+     * @return JSONResponse
54
+     */
55
+    public function state() {
56
+        $user = $this->userSession->getUser();
57
+        return $this->storage->getBackupCodesState($user);
58
+    }
59 59
 
60
-	/**
61
-	 * @NoAdminRequired
62
-	 * @PasswordConfirmationRequired
63
-	 *
64
-	 * @return JSONResponse
65
-	 */
66
-	public function createCodes() {
67
-		$user = $this->userSession->getUser();
68
-		$codes = $this->storage->createCodes($user);
69
-		return new JSONResponse([
70
-			'codes' => $codes,
71
-			'state' => $this->storage->getBackupCodesState($user),
72
-		]);
73
-	}
60
+    /**
61
+     * @NoAdminRequired
62
+     * @PasswordConfirmationRequired
63
+     *
64
+     * @return JSONResponse
65
+     */
66
+    public function createCodes() {
67
+        $user = $this->userSession->getUser();
68
+        $codes = $this->storage->createCodes($user);
69
+        return new JSONResponse([
70
+            'codes' => $codes,
71
+            'state' => $this->storage->getBackupCodesState($user),
72
+        ]);
73
+    }
74 74
 
75 75
 }
Please login to merge, or discard this patch.
apps/twofactor_backupcodes/lib/Db/BackupCode.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -34,13 +34,13 @@
 block discarded – undo
34 34
  */
35 35
 class BackupCode extends Entity {
36 36
 
37
-	/** @var string */
38
-	protected $userId;
37
+    /** @var string */
38
+    protected $userId;
39 39
 
40
-	/** @var string */
41
-	protected $code;
40
+    /** @var string */
41
+    protected $code;
42 42
 
43
-	/** @var int */
44
-	protected $used;
43
+    /** @var int */
44
+    protected $used;
45 45
 
46 46
 }
Please login to merge, or discard this patch.
apps/twofactor_backupcodes/appinfo/routes.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -21,17 +21,17 @@
 block discarded – undo
21 21
  */
22 22
 // @codeCoverageIgnoreStart
23 23
 return [
24
-	'routes' => [
25
-		[
26
-			'name' => 'settings#state',
27
-			'url' => '/settings/state',
28
-			'verb' => 'GET'
29
-		],
30
-		[
31
-			'name' => 'settings#createCodes',
32
-			'url' => '/settings/create',
33
-			'verb' => 'POST'
34
-		],
35
-	]
24
+    'routes' => [
25
+        [
26
+            'name' => 'settings#state',
27
+            'url' => '/settings/state',
28
+            'verb' => 'GET'
29
+        ],
30
+        [
31
+            'name' => 'settings#createCodes',
32
+            'url' => '/settings/create',
33
+            'verb' => 'POST'
34
+        ],
35
+    ]
36 36
 ];
37 37
 // @codeCoverageIgnoreEnd
Please login to merge, or discard this patch.
apps/encryption/templates/altmail.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -4,8 +4,8 @@
 block discarded – undo
4 4
 
5 5
 print_unescaped($l->t("Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n", array($_['password'])));
6 6
 if ( isset($_['expiration']) ) {
7
-	print_unescaped($l->t("The share will expire on %s.", array($_['expiration'])));
8
-	print_unescaped("\n\n");
7
+    print_unescaped($l->t("The share will expire on %s.", array($_['expiration'])));
8
+    print_unescaped("\n\n");
9 9
 }
10 10
 // TRANSLATORS term at the end of a mail
11 11
 p($l->t("Cheers!"));
Please login to merge, or discard this patch.
apps/encryption/templates/settings-personal.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2
-	/** @var array $_ */
3
-	/** @var \OCP\IL10N $l */
2
+    /** @var array $_ */
3
+    /** @var \OCP\IL10N $l */
4 4
 script('encryption', 'settings-personal');
5 5
 script('core', 'multiselect');
6 6
 ?>
@@ -20,8 +20,8 @@  discard block
 block discarded – undo
20 20
 			<br />
21 21
 			<?php p( $l->t( "Set your old private key password to your current log-in password:" ) ); ?>
22 22
 			<?php if (  $_["recoveryEnabledForUser"] ):
23
-					p( $l->t( " If you don't remember your old password you can ask your administrator to recover your files." ) );
24
-			endif; ?>
23
+                    p( $l->t( " If you don't remember your old password you can ask your administrator to recover your files." ) );
24
+            endif; ?>
25 25
 			<br />
26 26
 			<input
27 27
 				type="password"
Please login to merge, or discard this patch.
apps/encryption/templates/mail.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -15,10 +15,10 @@
 block discarded – undo
15 15
 					<td width="20px">&nbsp;</td>
16 16
 					<td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
17 17
 						<?php
18
-						print_unescaped($l->t('Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section "basic encryption module" of your personal settings and update your encryption password by entering this password into the "old log-in password" field and your current login-password.<br><br>', array($_['password'])));
19
-						// TRANSLATORS term at the end of a mail
20
-						p($l->t('Cheers!'));
21
-						?>
18
+                        print_unescaped($l->t('Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section "basic encryption module" of your personal settings and update your encryption password by entering this password into the "old log-in password" field and your current login-password.<br><br>', array($_['password'])));
19
+                        // TRANSLATORS term at the end of a mail
20
+                        p($l->t('Cheers!'));
21
+                        ?>
22 22
 					</td>
23 23
 				</tr>
24 24
 				<tr><td colspan="2">&nbsp;</td></tr>
Please login to merge, or discard this patch.
apps/encryption/lib/Users/Setup.php 1 patch
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -32,58 +32,58 @@
 block discarded – undo
32 32
 use OCP\IUserSession;
33 33
 
34 34
 class Setup {
35
-	/**
36
-	 * @var Crypt
37
-	 */
38
-	private $crypt;
39
-	/**
40
-	 * @var KeyManager
41
-	 */
42
-	private $keyManager;
43
-	/**
44
-	 * @var ILogger
45
-	 */
46
-	private $logger;
47
-	/**
48
-	 * @var bool|string
49
-	 */
50
-	private $user;
35
+    /**
36
+     * @var Crypt
37
+     */
38
+    private $crypt;
39
+    /**
40
+     * @var KeyManager
41
+     */
42
+    private $keyManager;
43
+    /**
44
+     * @var ILogger
45
+     */
46
+    private $logger;
47
+    /**
48
+     * @var bool|string
49
+     */
50
+    private $user;
51 51
 
52 52
 
53
-	/**
54
-	 * @param ILogger $logger
55
-	 * @param IUserSession $userSession
56
-	 * @param Crypt $crypt
57
-	 * @param KeyManager $keyManager
58
-	 */
59
-	public function __construct(ILogger $logger,
60
-								IUserSession $userSession,
61
-								Crypt $crypt,
62
-								KeyManager $keyManager) {
63
-		$this->logger = $logger;
64
-		$this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false;
65
-		$this->crypt = $crypt;
66
-		$this->keyManager = $keyManager;
67
- 	}
53
+    /**
54
+     * @param ILogger $logger
55
+     * @param IUserSession $userSession
56
+     * @param Crypt $crypt
57
+     * @param KeyManager $keyManager
58
+     */
59
+    public function __construct(ILogger $logger,
60
+                                IUserSession $userSession,
61
+                                Crypt $crypt,
62
+                                KeyManager $keyManager) {
63
+        $this->logger = $logger;
64
+        $this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false;
65
+        $this->crypt = $crypt;
66
+        $this->keyManager = $keyManager;
67
+        }
68 68
 
69
-	/**
70
-	 * @param string $uid user id
71
-	 * @param string $password user password
72
-	 * @return bool
73
-	 */
74
-	public function setupUser($uid, $password) {
75
-		if (!$this->keyManager->userHasKeys($uid)) {
76
-			return $this->keyManager->storeKeyPair($uid, $password,
77
-				$this->crypt->createKeyPair());
78
-		}
79
-		return true;
80
-	}
69
+    /**
70
+     * @param string $uid user id
71
+     * @param string $password user password
72
+     * @return bool
73
+     */
74
+    public function setupUser($uid, $password) {
75
+        if (!$this->keyManager->userHasKeys($uid)) {
76
+            return $this->keyManager->storeKeyPair($uid, $password,
77
+                $this->crypt->createKeyPair());
78
+        }
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * make sure that all system keys exists
84
-	 */
85
-	public function setupSystem() {
86
-		$this->keyManager->validateShareKey();
87
-		$this->keyManager->validateMasterKey();
88
-	}
82
+    /**
83
+     * make sure that all system keys exists
84
+     */
85
+    public function setupSystem() {
86
+        $this->keyManager->validateShareKey();
87
+        $this->keyManager->validateMasterKey();
88
+    }
89 89
 }
Please login to merge, or discard this patch.
apps/encryption/lib/Controller/SettingsController.php 1 patch
Indentation   +124 added lines, -124 removed lines patch added patch discarded remove patch
@@ -38,129 +38,129 @@
 block discarded – undo
38 38
 
39 39
 class SettingsController extends Controller {
40 40
 
41
-	/** @var IL10N */
42
-	private $l;
43
-
44
-	/** @var IUserManager */
45
-	private $userManager;
46
-
47
-	/** @var IUserSession */
48
-	private $userSession;
49
-
50
-	/** @var KeyManager */
51
-	private $keyManager;
52
-
53
-	/** @var Crypt */
54
-	private $crypt;
55
-
56
-	/** @var Session */
57
-	private $session;
58
-
59
-	/** @var ISession  */
60
-	private $ocSession;
61
-
62
-	/** @var  Util */
63
-	private $util;
64
-
65
-	/**
66
-	 * @param string $AppName
67
-	 * @param IRequest $request
68
-	 * @param IL10N $l10n
69
-	 * @param IUserManager $userManager
70
-	 * @param IUserSession $userSession
71
-	 * @param KeyManager $keyManager
72
-	 * @param Crypt $crypt
73
-	 * @param Session $session
74
-	 * @param ISession $ocSession
75
-	 * @param Util $util
76
-	 */
77
-	public function __construct($AppName,
78
-								IRequest $request,
79
-								IL10N $l10n,
80
-								IUserManager $userManager,
81
-								IUserSession $userSession,
82
-								KeyManager $keyManager,
83
-								Crypt $crypt,
84
-								Session $session,
85
-								ISession $ocSession,
86
-								Util $util
41
+    /** @var IL10N */
42
+    private $l;
43
+
44
+    /** @var IUserManager */
45
+    private $userManager;
46
+
47
+    /** @var IUserSession */
48
+    private $userSession;
49
+
50
+    /** @var KeyManager */
51
+    private $keyManager;
52
+
53
+    /** @var Crypt */
54
+    private $crypt;
55
+
56
+    /** @var Session */
57
+    private $session;
58
+
59
+    /** @var ISession  */
60
+    private $ocSession;
61
+
62
+    /** @var  Util */
63
+    private $util;
64
+
65
+    /**
66
+     * @param string $AppName
67
+     * @param IRequest $request
68
+     * @param IL10N $l10n
69
+     * @param IUserManager $userManager
70
+     * @param IUserSession $userSession
71
+     * @param KeyManager $keyManager
72
+     * @param Crypt $crypt
73
+     * @param Session $session
74
+     * @param ISession $ocSession
75
+     * @param Util $util
76
+     */
77
+    public function __construct($AppName,
78
+                                IRequest $request,
79
+                                IL10N $l10n,
80
+                                IUserManager $userManager,
81
+                                IUserSession $userSession,
82
+                                KeyManager $keyManager,
83
+                                Crypt $crypt,
84
+                                Session $session,
85
+                                ISession $ocSession,
86
+                                Util $util
87 87
 ) {
88
-		parent::__construct($AppName, $request);
89
-		$this->l = $l10n;
90
-		$this->userSession = $userSession;
91
-		$this->userManager = $userManager;
92
-		$this->keyManager = $keyManager;
93
-		$this->crypt = $crypt;
94
-		$this->session = $session;
95
-		$this->ocSession = $ocSession;
96
-		$this->util = $util;
97
-	}
98
-
99
-
100
-	/**
101
-	 * @NoAdminRequired
102
-	 * @UseSession
103
-	 *
104
-	 * @param string $oldPassword
105
-	 * @param string $newPassword
106
-	 * @return DataResponse
107
-	 */
108
-	public function updatePrivateKeyPassword($oldPassword, $newPassword) {
109
-		$result = false;
110
-		$uid = $this->userSession->getUser()->getUID();
111
-		$errorMessage = $this->l->t('Could not update the private key password.');
112
-
113
-		//check if password is correct
114
-		$passwordCorrect = $this->userManager->checkPassword($uid, $newPassword);
115
-		if ($passwordCorrect === false) {
116
-			// if check with uid fails we need to check the password with the login name
117
-			// e.g. in the ldap case. For local user we need to check the password with
118
-			// the uid because in this case the login name is case insensitive
119
-			$loginName = $this->ocSession->get('loginname');
120
-			$passwordCorrect = $this->userManager->checkPassword($loginName, $newPassword);
121
-		}
122
-
123
-		if ($passwordCorrect !== false) {
124
-			$encryptedKey = $this->keyManager->getPrivateKey($uid);
125
-			$decryptedKey = $this->crypt->decryptPrivateKey($encryptedKey, $oldPassword, $uid);
126
-
127
-			if ($decryptedKey) {
128
-				$encryptedKey = $this->crypt->encryptPrivateKey($decryptedKey, $newPassword, $uid);
129
-				$header = $this->crypt->generateHeader();
130
-				if ($encryptedKey) {
131
-					$this->keyManager->setPrivateKey($uid, $header . $encryptedKey);
132
-					$this->session->setPrivateKey($decryptedKey);
133
-					$result = true;
134
-				}
135
-			} else {
136
-				$errorMessage = $this->l->t('The old password was not correct, please try again.');
137
-			}
138
-		} else {
139
-			$errorMessage = $this->l->t('The current log-in password was not correct, please try again.');
140
-		}
141
-
142
-		if ($result === true) {
143
-			$this->session->setStatus(Session::INIT_SUCCESSFUL);
144
-			return new DataResponse(
145
-				['message' => (string) $this->l->t('Private key password successfully updated.')]
146
-			);
147
-		} else {
148
-			return new DataResponse(
149
-				['message' => (string) $errorMessage],
150
-				Http::STATUS_BAD_REQUEST
151
-			);
152
-		}
153
-
154
-	}
155
-
156
-	/**
157
-	 * @UseSession
158
-	 *
159
-	 * @param bool $encryptHomeStorage
160
-	 * @return DataResponse
161
-	 */
162
-	public function setEncryptHomeStorage($encryptHomeStorage) {
163
-		$this->util->setEncryptHomeStorage($encryptHomeStorage);
164
-		return new DataResponse();
165
-	}
88
+        parent::__construct($AppName, $request);
89
+        $this->l = $l10n;
90
+        $this->userSession = $userSession;
91
+        $this->userManager = $userManager;
92
+        $this->keyManager = $keyManager;
93
+        $this->crypt = $crypt;
94
+        $this->session = $session;
95
+        $this->ocSession = $ocSession;
96
+        $this->util = $util;
97
+    }
98
+
99
+
100
+    /**
101
+     * @NoAdminRequired
102
+     * @UseSession
103
+     *
104
+     * @param string $oldPassword
105
+     * @param string $newPassword
106
+     * @return DataResponse
107
+     */
108
+    public function updatePrivateKeyPassword($oldPassword, $newPassword) {
109
+        $result = false;
110
+        $uid = $this->userSession->getUser()->getUID();
111
+        $errorMessage = $this->l->t('Could not update the private key password.');
112
+
113
+        //check if password is correct
114
+        $passwordCorrect = $this->userManager->checkPassword($uid, $newPassword);
115
+        if ($passwordCorrect === false) {
116
+            // if check with uid fails we need to check the password with the login name
117
+            // e.g. in the ldap case. For local user we need to check the password with
118
+            // the uid because in this case the login name is case insensitive
119
+            $loginName = $this->ocSession->get('loginname');
120
+            $passwordCorrect = $this->userManager->checkPassword($loginName, $newPassword);
121
+        }
122
+
123
+        if ($passwordCorrect !== false) {
124
+            $encryptedKey = $this->keyManager->getPrivateKey($uid);
125
+            $decryptedKey = $this->crypt->decryptPrivateKey($encryptedKey, $oldPassword, $uid);
126
+
127
+            if ($decryptedKey) {
128
+                $encryptedKey = $this->crypt->encryptPrivateKey($decryptedKey, $newPassword, $uid);
129
+                $header = $this->crypt->generateHeader();
130
+                if ($encryptedKey) {
131
+                    $this->keyManager->setPrivateKey($uid, $header . $encryptedKey);
132
+                    $this->session->setPrivateKey($decryptedKey);
133
+                    $result = true;
134
+                }
135
+            } else {
136
+                $errorMessage = $this->l->t('The old password was not correct, please try again.');
137
+            }
138
+        } else {
139
+            $errorMessage = $this->l->t('The current log-in password was not correct, please try again.');
140
+        }
141
+
142
+        if ($result === true) {
143
+            $this->session->setStatus(Session::INIT_SUCCESSFUL);
144
+            return new DataResponse(
145
+                ['message' => (string) $this->l->t('Private key password successfully updated.')]
146
+            );
147
+        } else {
148
+            return new DataResponse(
149
+                ['message' => (string) $errorMessage],
150
+                Http::STATUS_BAD_REQUEST
151
+            );
152
+        }
153
+
154
+    }
155
+
156
+    /**
157
+     * @UseSession
158
+     *
159
+     * @param bool $encryptHomeStorage
160
+     * @return DataResponse
161
+     */
162
+    public function setEncryptHomeStorage($encryptHomeStorage) {
163
+        $this->util->setEncryptHomeStorage($encryptHomeStorage);
164
+        return new DataResponse();
165
+    }
166 166
 }
Please login to merge, or discard this patch.
apps/encryption/lib/Controller/RecoveryController.php 1 patch
Indentation   +155 added lines, -155 removed lines patch added patch discarded remove patch
@@ -34,160 +34,160 @@
 block discarded – undo
34 34
 use OCP\AppFramework\Http\DataResponse;
35 35
 
36 36
 class RecoveryController extends Controller {
37
-	/**
38
-	 * @var IConfig
39
-	 */
40
-	private $config;
41
-	/**
42
-	 * @var IL10N
43
-	 */
44
-	private $l;
45
-	/**
46
-	 * @var Recovery
47
-	 */
48
-	private $recovery;
49
-
50
-	/**
51
-	 * @param string $AppName
52
-	 * @param IRequest $request
53
-	 * @param IConfig $config
54
-	 * @param IL10N $l10n
55
-	 * @param Recovery $recovery
56
-	 */
57
-	public function __construct($AppName,
58
-								IRequest $request,
59
-								IConfig $config,
60
-								IL10N $l10n,
61
-								Recovery $recovery) {
62
-		parent::__construct($AppName, $request);
63
-		$this->config = $config;
64
-		$this->l = $l10n;
65
-		$this->recovery = $recovery;
66
-	}
67
-
68
-	/**
69
-	 * @param string $recoveryPassword
70
-	 * @param string $confirmPassword
71
-	 * @param string $adminEnableRecovery
72
-	 * @return DataResponse
73
-	 */
74
-	public function adminRecovery($recoveryPassword, $confirmPassword, $adminEnableRecovery) {
75
-		// Check if both passwords are the same
76
-		if (empty($recoveryPassword)) {
77
-			$errorMessage = (string)$this->l->t('Missing recovery key password');
78
-			return new DataResponse(['data' => ['message' => $errorMessage]],
79
-				Http::STATUS_BAD_REQUEST);
80
-		}
81
-
82
-		if (empty($confirmPassword)) {
83
-			$errorMessage = (string)$this->l->t('Please repeat the recovery key password');
84
-			return new DataResponse(['data' => ['message' => $errorMessage]],
85
-				Http::STATUS_BAD_REQUEST);
86
-		}
87
-
88
-		if ($recoveryPassword !== $confirmPassword) {
89
-			$errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password');
90
-			return new DataResponse(['data' => ['message' => $errorMessage]],
91
-				Http::STATUS_BAD_REQUEST);
92
-		}
93
-
94
-		if (isset($adminEnableRecovery) && $adminEnableRecovery === '1') {
95
-			if ($this->recovery->enableAdminRecovery($recoveryPassword)) {
96
-				return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully enabled')]]);
97
-			}
98
-			return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not enable recovery key. Please check your recovery key password!')]], Http::STATUS_BAD_REQUEST);
99
-		} elseif (isset($adminEnableRecovery) && $adminEnableRecovery === '0') {
100
-			if ($this->recovery->disableAdminRecovery($recoveryPassword)) {
101
-				return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully disabled')]]);
102
-			}
103
-			return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not disable recovery key. Please check your recovery key password!')]], Http::STATUS_BAD_REQUEST);
104
-		}
105
-		// this response should never be sent but just in case.
106
-		return new DataResponse(['data' => ['message' => (string)$this->l->t('Missing parameters')]], Http::STATUS_BAD_REQUEST);
107
-	}
108
-
109
-	/**
110
-	 * @param string $newPassword
111
-	 * @param string $oldPassword
112
-	 * @param string $confirmPassword
113
-	 * @return DataResponse
114
-	 */
115
-	public function changeRecoveryPassword($newPassword, $oldPassword, $confirmPassword) {
116
-		//check if both passwords are the same
117
-		if (empty($oldPassword)) {
118
-			$errorMessage = (string)$this->l->t('Please provide the old recovery password');
119
-			return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
120
-		}
121
-
122
-		if (empty($newPassword)) {
123
-			$errorMessage = (string)$this->l->t('Please provide a new recovery password');
124
-			return new DataResponse (['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
125
-		}
126
-
127
-		if (empty($confirmPassword)) {
128
-			$errorMessage = (string)$this->l->t('Please repeat the new recovery password');
129
-			return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
130
-		}
131
-
132
-		if ($newPassword !== $confirmPassword) {
133
-			$errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password');
134
-			return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
135
-		}
136
-
137
-		$result = $this->recovery->changeRecoveryKeyPassword($newPassword,
138
-			$oldPassword);
139
-
140
-		if ($result) {
141
-			return new DataResponse(
142
-				[
143
-					'data' => [
144
-						'message' => (string)$this->l->t('Password successfully changed.')]
145
-				]
146
-			);
147
-		}
148
-		return new DataResponse(
149
-			[
150
-				'data' => [
151
-					'message' => (string)$this->l->t('Could not change the password. Maybe the old password was not correct.')
152
-				]
153
-			], Http::STATUS_BAD_REQUEST);
154
-	}
155
-
156
-	/**
157
-	 * @NoAdminRequired
158
-	 *
159
-	 * @param string $userEnableRecovery
160
-	 * @return DataResponse
161
-	 */
162
-	public function userSetRecovery($userEnableRecovery) {
163
-		if ($userEnableRecovery === '0' || $userEnableRecovery === '1') {
164
-
165
-			$result = $this->recovery->setRecoveryForUser($userEnableRecovery);
166
-
167
-			if ($result) {
168
-				if ($userEnableRecovery === '0') {
169
-					return new DataResponse(
170
-						[
171
-							'data' => [
172
-								'message' => (string)$this->l->t('Recovery Key disabled')]
173
-						]
174
-					);
175
-				}
176
-				return new DataResponse(
177
-					[
178
-						'data' => [
179
-							'message' => (string)$this->l->t('Recovery Key enabled')]
180
-					]
181
-				);
182
-			}
183
-
184
-		}
185
-		return new DataResponse(
186
-			[
187
-				'data' => [
188
-					'message' => (string)$this->l->t('Could not enable the recovery key, please try again or contact your administrator')
189
-				]
190
-			], Http::STATUS_BAD_REQUEST);
191
-	}
37
+    /**
38
+     * @var IConfig
39
+     */
40
+    private $config;
41
+    /**
42
+     * @var IL10N
43
+     */
44
+    private $l;
45
+    /**
46
+     * @var Recovery
47
+     */
48
+    private $recovery;
49
+
50
+    /**
51
+     * @param string $AppName
52
+     * @param IRequest $request
53
+     * @param IConfig $config
54
+     * @param IL10N $l10n
55
+     * @param Recovery $recovery
56
+     */
57
+    public function __construct($AppName,
58
+                                IRequest $request,
59
+                                IConfig $config,
60
+                                IL10N $l10n,
61
+                                Recovery $recovery) {
62
+        parent::__construct($AppName, $request);
63
+        $this->config = $config;
64
+        $this->l = $l10n;
65
+        $this->recovery = $recovery;
66
+    }
67
+
68
+    /**
69
+     * @param string $recoveryPassword
70
+     * @param string $confirmPassword
71
+     * @param string $adminEnableRecovery
72
+     * @return DataResponse
73
+     */
74
+    public function adminRecovery($recoveryPassword, $confirmPassword, $adminEnableRecovery) {
75
+        // Check if both passwords are the same
76
+        if (empty($recoveryPassword)) {
77
+            $errorMessage = (string)$this->l->t('Missing recovery key password');
78
+            return new DataResponse(['data' => ['message' => $errorMessage]],
79
+                Http::STATUS_BAD_REQUEST);
80
+        }
81
+
82
+        if (empty($confirmPassword)) {
83
+            $errorMessage = (string)$this->l->t('Please repeat the recovery key password');
84
+            return new DataResponse(['data' => ['message' => $errorMessage]],
85
+                Http::STATUS_BAD_REQUEST);
86
+        }
87
+
88
+        if ($recoveryPassword !== $confirmPassword) {
89
+            $errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password');
90
+            return new DataResponse(['data' => ['message' => $errorMessage]],
91
+                Http::STATUS_BAD_REQUEST);
92
+        }
93
+
94
+        if (isset($adminEnableRecovery) && $adminEnableRecovery === '1') {
95
+            if ($this->recovery->enableAdminRecovery($recoveryPassword)) {
96
+                return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully enabled')]]);
97
+            }
98
+            return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not enable recovery key. Please check your recovery key password!')]], Http::STATUS_BAD_REQUEST);
99
+        } elseif (isset($adminEnableRecovery) && $adminEnableRecovery === '0') {
100
+            if ($this->recovery->disableAdminRecovery($recoveryPassword)) {
101
+                return new DataResponse(['data' => ['message' => (string)$this->l->t('Recovery key successfully disabled')]]);
102
+            }
103
+            return new DataResponse(['data' => ['message' => (string)$this->l->t('Could not disable recovery key. Please check your recovery key password!')]], Http::STATUS_BAD_REQUEST);
104
+        }
105
+        // this response should never be sent but just in case.
106
+        return new DataResponse(['data' => ['message' => (string)$this->l->t('Missing parameters')]], Http::STATUS_BAD_REQUEST);
107
+    }
108
+
109
+    /**
110
+     * @param string $newPassword
111
+     * @param string $oldPassword
112
+     * @param string $confirmPassword
113
+     * @return DataResponse
114
+     */
115
+    public function changeRecoveryPassword($newPassword, $oldPassword, $confirmPassword) {
116
+        //check if both passwords are the same
117
+        if (empty($oldPassword)) {
118
+            $errorMessage = (string)$this->l->t('Please provide the old recovery password');
119
+            return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
120
+        }
121
+
122
+        if (empty($newPassword)) {
123
+            $errorMessage = (string)$this->l->t('Please provide a new recovery password');
124
+            return new DataResponse (['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
125
+        }
126
+
127
+        if (empty($confirmPassword)) {
128
+            $errorMessage = (string)$this->l->t('Please repeat the new recovery password');
129
+            return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
130
+        }
131
+
132
+        if ($newPassword !== $confirmPassword) {
133
+            $errorMessage = (string)$this->l->t('Repeated recovery key password does not match the provided recovery key password');
134
+            return new DataResponse(['data' => ['message' => $errorMessage]], Http::STATUS_BAD_REQUEST);
135
+        }
136
+
137
+        $result = $this->recovery->changeRecoveryKeyPassword($newPassword,
138
+            $oldPassword);
139
+
140
+        if ($result) {
141
+            return new DataResponse(
142
+                [
143
+                    'data' => [
144
+                        'message' => (string)$this->l->t('Password successfully changed.')]
145
+                ]
146
+            );
147
+        }
148
+        return new DataResponse(
149
+            [
150
+                'data' => [
151
+                    'message' => (string)$this->l->t('Could not change the password. Maybe the old password was not correct.')
152
+                ]
153
+            ], Http::STATUS_BAD_REQUEST);
154
+    }
155
+
156
+    /**
157
+     * @NoAdminRequired
158
+     *
159
+     * @param string $userEnableRecovery
160
+     * @return DataResponse
161
+     */
162
+    public function userSetRecovery($userEnableRecovery) {
163
+        if ($userEnableRecovery === '0' || $userEnableRecovery === '1') {
164
+
165
+            $result = $this->recovery->setRecoveryForUser($userEnableRecovery);
166
+
167
+            if ($result) {
168
+                if ($userEnableRecovery === '0') {
169
+                    return new DataResponse(
170
+                        [
171
+                            'data' => [
172
+                                'message' => (string)$this->l->t('Recovery Key disabled')]
173
+                        ]
174
+                    );
175
+                }
176
+                return new DataResponse(
177
+                    [
178
+                        'data' => [
179
+                            'message' => (string)$this->l->t('Recovery Key enabled')]
180
+                    ]
181
+                );
182
+            }
183
+
184
+        }
185
+        return new DataResponse(
186
+            [
187
+                'data' => [
188
+                    'message' => (string)$this->l->t('Could not enable the recovery key, please try again or contact your administrator')
189
+                ]
190
+            ], Http::STATUS_BAD_REQUEST);
191
+    }
192 192
 
193 193
 }
Please login to merge, or discard this patch.