Completed
Push — development ( e032ce...d15e37 )
by Claudio
02:39
created
app/Http/Controllers/AccountController.php 2 patches
Switch Indentation   +162 added lines, -162 removed lines patch added patch discarded remove patch
@@ -1,89 +1,89 @@  discard block
 block discarded – undo
1
-<?php
2
-
3
-namespace App\Http\Controllers;
4
-
5
-use App\Facades\Mail;
6
-use App\Facades\Nux;
7
-use App\Facades\User as UserFacade;
8
-use App\Models\ChocolateyId;
9
-use App\Models\User;
10
-use App\Models\UserPreferences;
11
-use App\Models\UserSettings;
12
-use Illuminate\Http\JsonResponse;
13
-use Illuminate\Http\Request;
14
-use Illuminate\Http\Response;
15
-use Illuminate\Support\Facades\Config;
16
-use Laravel\Lumen\Routing\Controller as BaseController;
17
-use Nubs\RandomNameGenerator\Alliteration;
1
+ <?php
2
+
3
+ namespace App\Http\Controllers;
4
+
5
+ use App\Facades\Mail;
6
+ use App\Facades\Nux;
7
+ use App\Facades\User as UserFacade;
8
+ use App\Models\ChocolateyId;
9
+ use App\Models\User;
10
+ use App\Models\UserPreferences;
11
+ use App\Models\UserSettings;
12
+ use Illuminate\Http\JsonResponse;
13
+ use Illuminate\Http\Request;
14
+ use Illuminate\Http\Response;
15
+ use Illuminate\Support\Facades\Config;
16
+ use Laravel\Lumen\Routing\Controller as BaseController;
17
+ use Nubs\RandomNameGenerator\Alliteration;
18 18
 
19 19
 /**
20 20
  * Class AccountController.
21 21
  */
