Passed
Push — master ( b2075d...4ac4f4 )
by Joas
28:52 queued 14:19
created
apps/comments/lib/EventHandler.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -36,56 +36,56 @@
 block discarded – undo
36 36
  * @package OCA\Comments
37 37
  */
38 38
 class EventHandler implements ICommentsEventHandler {
39
-	/** @var ActivityListener */
40
-	private $activityListener;
39
+    /** @var ActivityListener */
40
+    private $activityListener;
41 41
 
42
-	/** @var NotificationListener */
43
-	private $notificationListener;
42
+    /** @var NotificationListener */
43
+    private $notificationListener;
44 44
 
45
-	public function __construct(ActivityListener $activityListener, NotificationListener $notificationListener) {
46
-		$this->activityListener = $activityListener;
47
-		$this->notificationListener = $notificationListener;
48
-	}
45
+    public function __construct(ActivityListener $activityListener, NotificationListener $notificationListener) {
46
+        $this->activityListener = $activityListener;
47
+        $this->notificationListener = $notificationListener;
48
+    }
49 49
 
50
-	/**
51
-	 * @param CommentsEvent $event
52
-	 */
53
-	public function handle(CommentsEvent $event) {
54
-		if ($event->getComment()->getObjectType() !== 'files') {
55
-			// this is a 'files'-specific Handler
56
-			return;
57
-		}
50
+    /**
51
+     * @param CommentsEvent $event
52
+     */
53
+    public function handle(CommentsEvent $event) {
54
+        if ($event->getComment()->getObjectType() !== 'files') {
55
+            // this is a 'files'-specific Handler
56
+            return;
57
+        }
58 58
 
59
-		$eventType = $event->getEvent();
60
-		if ($eventType === CommentsEvent::EVENT_ADD
61
-		) {
62
-			$this->notificationHandler($event);
63
-			$this->activityHandler($event);
64
-			return;
65
-		}
59
+        $eventType = $event->getEvent();
60
+        if ($eventType === CommentsEvent::EVENT_ADD
61
+        ) {
62
+            $this->notificationHandler($event);
63
+            $this->activityHandler($event);
64
+            return;
65
+        }
66 66
 
67
-		$applicableEvents = [
68
-			CommentsEvent::EVENT_PRE_UPDATE,
69
-			CommentsEvent::EVENT_UPDATE,
70
-			CommentsEvent::EVENT_DELETE,
71
-		];
72
-		if (in_array($eventType, $applicableEvents)) {
73
-			$this->notificationHandler($event);
74
-			return;
75
-		}
76
-	}
67
+        $applicableEvents = [
68
+            CommentsEvent::EVENT_PRE_UPDATE,
69
+            CommentsEvent::EVENT_UPDATE,
70
+            CommentsEvent::EVENT_DELETE,
71
+        ];
72
+        if (in_array($eventType, $applicableEvents)) {
73
+            $this->notificationHandler($event);
74
+            return;
75
+        }
76
+    }
77 77
 
78
-	/**
79
-	 * @param CommentsEvent $event
80
-	 */
81
-	private function activityHandler(CommentsEvent $event) {
82
-		$this->activityListener->commentEvent($event);
83
-	}
78
+    /**
79
+     * @param CommentsEvent $event
80
+     */
81
+    private function activityHandler(CommentsEvent $event) {
82
+        $this->activityListener->commentEvent($event);
83
+    }
84 84
 
85
-	/**
86
-	 * @param CommentsEvent $event
87
-	 */
88
-	private function notificationHandler(CommentsEvent $event) {
89
-		$this->notificationListener->evaluate($event);
90
-	}
85
+    /**
86
+     * @param CommentsEvent $event
87
+     */
88
+    private function notificationHandler(CommentsEvent $event) {
89
+        $this->notificationListener->evaluate($event);
90
+    }
91 91
 }
Please login to merge, or discard this patch.
apps/user_ldap/lib/User_Proxy.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
 	 * @return string|false
198 198
 	 */
199 199
 	public function loginName2UserName($loginName) {
200
-		$id = 'LOGINNAME,' . $loginName;
200
+		$id = 'LOGINNAME,'.$loginName;
201 201
 		return $this->handleRequest($id, 'loginName2UserName', [$loginName]);
202 202
 	}
203 203
 	
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 * @return string|false with the username
209 209
 	 */
210 210
 	public function dn2UserName($dn) {
211
-		$id = 'DN,' . $dn;
211
+		$id = 'DN,'.$dn;
212 212
 		return $this->handleRequest($id, 'dn2UserName', [$dn]);
213 213
 	}
214 214
 
Please login to merge, or discard this patch.
Indentation   +322 added lines, -322 removed lines patch added patch discarded remove patch
@@ -37,351 +37,351 @@
 block discarded – undo
37 37
 use OCP\Notification\IManager as INotificationManager;
38 38
 
