Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/lookup-server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2017-04-21 18:42:28 +0300
committerBjoern Schiessle <bjoern@schiessle.org>2017-04-21 18:42:28 +0300
commit631e594d98f036d3e64048ebe61a0b09735841af (patch)
treed553532f89ecd5ff95cee7d313b56d42eda4d628
parentcd051fc1062f5e3feee3230fa1069f9a64af2028 (diff)
allow to search exact cloud ids, needed to let the client check whether the users email address was verified successfully
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
-rw-r--r--server/lib/UserManager.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/server/lib/UserManager.php b/server/lib/UserManager.php
index 8c995d5..abd20f8 100644
--- a/server/lib/UserManager.php
+++ b/server/lib/UserManager.php
@@ -28,6 +28,14 @@ class UserManager {
return $response; }
$search = $params['search'];
+ $searchCloudId = $params['exactCloudId'];
+
+ if ($searchCloudId === '1') {
+ $user = $this->getExactCloudId($search);
+ $response->getBody()->write(json_encode($user));
+ return $response;
+ }
+
$stmt = $this->db->prepare('SELECT *
FROM (
SELECT userId AS userId, SUM(valid) AS karma
@@ -60,6 +68,20 @@ LIMIT 50');
return $response;
}
+ private function getExactCloudId($cloudId) {
+ $stmt = $this->db->prepare('SELECT id FROM users WHERE federationId = :id');
+ $stmt->bindParam(':id', $cloudId);
+ $stmt->execute();
+ $data = $stmt->fetch();
+
+ if (!$data) {
+ return [];
+ }
+
+ return $this->getForUserId((int)$data['id']);
+
+ }
+
private function getForUserId($userId) {
$stmt = $this->db->prepare('SELECT * FROM users WHERE id = :id');
$stmt->bindParam(':id', $userId, \PDO::PARAM_INT);