22
-class AccountController extends BaseController
23
-{
24
-    /**
22
+ class AccountController extends BaseController
23
+ {
24
+     /**
25 25
      * Check an User Name.
26 26
      *
27 27
      * @param Request $request
28 28
      *
29 29
      * @return JsonResponse
30 30
      */
31
-    public function checkName(Request $request): JsonResponse
32
-    {
33
-        if (User::where('username', $request->json()->get('name'))->count() > 0 && $request->json()->get('name') != $request->user()->name) {
34
-            return response()->json(['code' => 'NAME_IN_USE', 'validationResult' => null, 'suggestions' => []]);
35
-        }
31
+     public function checkName(Request $request): JsonResponse
32
+     {
33
+         if (User::where('username', $request->json()->get('name'))->count() > 0 && $request->json()->get('name') != $request->user()->name) {
34
+             return response()->json(['code' => 'NAME_IN_USE', 'validationResult' => null, 'suggestions' => []]);
35
+         }
36 36
 
37
-        if (strlen($request->json()->get('name')) > 50 || !$this->filterName($request->json()->get('name'))) {
38
-            return response()->json(['code' => 'INVALID_NAME', 'validationResult' => ['resultType' => 'VALIDATION_ERROR_ILLEGAL_WORDS'], 'suggestions' => []]);
39
-        }
37
+         if (strlen($request->json()->get('name')) > 50 || !$this->filterName($request->json()->get('name'))) {
38
+             return response()->json(['code' => 'INVALID_NAME', 'validationResult' => ['resultType' => 'VALIDATION_ERROR_ILLEGAL_WORDS'], 'suggestions' => []]);
39
+         }
40 40
 
41
-        return response()->json(['code' => 'OK', 'validationResult' => null, 'suggestions' => []]);
42
-    }
41
+         return response()->json(['code' => 'OK', 'validationResult' => null, 'suggestions' => []]);
42
+     }
43 43
 
44
-    /**
44
+     /**
45 45
      * Filter an Username from the Invalid Names Base.
46 46
      *
47 47
      * @param string $userName
48 48
      *
49 49
      * @return bool
50 50
      */
51
-    protected function filterName(string $userName): bool
52
-    {
53
-        return count(array_filter(Config::get('chocolatey.invalid'), function ($username) use ($userName) {
54
-            return stripos($userName, $username) !== false;
55
-        })) == 0;
56
-    }
57
-
58
-    /**
51
+     protected function filterName(string $userName): bool
52
+     {
53
+         return count(array_filter(Config::get('chocolatey.invalid'), function ($username) use ($userName) {
54
+             return stripos($userName, $username) !== false;
55
+         })) == 0;
56
+     }
57
+
58
+     /**
59 59
      * Select an User Name.
60 60
      *
61 61
      * @param Request $request
62 62
      *
63 63
      * @return JsonResponse
64 64
      */
65
-    public function selectName(Request $request): JsonResponse
66
-    {
67
-        UserFacade::updateUser(['username' => $request->json()->get('name')]);
65
+     public function selectName(Request $request): JsonResponse
66
+     {
67
+         UserFacade::updateUser(['username' => $request->json()->get('name')]);
68 68
 
69
-        return response()->json(['code' => 'OK', 'validationResult' => null, 'suggestions' => []]);
70
-    }
69
+         return response()->json(['code' => 'OK', 'validationResult' => null, 'suggestions' => []]);
70
+     }
71 71
 
72
-    /**
72
+     /**
73 73
      * Save User Look.
74 74
      *
75 75
      * @param Request $request
76 76
      *
77 77
      * @return JsonResponse
78 78
      */
79
-    public function saveLook(Request $request): JsonResponse
80
-    {
81
-        UserFacade::updateUser(['look' => $request->json()->get('figure'), 'gender' => $request->json()->get('gender')]);
79
+     public function saveLook(Request $request): JsonResponse
80
+     {
81
+         UserFacade::updateUser(['look' => $request->json()->get('figure'), 'gender' => $request->json()->get('gender')]);
82 82
 
83
-        return response()->json($request->user());
84
-    }
83
+         return response()->json($request->user());
84
+     }
85 85
 
86
-    /**
86
+     /**
87 87
      * Select a Room.
88 88
      *
89 89
      * @TODO: Generate the Room for the User
@@ -93,18 +93,18 @@  discard block
 block discarded – undo
93 93
      *
94 94
      * @return Response
95 95
      */
96
-    public function selectRoom(Request $request): Response
97
-    {
98
-        if (!in_array($request->json()->get('roomIndex'), [1, 2, 3])) {
99
-            return response('', 400);
100
-        }
96
+     public function selectRoom(Request $request): Response
97
+     {
98
+         if (!in_array($request->json()->get('roomIndex'), [1, 2, 3])) {
99
+             return response('', 400);
100
+         }
101 101
 
102
-        UserFacade::updateUser(Nux::generateRoom($request) ? ['traits' => ['USER']] : ['traits' => ['NEW_USER', 'USER']]);
102
+         UserFacade::updateUser(Nux::generateRoom($request) ? ['traits' => ['USER']] : ['traits' => ['NEW_USER', 'USER']]);
103 103
 
104
-        return response(null, 200);
105
-    }
104
+         return response(null, 200);
105
+     }
106 106
 
107
-    /**
107
+     /**
108 108
      * Get User Non Read Messenger Discussions.
109 109
      *
110 110
      * @TODO: Code Integration with HabboMessenger
@@ -112,63 +112,63 @@  discard block
 block discarded – undo
112 112
      *
113 113
      * @return JsonResponse
114 114
      */
115
-    public function getDiscussions(): JsonResponse
116
-    {
117
-        return response()->json([]);
118
-    }
115
+     public function getDiscussions(): JsonResponse
116
+     {
117
+         return response()->json([]);
118
+     }
119 119
 
120
-    /**
120
+     /**
121 121
      * Get User Preferences.
122 122
      *
123 123
      * @param Request $request
124 124
      *
125 125
      * @return JsonResponse
126 126
      */
127
-    public function getPreferences(Request $request): JsonResponse
128
-    {
129
-        $userPreferences = UserPreferences::find($request->user()->uniqueId);
127
+     public function getPreferences(Request $request): JsonResponse
128
+     {
129
+         $userPreferences = UserPreferences::find($request->user()->uniqueId);
130 130
 
131
-        foreach ($userPreferences->getAttributes() as $attributeName => $attributeValue) {
132
-            $userPreferences->{$attributeName} = $attributeValue == 1;
133
-        }
131
+         foreach ($userPreferences->getAttributes() as $attributeName => $attributeValue) {
132
+             $userPreferences->{$attributeName} = $attributeValue == 1;
133
+         }
134 134
 
135
-        return response()->json($userPreferences);
136
-    }
135
+         return response()->json($userPreferences);
136
+     }
137 137
 
138
-    /**
138
+     /**
139 139
      * Save New User Preferences.
140 140
      *
141 141
      * @param Request $request
142 142
      *
143 143
      * @return Response
144 144
      */
145
-    public function savePreferences(Request $request): Response
146
-    {
147
-        UserSettings::updateOrCreate(['user_id' => $request->user()->uniqueId], [
148
-            'block_following'      => $request->json()->get('friendCanFollow') == false ? '1' : '0',
149
-            'block_friendrequests' => $request->json()->get('friendRequestEnabled') == false ? '1' : '0',
150
-        ]);
145
+     public function savePreferences(Request $request): Response
146
+     {
147
+         UserSettings::updateOrCreate(['user_id' => $request->user()->uniqueId], [
148
+             'block_following'      => $request->json()->get('friendCanFollow') == false ? '1' : '0',
149
+             'block_friendrequests' => $request->json()->get('friendRequestEnabled') == false ? '1' : '0',
150
+         ]);
151 151
 
152
-        foreach ((array) $request->json()->all() as $setting => $value) {
153
-            UserPreferences::find($request->user()->uniqueId)->update([$setting => $value == true ? '1' : '0']);
154
-        }
152
+         foreach ((array) $request->json()->all() as $setting => $value) {
153
+             UserPreferences::find($request->user()->uniqueId)->update([$setting => $value == true ? '1' : '0']);
154
+         }
155 155
 
156
-        return response(null);
157
-    }
156
+         return response(null);
157
+     }
158 158
 
159
-    /**
159
+     /**
160 160
      * Get All E-Mail Accounts.
161 161
      *
162 162
      * @param Request $request
163 163
      *
164 164
      * @return JsonResponse
165 165
      */
166
-    public function getAvatars(Request $request): JsonResponse
167
-    {
168
-        return response()->json(ChocolateyId::where('mail', $request->user()->email)->first()->relatedAccounts);
169
-    }
166
+     public function getAvatars(Request $request): JsonResponse
167
+     {
168
+         return response()->json(ChocolateyId::where('mail', $request->user()->email)->first()->relatedAccounts);
169
+     }
170 170
 
171
-    /**
171
+     /**
172 172
      * Check if an Username is available
173 173
      * for a new Avatar Account.
174 174
      *
@@ -176,31 +176,31 @@  discard block
 block discarded – undo
176 176
      *
177 177
      * @return JsonResponse
178 178
      */
179
-    public function checkNewName(Request $request): JsonResponse
180
-    {
181
-        return response()->json(['isAvailable' => User::where('username', $request->input('name'))->count() > 0 || !$this->filterName($request->input('name')) == false]);
182
-    }
179
+     public function checkNewName(Request $request): JsonResponse
180
+     {
181
+         return response()->json(['isAvailable' => User::where('username', $request->input('name'))->count() > 0 || !$this->filterName($request->input('name')) == false]);
182
+     }
183 183
 
184
-    /**
184
+     /**
185 185
      * Create a New User Avatar.
186 186
      *
187 187
      * @param Request $request
188 188
      *
189 189
      * @return JsonResponse
190 190
      */
191
-    public function createAvatar(Request $request): JsonResponse
192
-    {
193
-        if (User::where('username', $request->json()->get('name'))->count() > 0 || !$this->filterName($request->json()->get('name'))) {
194
-            return response()->json(['isAvailable' => false]);
195
-        }
191
+     public function createAvatar(Request $request): JsonResponse
192
+     {
193
+         if (User::where('username', $request->json()->get('name'))->count() > 0 || !$this->filterName($request->json()->get('name'))) {
194
+             return response()->json(['isAvailable' => false]);
195
+         }
196 196
 
197
-        $this->createUser($request, UserFacade::updateData($request->user(),
198
-            ['name' => $request->json()->get('name')])->getAttributes());
197
+         $this->createUser($request, UserFacade::updateData($request->user(),
198
+             ['name' => $request->json()->get('name')])->getAttributes());
199 199
 
200
-        return response()->json('');
201
-    }
200
+         return response()->json('');
201
+     }
202 202
 
203
-    /**
203
+     /**
204 204
      * Create a New User.
205 205
      *
206 206
      * @param Request $request
@@ -209,21 +209,21 @@  discard block
 block discarded – undo
209 209
      *
210 210
      * @return User
211 211
      */
212
-    public function createUser(Request $request, array $userInfo, bool $newUser = false): User
213
-    {
214
-        $userName = $newUser ? $this->uniqueName($userInfo['email']) : $userInfo['username'];
215
-        $userMail = $newUser ? $userInfo['email'] : $userInfo['mail'];
212
+     public function createUser(Request $request, array $userInfo, bool $newUser = false): User
213
+     {
214
+         $userName = $newUser ? $this->uniqueName($userInfo['email']) : $userInfo['username'];
215
+         $userMail = $newUser ? $userInfo['email'] : $userInfo['mail'];
216 216
 
217
-        $token = Mail::store($userMail, 'public/registration/activate');
217
+         $token = Mail::store($userMail, 'public/registration/activate');
218 218
 
219
-        Mail::send(['email' => $userMail, 'name' => $userName,
220
-            'url'           => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
221
-        ]);
219
+         Mail::send(['email' => $userMail, 'name' => $userName,
220
+             'url'           => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
221
+         ]);
222 222
 
223
-        return UserFacade::setSession((new User())->store($userName, $userInfo['password'], $userMail, $request->ip()));
224
-    }
223
+         return UserFacade::setSession((new User())->store($userName, $userInfo['password'], $userMail, $request->ip()));
224
+     }
225 225
 
226
-    /**
226
+     /**
227 227
      * Create Random Unique Username.
228 228
      *
229 229
      * @WARNING: Doesn't create Like Habbo Way
@@ -232,86 +232,86 @@  discard block
 block discarded – undo
232 232
      *
233 233
      * @return string
234 234
      */
235
-    protected function uniqueName(string $userMail): string
236
-    {
237
-        $partialName = explode(' ', (new Alliteration())->getName());
235
+     protected function uniqueName(string $userMail): string
236
+     {
237
+         $partialName = explode(' ', (new Alliteration())->getName());
238 238
 
239
-        return strtolower($partialName[0].strstr($userMail, '@', true).$partialName[1]);
240
-    }
239
+         return strtolower($partialName[0].strstr($userMail, '@', true).$partialName[1]);
240
+     }
241 241
 
242
-    /**
242
+     /**
243 243
      * Change Logged In User.
244 244
      *
245 245
      * @param Request $request
246 246
      */
247
-    public function selectAvatar(Request $request)
248
-    {
249
-        UserFacade::setSession(User::find($request->json()->get('uniqueId')));
250
-    }
247
+     public function selectAvatar(Request $request)
248
+     {
249
+         UserFacade::setSession(User::find($request->json()->get('uniqueId')));
250
+     }
251 251
 
252
-    /**
252
+     /**
253 253
      * Confirm E-Mail Activation.
254 254
      *
255 255
      * @param Request $request
256 256
      *
257 257
      * @return JsonResponse
258 258
      */
259
-    public function confirmActivation(Request $request): JsonResponse
260
-    {
261
-        if (Mail::getByToken($request->json()->get('token')) == null) {
262
-            return response()->json(['error' => 'activation.invalid_token'], 400);
263
-        }
259
+     public function confirmActivation(Request $request): JsonResponse
260
+     {
261
+         if (Mail::getByToken($request->json()->get('token')) == null) {
262
+             return response()->json(['error' => 'activation.invalid_token'], 400);
263
+         }
264 264
 
265
-        if (strpos(Mail::getMail()->link, 'change-email') !== false):
266
-            $email = str_replace('change-email/', '', Mail::getMail()->link);
265
+         if (strpos(Mail::getMail()->link, 'change-email') !== false):
266
+             $email = str_replace('change-email/', '', Mail::getMail()->link);
267 267
 
268
-        User::where('mail', Mail::getMail()->mail)->update(['mail' => $email]);
268
+         User::where('mail', Mail::getMail()->mail)->update(['mail' => $email]);
269 269
 
270
-        ChocolateyId::where('mail', Mail::getMail()->mail)->update(['mail' => $email]);
271
-        endif;
270
+         ChocolateyId::where('mail', Mail::getMail()->mail)->update(['mail' => $email]);
271
+         endif;
272 272
 
273
-        User::where('mail', Mail::getMail()->mail)->update(['mail_verified' => '1']);
273
+         User::where('mail', Mail::getMail()->mail)->update(['mail_verified' => '1']);
274 274
 
275
-        return response()->json(['email' => Mail::getMail()->mail, 'emailVerified' => true, 'identityVerified' => true]);
276
-    }
275
+         return response()->json(['email' => Mail::getMail()->mail, 'emailVerified' => true, 'identityVerified' => true]);
276
+     }
277 277
 
278
-    /**
278
+     /**
279 279
      * Send User Forgot E-Mail.
280 280
      *
281 281
      * @param Request $request
282 282
      *
283 283
      * @return JsonResponse
284 284
      */
285
-    public function forgotPassword(Request $request): JsonResponse
286
-    {
287
-        if (($user = User::where('mail', $request->json()->get('email'))->first()) == null) {
288
-            return response()->json(['email' => $request->json()->get('email')]);
289
-        }
285
+     public function forgotPassword(Request $request): JsonResponse
286
+     {
287
+         if (($user = User::where('mail', $request->json()->get('email'))->first()) == null) {
288
+             return response()->json(['email' => $request->json()->get('email')]);
289
+         }
290 290
 
291
-        $token = Mail::store($user->email, 'public/forgotPassword');
291
+         $token = Mail::store($user->email, 'public/forgotPassword');
292 292
 
293
-        Mail::send(['name' => $user->name, 'email' => $user->email, 'subject' => 'Password reset confirmation',
294
-            'url'          => "/reset-password/{$token}",
295
-        ], 'habbo-web-mail.password-reset');
293
+         Mail::send(['name' => $user->name, 'email' => $user->email, 'subject' => 'Password reset confirmation',
294
+             'url'          => "/reset-password/{$token}",
295
+         ], 'habbo-web-mail.password-reset');
296 296
 
297
-        return response()->json(['email' => $user->email]);
298
-    }
297
+         return response()->json(['email' => $user->email]);
298
+     }
299 299
 
300
-    /**
300
+     /**
301 301
      * Send an Account Confirmation E-Mail.
302 302
      *
303 303
      * @param Request $request
304 304
      *
305 305
      * @return Response
306 306
      */
307
-    public function verifyAccount(Request $request): Response
308
-    {
309
-        $token = Mail::store($request->user()->email, 'public/registration/activate');
307
+     public function verifyAccount(Request $request): Response
308
+     {
309
+         $token = Mail::store($request->user()->email, 'public/registration/activate');
310 310
 
311
-        Mail::send(['name' => $request->user()->name, 'email' => $request->user()->email,
312
-            'url'          => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
313
-        ]);
311
+         Mail::send(['name' => $request->user()->name, 'email' => $request->user()->email,
312
+             'url'          => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
313
+         ]);
314 314
 
315
-        return response(null);
316
-    }
315
+         return response(null);
316
+     }
317 317
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
      */
51 51
     protected function filterName(string $userName): bool
52 52
     {
53
-        return count(array_filter(Config::get('chocolatey.invalid'), function ($username) use ($userName) {
53
+        return count(array_filter(Config::get('chocolatey.invalid'), function($username) use ($userName) {
54 54
             return stripos($userName, $username) !== false;
55 55
         })) == 0;
56 56
     }
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
             'block_friendrequests' => $request->json()->get('friendRequestEnabled') == false ? '1' : '0',
150 150
         ]);
151 151
 
152
-        foreach ((array) $request->json()->all() as $setting => $value) {
152
+        foreach ((array)$request->json()->all() as $setting => $value) {
153 153
             UserPreferences::find($request->user()->uniqueId)->update([$setting => $value == true ? '1' : '0']);
154 154
         }
155 155
 
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
         $token = Mail::store($userMail, 'public/registration/activate');
218 218
 
219 219
         Mail::send(['email' => $userMail, 'name' => $userName,
220
-            'url'           => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
220
+            'url'           => "/activate/{$token}", 'subject' => 'Welcome to ' . Config::get('chocolatey.hotelName'),
221 221
         ]);
222 222
 
223 223
         return UserFacade::setSession((new User())->store($userName, $userInfo['password'], $userMail, $request->ip()));
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
     {
237 237
         $partialName = explode(' ', (new Alliteration())->getName());
238 238
 
239
-        return strtolower($partialName[0].strstr($userMail, '@', true).$partialName[1]);
239
+        return strtolower($partialName[0] . strstr($userMail, '@', true) . $partialName[1]);
240 240
     }
241 241
 
242 242
     /**
@@ -309,7 +309,7 @@  discard block
 block discarded – undo
309 309
         $token = Mail::store($request->user()->email, 'public/registration/activate');
310 310
 
311 311
         Mail::send(['name' => $request->user()->name, 'email' => $request->user()->email,
312
-            'url'          => "/activate/{$token}", 'subject' => 'Welcome to '.Config::get('chocolatey.hotelName'),
312
+            'url'          => "/activate/{$token}", 'subject' => 'Welcome to ' . Config::get('chocolatey.hotelName'),
313 313
         ]);
314 314
 
315 315
         return response(null);
Please login to merge, or discard this patch.