39 39
 class User_Proxy extends Proxy implements \OCP\IUserBackend, \OCP\UserInterface, IUserLDAP {
40
-	private $backends = [];
41
-	/** @var User_LDAP */
42
-	private $refBackend = null;
40
+    private $backends = [];
41
+    /** @var User_LDAP */
42
+    private $refBackend = null;
43 43
 
44
-	public function __construct(
45
-		Helper $helper,
46
-		ILDAPWrapper $ldap,
47
-		IConfig $ocConfig,
48
-		INotificationManager $notificationManager,
49
-		IUserSession $userSession,
50
-		UserPluginManager $userPluginManager
51
-	) {
52
-		parent::__construct($ldap);
53
-		$serverConfigPrefixes = $helper->getServerConfigurationPrefixes(true);
54
-		foreach ($serverConfigPrefixes as $configPrefix) {
55
-			$this->backends[$configPrefix] =
56
-				new User_LDAP($this->getAccess($configPrefix), $ocConfig, $notificationManager, $userSession, $userPluginManager);
44
+    public function __construct(
45
+        Helper $helper,
46
+        ILDAPWrapper $ldap,
47
+        IConfig $ocConfig,
48
+        INotificationManager $notificationManager,
49
+        IUserSession $userSession,
50
+        UserPluginManager $userPluginManager
51
+    ) {
52
+        parent::__construct($ldap);
53
+        $serverConfigPrefixes = $helper->getServerConfigurationPrefixes(true);
54
+        foreach ($serverConfigPrefixes as $configPrefix) {
55
+            $this->backends[$configPrefix] =
56
+                new User_LDAP($this->getAccess($configPrefix), $ocConfig, $notificationManager, $userSession, $userPluginManager);
57 57
 
58
-			if (is_null($this->refBackend)) {
59
-				$this->refBackend = &$this->backends[$configPrefix];
60
-			}
61
-		}
62
-	}
58
+            if (is_null($this->refBackend)) {
59
+                $this->refBackend = &$this->backends[$configPrefix];
60
+            }
61
+        }
62
+    }
63 63
 
64
-	/**
65
-	 * Tries the backends one after the other until a positive result is returned from the specified method
66
-	 *
67
-	 * @param string $id the uid connected to the request
68
-	 * @param string $method the method of the user backend that shall be called
69
-	 * @param array $parameters an array of parameters to be passed
70
-	 * @return mixed the result of the method or false
71
-	 */
72
-	protected function walkBackends($id, $method, $parameters) {
73
-		$uid = $id;
74
-		$cacheKey = $this->getUserCacheKey($uid);
75
-		foreach ($this->backends as $configPrefix => $backend) {
76
-			$instance = $backend;
77
-			if (!method_exists($instance, $method)
78
-				&& method_exists($this->getAccess($configPrefix), $method)) {
79
-				$instance = $this->getAccess($configPrefix);
80
-			}
81
-			if ($result = call_user_func_array([$instance, $method], $parameters)) {
82
-				if (!$this->isSingleBackend()) {
83
-					$this->writeToCache($cacheKey, $configPrefix);
84
-				}
85
-				return $result;
86
-			}
87
-		}
88
-		return false;
89
-	}
64
+    /**
65
+     * Tries the backends one after the other until a positive result is returned from the specified method
66
+     *
67
+     * @param string $id the uid connected to the request
68
+     * @param string $method the method of the user backend that shall be called
69
+     * @param array $parameters an array of parameters to be passed
70
+     * @return mixed the result of the method or false
71
+     */
72
+    protected function walkBackends($id, $method, $parameters) {
73
+        $uid = $id;
74
+        $cacheKey = $this->getUserCacheKey($uid);
75
+        foreach ($this->backends as $configPrefix => $backend) {
76
+            $instance = $backend;
77
+            if (!method_exists($instance, $method)
78
+                && method_exists($this->getAccess($configPrefix), $method)) {
79
+                $instance = $this->getAccess($configPrefix);
80
+            }
81
+            if ($result = call_user_func_array([$instance, $method], $parameters)) {
82
+                if (!$this->isSingleBackend()) {
83
+                    $this->writeToCache($cacheKey, $configPrefix);
84
+                }
85
+                return $result;
86
+            }
87
+        }
88
+        return false;
89
+    }
90 90
 
91
-	/**
92
-	 * Asks the backend connected to the server that supposely takes care of the uid from the request.
93
-	 *
94
-	 * @param string $id the uid connected to the request
95
-	 * @param string $method the method of the user backend that shall be called
96
-	 * @param array $parameters an array of parameters to be passed
97
-	 * @param mixed $passOnWhen the result matches this variable
98
-	 * @return mixed the result of the method or false
99
-	 */
100
-	protected function callOnLastSeenOn($id, $method, $parameters, $passOnWhen) {
101
-		$uid = $id;
102
-		$cacheKey = $this->getUserCacheKey($uid);
103
-		$prefix = $this->getFromCache($cacheKey);
104
-		//in case the uid has been found in the past, try this stored connection first
105
-		if (!is_null($prefix)) {
106
-			if (isset($this->backends[$prefix])) {
107
-				$instance = $this->backends[$prefix];
108
-				if (!method_exists($instance, $method)
109
-					&& method_exists($this->getAccess($prefix), $method)) {
110
-					$instance = $this->getAccess($prefix);
111
-				}
112
-				$result = call_user_func_array([$instance, $method], $parameters);
113
-				if ($result === $passOnWhen) {
114
-					//not found here, reset cache to null if user vanished
115
-					//because sometimes methods return false with a reason
116
-					$userExists = call_user_func_array(
117
-						[$this->backends[$prefix], 'userExistsOnLDAP'],
118
-						[$uid]
119
-					);
120
-					if (!$userExists) {
121
-						$this->writeToCache($cacheKey, null);
122
-					}
123
-				}
124
-				return $result;
125
-			}
126
-		}
127
-		return false;
128
-	}
91
+    /**
92
+     * Asks the backend connected to the server that supposely takes care of the uid from the request.
93
+     *
94
+     * @param string $id the uid connected to the request
95
+     * @param string $method the method of the user backend that shall be called
96
+     * @param array $parameters an array of parameters to be passed
97
+     * @param mixed $passOnWhen the result matches this variable
98
+     * @return mixed the result of the method or false
99
+     */
100
+    protected function callOnLastSeenOn($id, $method, $parameters, $passOnWhen) {
101
+        $uid = $id;
102
+        $cacheKey = $this->getUserCacheKey($uid);
103
+        $prefix = $this->getFromCache($cacheKey);
104
+        //in case the uid has been found in the past, try this stored connection first
105
+        if (!is_null($prefix)) {
106
+            if (isset($this->backends[$prefix])) {
107
+                $instance = $this->backends[$prefix];
108
+                if (!method_exists($instance, $method)
109
+                    && method_exists($this->getAccess($prefix), $method)) {
110
+                    $instance = $this->getAccess($prefix);
111
+                }
112
+                $result = call_user_func_array([$instance, $method], $parameters);
113
+                if ($result === $passOnWhen) {
114
+                    //not found here, reset cache to null if user vanished
115
+                    //because sometimes methods return false with a reason
116
+                    $userExists = call_user_func_array(
117
+                        [$this->backends[$prefix], 'userExistsOnLDAP'],
118
+                        [$uid]
119
+                    );
120
+                    if (!$userExists) {
121
+                        $this->writeToCache($cacheKey, null);
122
+                    }
123
+                }
124
+                return $result;
125
+            }
126
+        }
127
+        return false;
128
+    }
129 129
 
130
-	protected function activeBackends(): int {
131
-		return count($this->backends);
132
-	}
130
+    protected function activeBackends(): int {
131
+        return count($this->backends);
132
+    }
133 133
 
134
-	/**
135
-	 * Check if backend implements actions
136
-	 *
137
-	 * @param int $actions bitwise-or'ed actions
138
-	 * @return boolean
139
-	 *
140
-	 * Returns the supported actions as int to be
141
-	 * compared with \OC\User\Backend::CREATE_USER etc.
142
-	 */
143
-	public function implementsActions($actions) {
144
-		//it's the same across all our user backends obviously
145
-		return $this->refBackend->implementsActions($actions);
146
-	}
134
+    /**
135
+     * Check if backend implements actions
136
+     *
137
+     * @param int $actions bitwise-or'ed actions
138
+     * @return boolean
139
+     *
140
+     * Returns the supported actions as int to be
141
+     * compared with \OC\User\Backend::CREATE_USER etc.
142
+     */
143
+    public function implementsActions($actions) {
144
+        //it's the same across all our user backends obviously
145
+        return $this->refBackend->implementsActions($actions);
146
+    }
147 147
 
148
-	/**
149
-	 * Backend name to be shown in user management
150
-	 *
151
-	 * @return string the name of the backend to be shown
152
-	 */
153
-	public function getBackendName() {
154
-		return $this->refBackend->getBackendName();
155
-	}
148
+    /**
149
+     * Backend name to be shown in user management
150
+     *
151
+     * @return string the name of the backend to be shown
152
+     */
153
+    public function getBackendName() {
154
+        return $this->refBackend->getBackendName();
155
+    }
156 156
 
157
-	/**
158
-	 * Get a list of all users
159
-	 *
160
-	 * @param string $search
161
-	 * @param null|int $limit
162
-	 * @param null|int $offset
163
-	 * @return string[] an array of all uids
164
-	 */
165
-	public function getUsers($search = '', $limit = 10, $offset = 0) {
166
-		//we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
167
-		$users = [];
168
-		foreach ($this->backends as $backend) {
169
-			$backendUsers = $backend->getUsers($search, $limit, $offset);
170
-			if (is_array($backendUsers)) {
171
-				$users = array_merge($users, $backendUsers);
172
-			}
173
-		}
174
-		return $users;
175
-	}
157
+    /**
158
+     * Get a list of all users
159
+     *
160
+     * @param string $search
161
+     * @param null|int $limit
162
+     * @param null|int $offset
163
+     * @return string[] an array of all uids
164
+     */
165
+    public function getUsers($search = '', $limit = 10, $offset = 0) {
166
+        //we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
167
+        $users = [];
168
+        foreach ($this->backends as $backend) {
169
+            $backendUsers = $backend->getUsers($search, $limit, $offset);
170
+            if (is_array($backendUsers)) {
171
+                $users = array_merge($users, $backendUsers);
172
+            }
173
+        }
174
+        return $users;
175
+    }
176 176
 
177
-	/**
178
-	 * check if a user exists
179
-	 *
180
-	 * @param string $uid the username
181
-	 * @return boolean
182
-	 */
183
-	public function userExists($uid) {
184
-		$existsOnLDAP = false;
185
-		$existsLocally = $this->handleRequest($uid, 'userExists', [$uid]);
186
-		if ($existsLocally) {
187
-			$existsOnLDAP = $this->userExistsOnLDAP($uid);
188
-		}
189
-		if ($existsLocally && !$existsOnLDAP) {
190
-			try {
191
-				$user = $this->getLDAPAccess($uid)->userManager->get($uid);
192
-				if ($user instanceof User) {
193
-					$user->markUser();
194
-				}
195
-			} catch (\Exception $e) {
196
-				// ignore
197
-			}
198
-		}
199
-		return $existsLocally;
200
-	}
177
+    /**
178
+     * check if a user exists
179
+     *
180
+     * @param string $uid the username
181
+     * @return boolean
182
+     */
183
+    public function userExists($uid) {
184
+        $existsOnLDAP = false;
185
+        $existsLocally = $this->handleRequest($uid, 'userExists', [$uid]);
186
+        if ($existsLocally) {
187
+            $existsOnLDAP = $this->userExistsOnLDAP($uid);
188
+        }
189
+        if ($existsLocally && !$existsOnLDAP) {
190
+            try {
191
+                $user = $this->getLDAPAccess($uid)->userManager->get($uid);
192
+                if ($user instanceof User) {
193
+                    $user->markUser();
194
+                }
195
+            } catch (\Exception $e) {
196
+                // ignore
197
+            }
198
+        }
199
+        return $existsLocally;
200
+    }
201 201
 
202
-	/**
203
-	 * check if a user exists on LDAP
204
-	 *
205
-	 * @param string|\OCA\User_LDAP\User\User $user either the Nextcloud user
206
-	 * name or an instance of that user
207
-	 */
208
-	public function userExistsOnLDAP($user, bool $ignoreCache = false): bool {
209
-		$id = ($user instanceof User) ? $user->getUsername() : $user;
210
-		return $this->handleRequest($id, 'userExistsOnLDAP', [$user, $ignoreCache]);
211
-	}
202
+    /**
203
+     * check if a user exists on LDAP
204
+     *
205
+     * @param string|\OCA\User_LDAP\User\User $user either the Nextcloud user
206
+     * name or an instance of that user
207
+     */
208
+    public function userExistsOnLDAP($user, bool $ignoreCache = false): bool {
209
+        $id = ($user instanceof User) ? $user->getUsername() : $user;
210
+        return $this->handleRequest($id, 'userExistsOnLDAP', [$user, $ignoreCache]);
211
+    }
212 212
 
213
-	/**
214
-	 * Check if the password is correct
215
-	 *
216
-	 * @param string $uid The username
217
-	 * @param string $password The password
218
-	 * @return bool
219
-	 *
220
-	 * Check if the password is correct without logging in the user
221
-	 */
222
-	public function checkPassword($uid, $password) {
223
-		return $this->handleRequest($uid, 'checkPassword', [$uid, $password]);
224
-	}
213
+    /**
214
+     * Check if the password is correct
215
+     *
216
+     * @param string $uid The username
217
+     * @param string $password The password
218
+     * @return bool
219
+     *
220
+     * Check if the password is correct without logging in the user
221
+     */
222
+    public function checkPassword($uid, $password) {
223
+        return $this->handleRequest($uid, 'checkPassword', [$uid, $password]);
224
+    }
225 225
 
226
-	/**
227
-	 * returns the username for the given login name, if available
228
-	 *
229
-	 * @param string $loginName
230
-	 * @return string|false
231
-	 */
232
-	public function loginName2UserName($loginName) {
233
-		$id = 'LOGINNAME,' . $loginName;
234
-		return $this->handleRequest($id, 'loginName2UserName', [$loginName]);
235
-	}
226
+    /**
227
+     * returns the username for the given login name, if available
228
+     *
229
+     * @param string $loginName
230
+     * @return string|false
231
+     */
232
+    public function loginName2UserName($loginName) {
233
+        $id = 'LOGINNAME,' . $loginName;
234
+        return $this->handleRequest($id, 'loginName2UserName', [$loginName]);
235
+    }
236 236
 
237
-	/**
238
-	 * returns the username for the given LDAP DN, if available
239
-	 *
240
-	 * @param string $dn
241
-	 * @return string|false with the username
242
-	 */
243
-	public function dn2UserName($dn) {
244
-		$id = 'DN,' . $dn;
245
-		return $this->handleRequest($id, 'dn2UserName', [$dn]);
246
-	}
237
+    /**
238
+     * returns the username for the given LDAP DN, if available
239
+     *
240
+     * @param string $dn
241
+     * @return string|false with the username
242
+     */
243
+    public function dn2UserName($dn) {
244
+        $id = 'DN,' . $dn;
245
+        return $this->handleRequest($id, 'dn2UserName', [$dn]);
246
+    }
247 247
 
248
-	/**
249
-	 * get the user's home directory
250
-	 *
251
-	 * @param string $uid the username
252
-	 * @return boolean
253
-	 */
254
-	public function getHome($uid) {
255
-		return $this->handleRequest($uid, 'getHome', [$uid]);
256
-	}
248
+    /**
249
+     * get the user's home directory
250
+     *
251
+     * @param string $uid the username
252
+     * @return boolean
253
+     */
254
+    public function getHome($uid) {
255
+        return $this->handleRequest($uid, 'getHome', [$uid]);
256
+    }
257 257
 
258
-	/**
259
-	 * get display name of the user
260
-	 *
261
-	 * @param string $uid user ID of the user
262
-	 * @return string display name
263
-	 */
264
-	public function getDisplayName($uid) {
265
-		return $this->handleRequest($uid, 'getDisplayName', [$uid]);
266
-	}
258
+    /**
259
+     * get display name of the user
260
+     *
261
+     * @param string $uid user ID of the user
262
+     * @return string display name
263
+     */
264
+    public function getDisplayName($uid) {
265
+        return $this->handleRequest($uid, 'getDisplayName', [$uid]);
266
+    }
267 267
 
268
-	/**
269
-	 * set display name of the user
270
-	 *
271
-	 * @param string $uid user ID of the user
272
-	 * @param string $displayName new display name
273
-	 * @return string display name
274
-	 */
275
-	public function setDisplayName($uid, $displayName) {
276
-		return $this->handleRequest($uid, 'setDisplayName', [$uid, $displayName]);
277
-	}
268
+    /**
269
+     * set display name of the user
270
+     *
271
+     * @param string $uid user ID of the user
272
+     * @param string $displayName new display name
273
+     * @return string display name
274
+     */
275
+    public function setDisplayName($uid, $displayName) {
276
+        return $this->handleRequest($uid, 'setDisplayName', [$uid, $displayName]);
277
+    }
278 278
 
279
-	/**
280
-	 * checks whether the user is allowed to change his avatar in Nextcloud
281
-	 *
282
-	 * @param string $uid the Nextcloud user name
283
-	 * @return boolean either the user can or cannot
284
-	 */
285
-	public function canChangeAvatar($uid) {
286
-		return $this->handleRequest($uid, 'canChangeAvatar', [$uid], true);
287
-	}
279
+    /**
280
+     * checks whether the user is allowed to change his avatar in Nextcloud
281
+     *
282
+     * @param string $uid the Nextcloud user name
283
+     * @return boolean either the user can or cannot
284
+     */
285
+    public function canChangeAvatar($uid) {
286
+        return $this->handleRequest($uid, 'canChangeAvatar', [$uid], true);
287
+    }
288 288
 
289
-	/**
290
-	 * Get a list of all display names and user ids.
291
-	 *
292
-	 * @param string $search
293
-	 * @param int|null $limit
294
-	 * @param int|null $offset
295
-	 * @return array an array of all displayNames (value) and the corresponding uids (key)
296
-	 */
297
-	public function getDisplayNames($search = '', $limit = null, $offset = null) {
298
-		//we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
299
-		$users = [];
300
-		foreach ($this->backends as $backend) {
301
-			$backendUsers = $backend->getDisplayNames($search, $limit, $offset);
302
-			if (is_array($backendUsers)) {
303
-				$users = $users + $backendUsers;
304
-			}
305
-		}
306
-		return $users;
307
-	}
289
+    /**
290
+     * Get a list of all display names and user ids.
291
+     *
292
+     * @param string $search
293
+     * @param int|null $limit
294
+     * @param int|null $offset
295
+     * @return array an array of all displayNames (value) and the corresponding uids (key)
296
+     */
297
+    public function getDisplayNames($search = '', $limit = null, $offset = null) {
298
+        //we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
299
+        $users = [];
300
+        foreach ($this->backends as $backend) {
301
+            $backendUsers = $backend->getDisplayNames($search, $limit, $offset);
302
+            if (is_array($backendUsers)) {
303
+                $users = $users + $backendUsers;
304
+            }
305
+        }
306
+        return $users;
307
+    }
308 308
 
309
-	/**
310
-	 * delete a user
311
-	 *
312
-	 * @param string $uid The username of the user to delete
313
-	 * @return bool
314
-	 *
315
-	 * Deletes a user
316
-	 */
317
-	public function deleteUser($uid) {
318
-		return $this->handleRequest($uid, 'deleteUser', [$uid]);
319
-	}
309
+    /**
310
+     * delete a user
311
+     *
312
+     * @param string $uid The username of the user to delete
313
+     * @return bool
314
+     *
315
+     * Deletes a user
316
+     */
317
+    public function deleteUser($uid) {
318
+        return $this->handleRequest($uid, 'deleteUser', [$uid]);
319
+    }
320 320
 
321
-	/**
322
-	 * Set password
323
-	 *
324
-	 * @param string $uid The username
325
-	 * @param string $password The new password
326
-	 * @return bool
327
-	 *
328
-	 */
329
-	public function setPassword($uid, $password) {
330
-		return $this->handleRequest($uid, 'setPassword', [$uid, $password]);
331
-	}
321
+    /**
322
+     * Set password
323
+     *
324
+     * @param string $uid The username
325
+     * @param string $password The new password
326
+     * @return bool
327
+     *
328
+     */
329
+    public function setPassword($uid, $password) {
330
+        return $this->handleRequest($uid, 'setPassword', [$uid, $password]);
331
+    }
332 332
 
333
-	/**
334
-	 * @return bool
335
-	 */
336
-	public function hasUserListings() {
337
-		return $this->refBackend->hasUserListings();
338
-	}
333
+    /**
334
+     * @return bool
335
+     */
336
+    public function hasUserListings() {
337
+        return $this->refBackend->hasUserListings();
338
+    }
339 339
 
340
-	/**
341
-	 * Count the number of users
342
-	 *
343
-	 * @return int|bool
344
-	 */
345
-	public function countUsers() {
346
-		$users = false;
347
-		foreach ($this->backends as $backend) {
348
-			$backendUsers = $backend->countUsers();
349
-			if ($backendUsers !== false) {
350
-				$users += $backendUsers;
351
-			}
352
-		}
353
-		return $users;
354
-	}
340
+    /**
341
+     * Count the number of users
342
+     *
343
+     * @return int|bool
344
+     */
345
+    public function countUsers() {
346
+        $users = false;
347
+        foreach ($this->backends as $backend) {
348
+            $backendUsers = $backend->countUsers();
349
+            if ($backendUsers !== false) {
350
+                $users += $backendUsers;
351
+            }
352
+        }
353
+        return $users;
354
+    }
355 355
 
356
-	/**
357
-	 * Return access for LDAP interaction.
358
-	 *
359
-	 * @param string $uid
360
-	 * @return Access instance of Access for LDAP interaction
361
-	 */
362
-	public function getLDAPAccess($uid) {
363
-		return $this->handleRequest($uid, 'getLDAPAccess', [$uid]);
364
-	}
356
+    /**
357
+     * Return access for LDAP interaction.
358
+     *
359
+     * @param string $uid
360
+     * @return Access instance of Access for LDAP interaction
361
+     */
362
+    public function getLDAPAccess($uid) {
363
+        return $this->handleRequest($uid, 'getLDAPAccess', [$uid]);
364
+    }
365 365
 
366
-	/**
367
-	 * Return a new LDAP connection for the specified user.
368
-	 * The connection needs to be closed manually.
369
-	 *
370
-	 * @param string $uid
371
-	 * @return resource|\LDAP\Connection The LDAP connection
372
-	 */
373
-	public function getNewLDAPConnection($uid) {
374
-		return $this->handleRequest($uid, 'getNewLDAPConnection', [$uid]);
375
-	}
366
+    /**
367
+     * Return a new LDAP connection for the specified user.
368
+     * The connection needs to be closed manually.
369
+     *
370
+     * @param string $uid
371
+     * @return resource|\LDAP\Connection The LDAP connection
372
+     */
373
+    public function getNewLDAPConnection($uid) {
374
+        return $this->handleRequest($uid, 'getNewLDAPConnection', [$uid]);
375
+    }
376 376
 
377
-	/**
378
-	 * Creates a new user in LDAP
379
-	 *
380
-	 * @param $username
381
-	 * @param $password
382
-	 * @return bool
383
-	 */
384
-	public function createUser($username, $password) {
385
-		return $this->handleRequest($username, 'createUser', [$username, $password]);
386
-	}
377
+    /**
378
+     * Creates a new user in LDAP
379
+     *
380
+     * @param $username
381
+     * @param $password
382
+     * @return bool
383
+     */
384
+    public function createUser($username, $password) {
385
+        return $this->handleRequest($username, 'createUser', [$username, $password]);
386
+    }
387 387
 }
