Passed
Push — master ( 3a0465...d1e4d6 )
by Joas
11:14 queued 10s
created
apps/lookup_server_connector/lib/UpdateLookupServer.php 1 patch
Indentation   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -36,136 +36,136 @@
 block discarded – undo
36 36
  * @package OCA\LookupServerConnector
37 37
  */
38 38
 class UpdateLookupServer {
39
-	/** @var AccountManager */
40
-	private $accountManager;
41
-	/** @var IClientService */
42
-	private $clientService;
43
-	/** @var Signer */
44
-	private $signer;
45
-	/** @var IJobList */
46
-	private $jobList;
47
-	/** @var string URL point to lookup server */
48
-	private $lookupServer;
49
-	/** @var bool  */
50
-	private $lookupServerEnabled;
51
-
52
-	/**
53
-	 * @param AccountManager $accountManager
54
-	 * @param IClientService $clientService
55
-	 * @param Signer $signer
56
-	 * @param IJobList $jobList
57
-	 * @param IConfig $config
58
-	 */
59
-	public function __construct(AccountManager $accountManager,
60
-								IClientService $clientService,
61
-								Signer $signer,
62
-								IJobList $jobList,
63
-								IConfig $config) {
64
-		$this->accountManager = $accountManager;
65
-		$this->clientService = $clientService;
66
-		$this->signer = $signer;
67
-		$this->jobList = $jobList;
68
-
69
-		if($config->getSystemValue('has_internet_connection', true) === false) {
70
-			return;
71
-		}
72
-
73
-		$this->lookupServerEnabled = $config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') === 'yes';
74
-
75
-		$this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
76
-		if(!empty($this->lookupServer)) {
77
-			$this->lookupServer = rtrim($this->lookupServer, '/');
78
-			$this->lookupServer .= '/users';
79
-		}
80
-	}
81
-
82
-	/**
83
-	 * @param IUser $user
84
-	 */
85
-	public function userUpdated(IUser $user) {
86
-
87
-		if (!$this->shouldUpdateLookupServer()) {
88
-			return;
89
-		}
90
-
91
-		$userData = $this->accountManager->getUser($user);
92
-		$publicData = [];
93
-
94
-		foreach ($userData as $key => $data) {
95
-			if ($data['scope'] === AccountManager::VISIBILITY_PUBLIC) {
96
-				$publicData[$key] = $data;
97
-			}
98
-		}
99
-
100
-		$this->sendToLookupServer($user, $publicData);
101
-	}
102
-
103
-	/**
104
-	 * send public user data to the lookup server
105
-	 *
106
-	 * @param IUser $user
107
-	 * @param array $publicData
108
-	 */
109
-	protected function sendToLookupServer(IUser $user, array $publicData) {
110
-
111
-		$dataArray = ['federationId' => $user->getCloudId()];
112
-
113
-		if (!empty($publicData)) {
114
-			$dataArray['name'] = isset($publicData[AccountManager::PROPERTY_DISPLAYNAME]) ? $publicData[AccountManager::PROPERTY_DISPLAYNAME]['value'] : '';
115
-			$dataArray['email'] = isset($publicData[AccountManager::PROPERTY_EMAIL]) ? $publicData[AccountManager::PROPERTY_EMAIL]['value'] : '';
116
-			$dataArray['address'] = isset($publicData[AccountManager::PROPERTY_ADDRESS]) ? $publicData[AccountManager::PROPERTY_ADDRESS]['value'] : '';
117
-			$dataArray['website'] = isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['value'] : '';
118
-			$dataArray['twitter'] = isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['value'] : '';
119
-			$dataArray['phone'] = isset($publicData[AccountManager::PROPERTY_PHONE]) ? $publicData[AccountManager::PROPERTY_PHONE]['value'] : '';
120
-			$dataArray['twitter_signature'] = isset($publicData[AccountManager::PROPERTY_TWITTER]['signature']) ? $publicData[AccountManager::PROPERTY_TWITTER]['signature'] : '';
121
-			$dataArray['website_signature'] = isset($publicData[AccountManager::PROPERTY_WEBSITE]['signature']) ? $publicData[AccountManager::PROPERTY_WEBSITE]['signature'] : '';
122
-			$dataArray['verificationStatus'] =
123
-				[
124
-					AccountManager::PROPERTY_WEBSITE => isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['verified'] : '',
125
-					AccountManager::PROPERTY_TWITTER => isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['verified'] : '',
126
-				];
127
-		}
128
-
129
-		$dataArray = $this->signer->sign('lookupserver', $dataArray, $user);
130
-		$httpClient = $this->clientService->newClient();
131
-		try {
132
-			if (empty($publicData)) {
133
-				$httpClient->delete($this->lookupServer,
134
-					[
135
-						'body' => json_encode($dataArray),
136
-						'timeout' => 10,
137
-						'connect_timeout' => 3,
138
-					]
139
-				);
140
-			} else {
141
-				$httpClient->post($this->lookupServer,
142
-					[
143
-						'body' => json_encode($dataArray),
144
-						'timeout' => 10,
145
-						'connect_timeout' => 3,
146
-					]
147
-				);
148
-			}
149
-		} catch (\Exception $e) {
150
-			$this->jobList->add(RetryJob::class,
151
-				[
152
-					'dataArray' => $dataArray,
153
-					'retryNo' => 0,
154
-				]
155
-			);
156
-		}
157
-	}
158
-
159
-	/**
160
-	 * check if we should update the lookup server, we only do it if
161
-	 *
162
-	 * * we have a valid URL
163
-	 * * the lookup server update was enabled by the admin
164
-	 *
165
-	 * @return bool
166
-	 */
167
-	private function shouldUpdateLookupServer() {
168
-		return $this->lookupServerEnabled && !empty($this->lookupServer);
169
-	}
39
+    /** @var AccountManager */
40
+    private $accountManager;
41
+    /** @var IClientService */
42
+    private $clientService;
43
+    /** @var Signer */
44
+    private $signer;
45
+    /** @var IJobList */
46
+    private $jobList;
47
+    /** @var string URL point to lookup server */
48
+    private $lookupServer;
49
+    /** @var bool  */
50
+    private $lookupServerEnabled;
51
+
52
+    /**
53
+     * @param AccountManager $accountManager
54
+     * @param IClientService $clientService
55
+     * @param Signer $signer
56
+     * @param IJobList $jobList
57
+     * @param IConfig $config
58
+     */
59
+    public function __construct(AccountManager $accountManager,
60
+                                IClientService $clientService,
61
+                                Signer $signer,
62
+                                IJobList $jobList,
63
+                                IConfig $config) {
64
+        $this->accountManager = $accountManager;
65
+        $this->clientService = $clientService;
66
+        $this->signer = $signer;
67
+        $this->jobList = $jobList;
68
+
69
+        if($config->getSystemValue('has_internet_connection', true) === false) {
70
+            return;
71
+        }
72
+
73
+        $this->lookupServerEnabled = $config->getAppValue('files_sharing', 'lookupServerUploadEnabled', 'yes') === 'yes';
74
+
75
+        $this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
76
+        if(!empty($this->lookupServer)) {
77
+            $this->lookupServer = rtrim($this->lookupServer, '/');
78
+            $this->lookupServer .= '/users';
79
+        }
80
+    }
81
+
82
+    /**
83
+     * @param IUser $user
84
+     */
85
+    public function userUpdated(IUser $user) {
86
+
87
+        if (!$this->shouldUpdateLookupServer()) {
88
+            return;
89
+        }
90
+
91
+        $userData = $this->accountManager->getUser($user);
92
+        $publicData = [];
93
+
94
+        foreach ($userData as $key => $data) {
95
+            if ($data['scope'] === AccountManager::VISIBILITY_PUBLIC) {
96
+                $publicData[$key] = $data;
97
+            }
98
+        }
99
+
100
+        $this->sendToLookupServer($user, $publicData);
101
+    }
102
+
103
+    /**
104
+     * send public user data to the lookup server
105
+     *
106
+     * @param IUser $user
107
+     * @param array $publicData
108
+     */
109
+    protected function sendToLookupServer(IUser $user, array $publicData) {
110
+
111
+        $dataArray = ['federationId' => $user->getCloudId()];
112
+
113
+        if (!empty($publicData)) {
114
+            $dataArray['name'] = isset($publicData[AccountManager::PROPERTY_DISPLAYNAME]) ? $publicData[AccountManager::PROPERTY_DISPLAYNAME]['value'] : '';
115
+            $dataArray['email'] = isset($publicData[AccountManager::PROPERTY_EMAIL]) ? $publicData[AccountManager::PROPERTY_EMAIL]['value'] : '';
116
+            $dataArray['address'] = isset($publicData[AccountManager::PROPERTY_ADDRESS]) ? $publicData[AccountManager::PROPERTY_ADDRESS]['value'] : '';
117
+            $dataArray['website'] = isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['value'] : '';
118
+            $dataArray['twitter'] = isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['value'] : '';
119
+            $dataArray['phone'] = isset($publicData[AccountManager::PROPERTY_PHONE]) ? $publicData[AccountManager::PROPERTY_PHONE]['value'] : '';
120
+            $dataArray['twitter_signature'] = isset($publicData[AccountManager::PROPERTY_TWITTER]['signature']) ? $publicData[AccountManager::PROPERTY_TWITTER]['signature'] : '';
121
+            $dataArray['website_signature'] = isset($publicData[AccountManager::PROPERTY_WEBSITE]['signature']) ? $publicData[AccountManager::PROPERTY_WEBSITE]['signature'] : '';
122
+            $dataArray['verificationStatus'] =
123
+                [
124
+                    AccountManager::PROPERTY_WEBSITE => isset($publicData[AccountManager::PROPERTY_WEBSITE]) ? $publicData[AccountManager::PROPERTY_WEBSITE]['verified'] : '',
125
+                    AccountManager::PROPERTY_TWITTER => isset($publicData[AccountManager::PROPERTY_TWITTER]) ? $publicData[AccountManager::PROPERTY_TWITTER]['verified'] : '',
126
+                ];
127
+        }
128
+
129
+        $dataArray = $this->signer->sign('lookupserver', $dataArray, $user);
130
+        $httpClient = $this->clientService->newClient();
131
+        try {
132
+            if (empty($publicData)) {
133
+                $httpClient->delete($this->lookupServer,
134
+                    [
135
+                        'body' => json_encode($dataArray),
136
+                        'timeout' => 10,
137
+                        'connect_timeout' => 3,
138
+                    ]
139
+                );
140
+            } else {
141
+                $httpClient->post($this->lookupServer,
142
+                    [
143
+                        'body' => json_encode($dataArray),
144
+                        'timeout' => 10,
145
+                        'connect_timeout' => 3,
146
+                    ]
147
+                );
148
+            }
149
+        } catch (\Exception $e) {
150
+            $this->jobList->add(RetryJob::class,
151
+                [
152
+                    'dataArray' => $dataArray,
153
+                    'retryNo' => 0,
154
+                ]
155
+            );
156
+        }
157
+    }
158
+
159
+    /**
160
+     * check if we should update the lookup server, we only do it if
161
+     *
162
+     * * we have a valid URL
163
+     * * the lookup server update was enabled by the admin
164
+     *
165
+     * @return bool
166
+     */
167
+    private function shouldUpdateLookupServer() {
168
+        return $this->lookupServerEnabled && !empty($this->lookupServer);
169
+    }
170 170
 
171 171
 }
Please login to merge, or discard this patch.