Please login to merge, or discard this patch.
apps/user_ldap/lib/BackendUtility.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -26,13 +26,13 @@
 block discarded – undo
26 26
 namespace OCA\User_LDAP;
27 27
 
28 28
 abstract class BackendUtility {
29
-	protected $access;
29
+    protected $access;
30 30
 
31
-	/**
32
-	 * constructor, make sure the subclasses call this one!
33
-	 * @param Access $access an instance of Access for LDAP interaction
34
-	 */
35
-	public function __construct(Access $access) {
36
-		$this->access = $access;
37
-	}
31
+    /**
32
+     * constructor, make sure the subclasses call this one!
33
+     * @param Access $access an instance of Access for LDAP interaction
34
+     */
35
+    public function __construct(Access $access) {
36
+        $this->access = $access;
37
+    }
38 38
 }
Please login to merge, or discard this patch.
apps/user_ldap/ajax/getNewServerConfigPrefix.php 2 patches
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -38,12 +38,12 @@
 block discarded – undo
38 38
 
39 39
 $newConfig = new \OCA\User_LDAP\Configuration($nk, false);
40 40
 if (isset($_POST['copyConfig'])) {
41
-	$originalConfig = new \OCA\User_LDAP\Configuration($_POST['copyConfig']);
42
-	$newConfig->setConfiguration($originalConfig->getConfiguration());
41
+    $originalConfig = new \OCA\User_LDAP\Configuration($_POST['copyConfig']);
42
+    $newConfig->setConfiguration($originalConfig->getConfiguration());
43 43
 } else {
44
-	$configuration = new \OCA\User_LDAP\Configuration($nk, false);
45
-	$newConfig->setConfiguration($configuration->getDefaults());
46
-	$resultData['defaults'] = $configuration->getDefaults();
44
+    $configuration = new \OCA\User_LDAP\Configuration($nk, false);
45
+    $newConfig->setConfiguration($configuration->getDefaults());
46
+    $resultData['defaults'] = $configuration->getDefaults();
47 47
 }
48 48
 $newConfig->saveConfiguration();
49 49
 
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -33,7 +33,7 @@
 block discarded – undo
33 33
 $serverConnections = $helper->getServerConfigurationPrefixes();
34 34
 sort($serverConnections);
35 35
 $lk = array_pop($serverConnections);
36
-$ln = (int)str_replace('s', '', $lk);
36
+$ln = (int) str_replace('s', '', $lk);
37 37
 $nk = 's'.str_pad($ln + 1, 2, '0', STR_PAD_LEFT);
38 38
 
39 39
 $resultData = ['configPrefix' => $nk];
Please login to merge, or discard this patch.
apps/encryption/lib/Util.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 	 * @return bool
168 168
 	 */
169 169
 	public function userHasFiles($uid) {
170
-		return $this->files->file_exists($uid . '/files');
170
+		return $this->files->file_exists($uid.'/files');
171 171
 	}
172 172
 
173 173
 	/**
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
 		if (count($parts) > 1) {
184 184
 			$owner = $parts[1];
185 185
 			if ($this->userManager->userExists($owner) === false) {
186
-				throw new \BadMethodCallException('Unknown user: ' .
186
+				throw new \BadMethodCallException('Unknown user: '.
187 187
 				'method expects path to a user folder relative to the data folder');
188 188
 			}
189 189
 		}
Please login to merge, or discard this patch.
Indentation   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -36,164 +36,164 @@
 block discarded – undo
36 36
 use OCP\PreConditionNotMetException;
37 37
 
38 38
 class Util {
39
-	/**
40
-	 * @var View
41
-	 */
42
-	private $files;
43
-	/**
44
-	 * @var Crypt
45
-	 */
46
-	private $crypt;
47
-	/**
48
-	 * @var ILogger
49
-	 */
50
-	private $logger;
51
-	/**
52
-	 * @var bool|IUser
53
-	 */
54
-	private $user;
55
-	/**
56
-	 * @var IConfig
57
-	 */
58
-	private $config;
59
-	/**
60
-	 * @var IUserManager
61
-	 */
62
-	private $userManager;
39
+    /**
40
+     * @var View
41
+     */
42
+    private $files;
43
+    /**
44
+     * @var Crypt
45
+     */
46
+    private $crypt;
47
+    /**
48
+     * @var ILogger
49
+     */
50
+    private $logger;
51
+    /**
52
+     * @var bool|IUser
53
+     */
54
+    private $user;
55
+    /**
56
+     * @var IConfig
57
+     */
58
+    private $config;
59
+    /**
60
+     * @var IUserManager
61
+     */
62
+    private $userManager;
63 63
 
64
-	/**
65
-	 * Util constructor.
66
-	 *
67
-	 * @param View $files
68
-	 * @param Crypt $crypt
69
-	 * @param ILogger $logger
70
-	 * @param IUserSession $userSession
71
-	 * @param IConfig $config
72
-	 * @param IUserManager $userManager
73
-	 */
74
-	public function __construct(View $files,
75
-								Crypt $crypt,
76
-								ILogger $logger,
77
-								IUserSession $userSession,
78
-								IConfig $config,
79
-								IUserManager $userManager
80
-	) {
81
-		$this->files = $files;
82
-		$this->crypt = $crypt;
83
-		$this->logger = $logger;
84
-		$this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser() : false;
85
-		$this->config = $config;
86
-		$this->userManager = $userManager;
87
-	}
64
+    /**
65
+     * Util constructor.
66
+     *
67
+     * @param View $files
68
+     * @param Crypt $crypt
69
+     * @param ILogger $logger
70
+     * @param IUserSession $userSession
71
+     * @param IConfig $config
72
+     * @param IUserManager $userManager
73
+     */
74
+    public function __construct(View $files,
75
+                                Crypt $crypt,
76
+                                ILogger $logger,
77
+                                IUserSession $userSession,
78
+                                IConfig $config,
79
+                                IUserManager $userManager
80
+    ) {
81
+        $this->files = $files;
82
+        $this->crypt = $crypt;
83
+        $this->logger = $logger;
84
+        $this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser() : false;
85
+        $this->config = $config;
86
+        $this->userManager = $userManager;
87
+    }
88 88
 
89
-	/**
90
-	 * check if recovery key is enabled for user
91
-	 *
92
-	 * @param string $uid
93
-	 * @return bool
94
-	 */
95
-	public function isRecoveryEnabledForUser($uid) {
96
-		$recoveryMode = $this->config->getUserValue($uid,
97
-			'encryption',
98
-			'recoveryEnabled',
99
-			'0');
89
+    /**
90
+     * check if recovery key is enabled for user
91
+     *
92
+     * @param string $uid
93
+     * @return bool
94
+     */
95
+    public function isRecoveryEnabledForUser($uid) {
96
+        $recoveryMode = $this->config->getUserValue($uid,
97
+            'encryption',
98
+            'recoveryEnabled',
99
+            '0');
100 100
 
101
-		return ($recoveryMode === '1');
102
-	}
101
+        return ($recoveryMode === '1');
102
+    }
103 103
 
104
-	/**
105
-	 * check if the home storage should be encrypted
106
-	 *
107
-	 * @return bool
108
-	 */
109
-	public function shouldEncryptHomeStorage() {
110
-		$encryptHomeStorage = $this->config->getAppValue(
111
-			'encryption',
112
-			'encryptHomeStorage',
113
-			'1'
114
-		);
104
+    /**
105
+     * check if the home storage should be encrypted
106
+     *
107
+     * @return bool
108
+     */
109
+    public function shouldEncryptHomeStorage() {
110
+        $encryptHomeStorage = $this->config->getAppValue(
111
+            'encryption',
112
+            'encryptHomeStorage',
113
+            '1'
114
+        );
115 115
 
116
-		return ($encryptHomeStorage === '1');
117
-	}
116
+        return ($encryptHomeStorage === '1');
117
+    }
118 118
 
119
-	/**
120
-	 * set the home storage encryption on/off
121
-	 *
122
-	 * @param bool $encryptHomeStorage
123
-	 */
124
-	public function setEncryptHomeStorage($encryptHomeStorage) {
125
-		$value = $encryptHomeStorage ? '1' : '0';
126
-		$this->config->setAppValue(
127
-			'encryption',
128
-			'encryptHomeStorage',
129
-			$value
130
-		);
131
-	}
119
+    /**
120
+     * set the home storage encryption on/off
121
+     *
122
+     * @param bool $encryptHomeStorage
123
+     */
124
+    public function setEncryptHomeStorage($encryptHomeStorage) {
125
+        $value = $encryptHomeStorage ? '1' : '0';
126
+        $this->config->setAppValue(
127
+            'encryption',
128
+            'encryptHomeStorage',
129
+            $value
130
+        );
131
+    }
132 132
 
133
-	/**
134
-	 * check if master key is enabled
135
-	 *
136
-	 * @return bool
137
-	 */
138
-	public function isMasterKeyEnabled() {
139
-		$userMasterKey = $this->config->getAppValue('encryption', 'useMasterKey', '1');
140
-		return ($userMasterKey === '1');
141
-	}
133
+    /**
134
+     * check if master key is enabled
135
+     *
136
+     * @return bool
137
+     */
138
+    public function isMasterKeyEnabled() {
139
+        $userMasterKey = $this->config->getAppValue('encryption', 'useMasterKey', '1');
140
+        return ($userMasterKey === '1');
141
+    }
142 142
 
143
-	/**
144
-	 * @param $enabled
145
-	 * @return bool
146
-	 */
147
-	public function setRecoveryForUser($enabled) {
148
-		$value = $enabled ? '1' : '0';
143
+    /**
144
+     * @param $enabled
145
+     * @return bool
146
+     */
147
+    public function setRecoveryForUser($enabled) {
148
+        $value = $enabled ? '1' : '0';
149 149
 
150
-		try {
151
-			$this->config->setUserValue($this->user->getUID(),
152
-				'encryption',
153
-				'recoveryEnabled',
154
-				$value);
155
-			return true;
156
-		} catch (PreConditionNotMetException $e) {
157
-			return false;
158
-		}
159
-	}
150
+        try {
151
+            $this->config->setUserValue($this->user->getUID(),
152
+                'encryption',
153
+                'recoveryEnabled',
154
+                $value);
155
+            return true;
156
+        } catch (PreConditionNotMetException $e) {
157
+            return false;
158
+        }
159
+    }
160 160
 
161
-	/**
162
-	 * @param string $uid
163
-	 * @return bool
164
-	 */
165
-	public function userHasFiles($uid) {
166
-		return $this->files->file_exists($uid . '/files');
167
-	}
161
+    /**
162
+     * @param string $uid
163
+     * @return bool
164
+     */
165
+    public function userHasFiles($uid) {
166
+        return $this->files->file_exists($uid . '/files');
167
+    }
168 168
 
169
-	/**
170
-	 * get owner from give path, path relative to data/ expected
171
-	 *
172
-	 * @param string $path relative to data/
173
-	 * @return string
174
-	 * @throws \BadMethodCallException
175
-	 */
176
-	public function getOwner($path) {
177
-		$owner = '';
178
-		$parts = explode('/', $path, 3);
179
-		if (count($parts) > 1) {
180
-			$owner = $parts[1];
181
-			if ($this->userManager->userExists($owner) === false) {
182
-				throw new \BadMethodCallException('Unknown user: ' .
183
-				'method expects path to a user folder relative to the data folder');
184
-			}
185
-		}
169
+    /**
170
+     * get owner from give path, path relative to data/ expected
171
+     *
172
+     * @param string $path relative to data/
173
+     * @return string
174
+     * @throws \BadMethodCallException
175
+     */
176
+    public function getOwner($path) {
177
+        $owner = '';
178
+        $parts = explode('/', $path, 3);
179
+        if (count($parts) > 1) {
180
+            $owner = $parts[1];
181
+            if ($this->userManager->userExists($owner) === false) {
182
+                throw new \BadMethodCallException('Unknown user: ' .
183
+                'method expects path to a user folder relative to the data folder');
184
+            }
185
+        }
186 186
 
187
-		return $owner;
188
-	}
187
+        return $owner;
188
+    }
189 189
 
190
-	/**
191
-	 * get storage of path
192
-	 *
193
-	 * @param string $path
194
-	 * @return \OC\Files\Storage\Storage|null
195
-	 */
196
-	public function getStorage($path) {
197
-		return $this->files->getMount($path)->getStorage();
198
-	}
190
+    /**
191
+     * get storage of path
192
+     *
193
+     * @param string $path
194
+     * @return \OC\Files\Storage\Storage|null
195
+     */
196
+    public function getStorage($path) {
197
+        return $this->files->getMount($path)->getStorage();
198
+    }
199 199
 }
Please login to merge, or discard this patch.
apps/encryption/lib/Crypto/DecryptAll.php 2 patches
Indentation   +122 added lines, -122 removed lines patch added patch discarded remove patch
@@ -34,126 +34,126 @@
 block discarded – undo
34 34
 
35 35
 class DecryptAll {
36 36
 
37
-	/** @var Util  */
38
-	protected $util;
39
-
40
-	/** @var QuestionHelper  */
41
-	protected $questionHelper;
42
-
43
-	/** @var  Crypt */
44
-	protected $crypt;
45
-
46
-	/** @var  KeyManager */
47
-	protected $keyManager;
48
-
49
-	/** @var Session  */
50
-	protected $session;
51
-
52
-	/**
53
-	 * @param Util $util
54
-	 * @param KeyManager $keyManager
55
-	 * @param Crypt $crypt
56
-	 * @param Session $session
57
-	 * @param QuestionHelper $questionHelper
58
-	 */
59
-	public function __construct(
60
-		Util $util,
61
-		KeyManager $keyManager,
62
-		Crypt $crypt,
63
-		Session $session,
64
-		QuestionHelper $questionHelper
65
-	) {
66
-		$this->util = $util;
67
-		$this->keyManager = $keyManager;
68
-		$this->crypt = $crypt;
69
-		$this->session = $session;
70
-		$this->questionHelper = $questionHelper;
71
-	}
72
-
73
-	/**
74
-	 * prepare encryption module to decrypt all files
75
-	 *
76
-	 * @param InputInterface $input
77
-	 * @param OutputInterface $output
78
-	 * @param $user
79
-	 * @return bool
80
-	 */
81
-	public function prepare(InputInterface $input, OutputInterface $output, $user) {
82
-		$question = new Question('Please enter the recovery key password: ');
83
-
84
-		if ($this->util->isMasterKeyEnabled()) {
85
-			$output->writeln('Use master key to decrypt all files');
86
-			$user = $this->keyManager->getMasterKeyId();
87
-			$password = $this->keyManager->getMasterKeyPassword();
88
-		} else {
89
-			$recoveryKeyId = $this->keyManager->getRecoveryKeyId();
90
-			if (!empty($user)) {
91
-				$output->writeln('You can only decrypt the users files if you know');
92
-				$output->writeln('the users password or if he activated the recovery key.');
93
-				$output->writeln('');
94
-				$questionUseLoginPassword = new ConfirmationQuestion(
95
-					'Do you want to use the users login password to decrypt all files? (y/n) ',
96
-					false
97
-				);
98
-				$useLoginPassword = $this->questionHelper->ask($input, $output, $questionUseLoginPassword);
99
-				if ($useLoginPassword) {
100
-					$question = new Question('Please enter the user\'s login password: ');
101
-				} elseif ($this->util->isRecoveryEnabledForUser($user) === false) {
102
-					$output->writeln('No recovery key available for user ' . $user);
103
-					return false;
104
-				} else {
105
-					$user = $recoveryKeyId;
106
-				}
107
-			} else {
108
-				$output->writeln('You can only decrypt the files of all users if the');
109
-				$output->writeln('recovery key is enabled by the admin and activated by the users.');
110
-				$output->writeln('');
111
-				$user = $recoveryKeyId;
112
-			}
113
-
114
-			$question->setHidden(true);
115
-			$question->setHiddenFallback(false);
116
-			$password = $this->questionHelper->ask($input, $output, $question);
117
-		}
118
-
119
-		$privateKey = $this->getPrivateKey($user, $password);
120
-		if ($privateKey !== false) {
121
-			$this->updateSession($user, $privateKey);
122
-			return true;
123
-		} else {
124
-			$output->writeln('Could not decrypt private key, maybe you entered the wrong password?');
125
-		}
126
-
127
-
128
-		return false;
129
-	}
130
-
131
-	/**
132
-	 * get the private key which will be used to decrypt all files
133
-	 *
134
-	 * @param string $user
135
-	 * @param string $password
136
-	 * @return bool|string
137
-	 * @throws \OCA\Encryption\Exceptions\PrivateKeyMissingException
138
-	 */
139
-	protected function getPrivateKey($user, $password) {
140
-		$recoveryKeyId = $this->keyManager->getRecoveryKeyId();
141
-		$masterKeyId = $this->keyManager->getMasterKeyId();
142
-		if ($user === $recoveryKeyId) {
143
-			$recoveryKey = $this->keyManager->getSystemPrivateKey($recoveryKeyId);
144
-			$privateKey = $this->crypt->decryptPrivateKey($recoveryKey, $password);
145
-		} elseif ($user === $masterKeyId) {
146
-			$masterKey = $this->keyManager->getSystemPrivateKey($masterKeyId);
147
-			$privateKey = $this->crypt->decryptPrivateKey($masterKey, $password, $masterKeyId);
148
-		} else {
149
-			$userKey = $this->keyManager->getPrivateKey($user);
150
-			$privateKey = $this->crypt->decryptPrivateKey($userKey, $password, $user);
151
-		}
152
-
153
-		return $privateKey;
154
-	}
155
-
156
-	protected function updateSession($user, $privateKey) {
157
-		$this->session->prepareDecryptAll($user, $privateKey);
158
-	}
37
+    /** @var Util  */
38
+    protected $util;
39
+
40
+    /** @var QuestionHelper  */
41
+    protected $questionHelper;
42
+
43
+    /** @var  Crypt */
44
+    protected $crypt;
45
+
46
+    /** @var  KeyManager */
47
+    protected $keyManager;
48
+
49
+    /** @var Session  */
50
+    protected $session;
51
+
52
+    /**
53
+     * @param Util $util
54
+     * @param KeyManager $keyManager
55
+     * @param Crypt $crypt
56
+     * @param Session $session
57
+     * @param QuestionHelper $questionHelper
58
+     */
59
+    public function __construct(
60
+        Util $util,
61
+        KeyManager $keyManager,
62
+        Crypt $crypt,
63
+        Session $session,
64
+        QuestionHelper $questionHelper
65
+    ) {
66
+        $this->util = $util;
67
+        $this->keyManager = $keyManager;
68
+        $this->crypt = $crypt;
69
+        $this->session = $session;
70
+        $this->questionHelper = $questionHelper;
71
+    }
72
+
73
+    /**
74
+     * prepare encryption module to decrypt all files
75
+     *
76
+     * @param InputInterface $input
77
+     * @param OutputInterface $output
78
+     * @param $user
79
+     * @return bool
80
+     */
81
+    public function prepare(InputInterface $input, OutputInterface $output, $user) {
82
+        $question = new Question('Please enter the recovery key password: ');
83
+
84
+        if ($this->util->isMasterKeyEnabled()) {
85
+            $output->writeln('Use master key to decrypt all files');
86
+            $user = $this->keyManager->getMasterKeyId();
87
+            $password = $this->keyManager->getMasterKeyPassword();
88
+        } else {
89
+            $recoveryKeyId = $this->keyManager->getRecoveryKeyId();
90
+            if (!empty($user)) {
91
+                $output->writeln('You can only decrypt the users files if you know');
92
+                $output->writeln('the users password or if he activated the recovery key.');
93
+                $output->writeln('');
94
+                $questionUseLoginPassword = new ConfirmationQuestion(
95
+                    'Do you want to use the users login password to decrypt all files? (y/n) ',
96
+                    false
97
+                );
98
+                $useLoginPassword = $this->questionHelper->ask($input, $output, $questionUseLoginPassword);
99
+                if ($useLoginPassword) {
100
+                    $question = new Question('Please enter the user\'s login password: ');
101
+                } elseif ($this->util->isRecoveryEnabledForUser($user) === false) {
102
+                    $output->writeln('No recovery key available for user ' . $user);
103
+                    return false;
104
+                } else {
105
+                    $user = $recoveryKeyId;
106
+                }
107
+            } else {
108
+                $output->writeln('You can only decrypt the files of all users if the');
109
+                $output->writeln('recovery key is enabled by the admin and activated by the users.');
110
+                $output->writeln('');
111
+                $user = $recoveryKeyId;
112
+            }
113
+
114
+            $question->setHidden(true);
115
+            $question->setHiddenFallback(false);
116
+            $password = $this->questionHelper->ask($input, $output, $question);
117
+        }
118
+
119
+        $privateKey = $this->getPrivateKey($user, $password);
120
+        if ($privateKey !== false) {
121
+            $this->updateSession($user, $privateKey);
122
+            return true;
123
+        } else {
124
+            $output->writeln('Could not decrypt private key, maybe you entered the wrong password?');
125
+        }
126
+
127
+
128
+        return false;
129
+    }
130
+
131
+    /**
132
+     * get the private key which will be used to decrypt all files
133
+     *
134
+     * @param string $user
135
+     * @param string $password
136
+     * @return bool|string
137
+     * @throws \OCA\Encryption\Exceptions\PrivateKeyMissingException
138
+     */
139
+    protected function getPrivateKey($user, $password) {
140
+        $recoveryKeyId = $this->keyManager->getRecoveryKeyId();
141
+        $masterKeyId = $this->keyManager->getMasterKeyId();
142
+        if ($user === $recoveryKeyId) {
143
+            $recoveryKey = $this->keyManager->getSystemPrivateKey($recoveryKeyId);
144
+            $privateKey = $this->crypt->decryptPrivateKey($recoveryKey, $password);
145
+        } elseif ($user === $masterKeyId) {
146
+            $masterKey = $this->keyManager->getSystemPrivateKey($masterKeyId);
147
+            $privateKey = $this->crypt->decryptPrivateKey($masterKey, $password, $masterKeyId);
148
+        } else {
149
+            $userKey = $this->keyManager->getPrivateKey($user);
150
+            $privateKey = $this->crypt->decryptPrivateKey($userKey, $password, $user);
151
+        }
152
+
153
+        return $privateKey;
154
+    }
155
+
156
+    protected function updateSession($user, $privateKey) {
157
+        $this->session->prepareDecryptAll($user, $privateKey);
158
+    }
159 159
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -99,7 +99,7 @@
 block discarded – undo
99 99
 				if ($useLoginPassword) {
100 100
 					$question = new Question('Please enter the user\'s login password: ');
101 101
 				} elseif ($this->util->isRecoveryEnabledForUser($user) === false) {
102
-					$output->writeln('No recovery key available for user ' . $user);
102
+					$output->writeln('No recovery key available for user '.$user);
103 103
 					return false;
104 104
 				} else {
105 105
 					$user = $recoveryKeyId;
Please login to merge, or discard this patch.
apps/encryption/lib/Exceptions/PrivateKeyMissingException.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -28,13 +28,13 @@
 block discarded – undo
28 28
 
29 29
 class PrivateKeyMissingException extends GenericEncryptionException {
30 30
 
31
-	/**
32
-	 * @param string $userId
33
-	 */
34
-	public function __construct($userId) {
35
-		if (empty($userId)) {
36
-			$userId = "<no-user-id-given>";
37
-		}
38
-		parent::__construct("Private Key missing for user: $userId");
39
-	}
31
+    /**
32
+     * @param string $userId
33
+     */
34
+    public function __construct($userId) {
35
+        if (empty($userId)) {
36
+            $userId = "<no-user-id-given>";
37
+        }
38
+        parent::__construct("Private Key missing for user: $userId");
39
+    }
40 40
 }
Please login to merge, or discard this patch.
apps/encryption/lib/Exceptions/PublicKeyMissingException.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -25,13 +25,13 @@
 block discarded – undo
25 25
 
26 26
 class PublicKeyMissingException extends GenericEncryptionException {
27 27
 
28
-	/**
29
-	 * @param string $userId
30
-	 */
31
-	public function __construct($userId) {
32
-		if (empty($userId)) {
33
-			$userId = "<no-user-id-given>";
34
-		}
35
-		parent::__construct("Public Key missing for user: $userId");
36
-	}
28
+    /**
29
+     * @param string $userId
30
+     */
31
+    public function __construct($userId) {
32
+        if (empty($userId)) {
33
+            $userId = "<no-user-id-given>";
34
+        }
35
+        parent::__construct("Public Key missing for user: $userId");
36
+    }
37 37
 }
Please login to merge, or discard this patch.
apps/encryption/lib/Settings/Personal.php 1 patch
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -32,63 +32,63 @@
 block discarded – undo
32 32
 
33 33
 class Personal implements ISettings {
34 34
 
35
-	/** @var IConfig */
36
-	private $config;
37
-	/** @var Session */
38
-	private $session;
39
-	/** @var Util */
40
-	private $util;
41
-	/** @var IUserSession */
42
-	private $userSession;
35
+    /** @var IConfig */
36
+    private $config;
37
+    /** @var Session */
38
+    private $session;
39
+    /** @var Util */
40
+    private $util;
41
+    /** @var IUserSession */
42
+    private $userSession;
43 43
 
44
-	public function __construct(IConfig $config, Session $session, Util $util, IUserSession $userSession) {
45
-		$this->config = $config;
46
-		$this->session = $session;
47
-		$this->util = $util;
48
-		$this->userSession = $userSession;
49
-	}
44
+    public function __construct(IConfig $config, Session $session, Util $util, IUserSession $userSession) {
45
+        $this->config = $config;
46
+        $this->session = $session;
47
+        $this->util = $util;
48
+        $this->userSession = $userSession;
49
+    }
50 50
 
51
-	/**
52
-	 * @return TemplateResponse returns the instance with all parameters set, ready to be rendered
53
-	 * @since 9.1
54
-	 */
55
-	public function getForm() {
56
-		$recoveryAdminEnabled = $this->config->getAppValue('encryption', 'recoveryAdminEnabled');
57
-		$privateKeySet = $this->session->isPrivateKeySet();
51
+    /**
52
+     * @return TemplateResponse returns the instance with all parameters set, ready to be rendered
53
+     * @since 9.1
54
+     */
55
+    public function getForm() {
56
+        $recoveryAdminEnabled = $this->config->getAppValue('encryption', 'recoveryAdminEnabled');
57
+        $privateKeySet = $this->session->isPrivateKeySet();
58 58
 
59
-		if (!$recoveryAdminEnabled && $privateKeySet) {
60
-			return new TemplateResponse('settings', 'settings/empty', [], '');
61
-		}
59
+        if (!$recoveryAdminEnabled && $privateKeySet) {
60
+            return new TemplateResponse('settings', 'settings/empty', [], '');
61
+        }
62 62
 
63
-		$userId = $this->userSession->getUser()->getUID();
64
-		$recoveryEnabledForUser = $this->util->isRecoveryEnabledForUser($userId);
63
+        $userId = $this->userSession->getUser()->getUID();
64
+        $recoveryEnabledForUser = $this->util->isRecoveryEnabledForUser($userId);
65 65
 
66
-		$parameters = [
67
-			'recoveryEnabled' => $recoveryAdminEnabled,
68
-			'recoveryEnabledForUser' => $recoveryEnabledForUser,
69
-			'privateKeySet' => $privateKeySet,
70
-			'initialized' => $this->session->getStatus(),
71
-		];
72
-		return new TemplateResponse('encryption', 'settings-personal', $parameters, '');
73
-	}
66
+        $parameters = [
67
+            'recoveryEnabled' => $recoveryAdminEnabled,
68
+            'recoveryEnabledForUser' => $recoveryEnabledForUser,
69
+            'privateKeySet' => $privateKeySet,
70
+            'initialized' => $this->session->getStatus(),
71
+        ];
72
+        return new TemplateResponse('encryption', 'settings-personal', $parameters, '');
73
+    }
74 74
 
75
-	/**
76
-	 * @return string the section ID, e.g. 'sharing'
77
-	 * @since 9.1
78
-	 */
79
-	public function getSection() {
80
-		return 'security';
81
-	}
75
+    /**
76
+     * @return string the section ID, e.g. 'sharing'
77
+     * @since 9.1
78
+     */
79
+    public function getSection() {
80
+        return 'security';
81
+    }
82 82
 
83
-	/**
84
-	 * @return int whether the form should be rather on the top or bottom of
85
-	 * the admin section. The forms are arranged in ascending order of the
86
-	 * priority values. It is required to return a value between 0 and 100.
87
-	 *
88
-	 * E.g.: 70
89
-	 * @since 9.1
90
-	 */
91
-	public function getPriority() {
92
-		return 80;
93
-	}
83
+    /**
84
+     * @return int whether the form should be rather on the top or bottom of
85
+     * the admin section. The forms are arranged in ascending order of the
86
+     * priority values. It is required to return a value between 0 and 100.
87
+     *
88
+     * E.g.: 70
89
+     * @since 9.1
90
+     */
91
+    public function getPriority() {
92
+        return 80;
93
+    }
94 94
 }
Please login to merge, or discard this patch.