@@ -14,7 +14,7 @@ |
||
| 14 | 14 | public function register() |
| 15 | 15 | { |
| 16 | 16 | // Register Mailing Services |
| 17 | - $this->app->singleton('mailer', function ($app) { |
|
| 17 | + $this->app->singleton('mailer', function($app) { |
|
| 18 | 18 | return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer'); |
| 19 | 19 | }); |
| 20 | 20 | } |
@@ -1,24 +1,24 @@ |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Providers; |
|
| 3 | + namespace App\Providers; |
|
| 4 | 4 | |
| 5 | -use Illuminate\Support\ServiceProvider; |
|
| 5 | + use Illuminate\Support\ServiceProvider; |
|
| 6 | 6 | |
| 7 | 7 | /** |
| 8 | 8 | * Class AppServiceProvider. |
| 9 | 9 | */ |
| 10 | -class AppServiceProvider extends ServiceProvider |
|
| 11 | -{ |
|
| 12 | - /** |
|
| 10 | + class AppServiceProvider extends ServiceProvider |
|
| 11 | + { |
|
| 12 | + /** |
|
| 13 | 13 | * Register any application services. |
| 14 | 14 | * |
| 15 | 15 | * @return void |
| 16 | 16 | */ |
| 17 | - public function register() |
|
| 18 | - { |
|
| 19 | - // Register Mailing Services |
|
| 20 | - $this->app->singleton('mailer', function ($app) { |
|
| 21 | - return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer'); |
|
| 22 | - }); |
|
| 23 | - } |
|
| 17 | + public function register() |
|
| 18 | + { |
|
| 19 | + // Register Mailing Services |
|
| 20 | + $this->app->singleton('mailer', function ($app) { |
|
| 21 | + return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer'); |
|
| 22 | + }); |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -18,7 +18,7 @@ |
||
| 18 | 18 | */ |
| 19 | 19 | public function register() |
| 20 | 20 | { |
| 21 | - $this->app->bind('chocosession', function () { |
|
| 21 | + $this->app->bind('chocosession', function() { |
|
| 22 | 22 | return Session::getInstance(); |
| 23 | 23 | }); |
| 24 | 24 | |
@@ -1,26 +1,26 @@ |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Providers; |
|
| 3 | + namespace App\Providers; |
|
| 4 | 4 | |
| 5 | -use App\Helpers\Session; |
|
| 6 | -use Illuminate\Support\ServiceProvider; |
|
| 5 | + use App\Helpers\Session; |
|
| 6 | + use Illuminate\Support\ServiceProvider; |
|
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * Class SessionServiceProvider. |
| 10 | 10 | */ |
| 11 | -class SessionServiceProvider extends ServiceProvider |
|
| 12 | -{ |
|
| 13 | - /** |
|
| 11 | + class SessionServiceProvider extends ServiceProvider |
|
| 12 | + { |
|
| 13 | + /** |
|
| 14 | 14 | * Register the Session Service Provider. |
| 15 | 15 | * |
| 16 | 16 | * @return void |
| 17 | 17 | */ |
| 18 | - public function register() |
|
| 19 | - { |
|
| 20 | - $this->app->bind('chocosession', function () { |
|
| 21 | - return Session::getInstance(); |
|
| 22 | - }); |
|
| 18 | + public function register() |
|
| 19 | + { |
|
| 20 | + $this->app->bind('chocosession', function () { |
|
| 21 | + return Session::getInstance(); |
|
| 22 | + }); |
|
| 23 | 23 | |
| 24 | - Session::getInstance()->start(); |
|
| 25 | - } |
|
| 24 | + Session::getInstance()->start(); |
|
| 25 | + } |
|
| 26 | 26 | } |
@@ -18,7 +18,7 @@ |
||
| 18 | 18 | */ |
| 19 | 19 | public function register() |
| 20 | 20 | { |
| 21 | - $this->app->bind('choconux', function () { |
|
| 21 | + $this->app->bind('choconux', function() { |
|
| 22 | 22 | return Nux::getInstance(); |
| 23 | 23 | }); |
| 24 | 24 | } |
@@ -1,24 +1,24 @@ |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Providers; |
|
| 3 | + namespace App\Providers; |
|
| 4 | 4 | |
| 5 | -use App\Helpers\Nux; |
|
| 6 | -use Illuminate\Support\ServiceProvider; |
|
| 5 | + use App\Helpers\Nux; |
|
| 6 | + use Illuminate\Support\ServiceProvider; |
|
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * Class NuxServiceProvider. |
| 10 | 10 | */ |
| 11 | -class NuxServiceProvider extends ServiceProvider |
|
| 12 | -{ |
|
| 13 | - /** |
|
| 11 | + class NuxServiceProvider extends ServiceProvider |
|
| 12 | + { |
|
| 13 | + /** |
|
| 14 | 14 | * Register the Session Service Provider. |
| 15 | 15 | * |
| 16 | 16 | * @return void |
| 17 | 17 | */ |
| 18 | - public function register() |
|
| 19 | - { |
|
| 20 | - $this->app->bind('choconux', function () { |
|
| 21 | - return Nux::getInstance(); |
|
| 22 | - }); |
|
| 23 | - } |
|
| 18 | + public function register() |
|
| 19 | + { |
|
| 20 | + $this->app->bind('choconux', function () { |
|
| 21 | + return Nux::getInstance(); |
|
| 22 | + }); |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -21,7 +21,6 @@ |
||
| 21 | 21 | */ |
| 22 | 22 | public function handle($request, Closure $next) |
| 23 | 23 | { |
| 24 | - return Config::get('maintenance.enforce') ? response()->json(['error' => 'maintenance'], 503) : |
|
| 25 | - $next($request); |
|
| 24 | + return Config::get('maintenance.enforce') ? response()->json(['error' => 'maintenance'], 503) : $next($request); |
|
| 26 | 25 | } |
| 27 | 26 | } |
@@ -1,17 +1,17 @@ discard block |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Http\Middleware; |
|
| 3 | + namespace App\Http\Middleware; |
|
| 4 | 4 | |
| 5 | -use Closure; |
|
| 6 | -use Illuminate\Http\Request; |
|
| 7 | -use Illuminate\Support\Facades\Config; |
|
| 5 | + use Closure; |
|
| 6 | + use Illuminate\Http\Request; |
|
| 7 | + use Illuminate\Support\Facades\Config; |
|
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * Class Maintenance. |
| 11 | 11 | */ |
| 12 | -class Maintenance |
|
| 13 | -{ |
|
| 14 | - /** |
|
| 12 | + class Maintenance |
|
| 13 | + { |
|
| 14 | + /** |
|
| 15 | 15 | * Handle an incoming request. |
| 16 | 16 | * |
| 17 | 17 | * @param Request $request |
@@ -19,9 +19,9 @@ discard block |
||
| 19 | 19 | * |
| 20 | 20 | * @return mixed |
| 21 | 21 | */ |
| 22 | - public function handle($request, Closure $next) |
|
| 23 | - { |
|
| 24 | - return Config::get('maintenance.enforce') ? response()->json(['error' => 'maintenance'], 503) : |
|
| 25 | - $next($request); |
|
| 26 | - } |
|
| 22 | + public function handle($request, Closure $next) |
|
| 23 | + { |
|
| 24 | + return Config::get('maintenance.enforce') ? response()->json(['error' => 'maintenance'], 503) : |
|
| 25 | + $next($request); |
|
| 26 | + } |
|
| 27 | 27 | } |
@@ -167,7 +167,7 @@ |
||
| 167 | 167 | */ |
| 168 | 168 | public function getTagsAttribute(): array |
| 169 | 169 | { |
| 170 | - return array_filter(explode(';', $this->attributes['tags']), function ($element) { |
|
| 170 | + return array_filter(explode(';', $this->attributes['tags']), function($element) { |
|
| 171 | 171 | return !empty($element); |
| 172 | 172 | }); |
| 173 | 173 | } |
@@ -1,76 +1,76 @@ discard block |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Models; |
|
| 3 | + namespace App\Models; |
|
| 4 | 4 | |
| 5 | -use Illuminate\Database\Eloquent\Model; |
|
| 6 | -use Illuminate\Support\Facades\Config; |
|
| 7 | -use Sofa\Eloquence\Eloquence; |
|
| 8 | -use Sofa\Eloquence\Mappable; |
|
| 5 | + use Illuminate\Database\Eloquent\Model; |
|
| 6 | + use Illuminate\Support\Facades\Config; |
|
| 7 | + use Sofa\Eloquence\Eloquence; |
|
| 8 | + use Sofa\Eloquence\Mappable; |
|
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | 11 | * Class Room. |
| 12 | 12 | * |
| 13 | 13 | * @property int id |
| 14 | 14 | */ |
| 15 | -class Room extends Model |
|
| 16 | -{ |
|
| 17 | - use Eloquence, Mappable; |
|
| 15 | + class Room extends Model |
|
| 16 | + { |
|
| 17 | + use Eloquence, Mappable; |
|
| 18 | 18 | |
| 19 | - /** |
|
| 19 | + /** |
|
| 20 | 20 | * Disable Timestamps. |
| 21 | 21 | * |
| 22 | 22 | * @var bool |
| 23 | 23 | */ |
| 24 | - public $timestamps = false; |
|
| 24 | + public $timestamps = false; |
|
| 25 | 25 | |
| 26 | - /** |
|
| 26 | + /** |
|
| 27 | 27 | * Leader Board Rank. |
| 28 | 28 | * |
| 29 | 29 | * @var int |
| 30 | 30 | */ |
| 31 | - public $leaderboardRank = 1; |
|
| 31 | + public $leaderboardRank = 1; |
|
| 32 | 32 | |
| 33 | - /** |
|
| 33 | + /** |
|
| 34 | 34 | * The table associated with the model. |
| 35 | 35 | * |
| 36 | 36 | * @var string |
| 37 | 37 | */ |
| 38 | - protected $table = 'rooms'; |
|
| 38 | + protected $table = 'rooms'; |
|
| 39 | 39 | |
| 40 | - /** |
|
| 40 | + /** |
|
| 41 | 41 | * Primary Key of the Table. |
| 42 | 42 | * |
| 43 | 43 | * @var string |
| 44 | 44 | */ |
| 45 | - protected $primaryKey = 'id'; |
|
| 45 | + protected $primaryKey = 'id'; |
|
| 46 | 46 | |
| 47 | - /** |
|
| 47 | + /** |
|
| 48 | 48 | * The attributes that will be mapped. |
| 49 | 49 | * |
| 50 | 50 | * @var array |
| 51 | 51 | */ |
| 52 | - protected $maps = ['uniqueId' => 'id', 'ownerName' => 'owner_name', 'ownerUniqueId' => 'owner_id', 'doorMode' => 'state', |
|
| 53 | - 'leaderboardValue' => 'score', 'maximumVisitors' => 'users_max', 'habboGroupId' => 'guild_id', 'rating' => 'score', ]; |
|
| 52 | + protected $maps = ['uniqueId' => 'id', 'ownerName' => 'owner_name', 'ownerUniqueId' => 'owner_id', 'doorMode' => 'state', |
|
| 53 | + 'leaderboardValue' => 'score', 'maximumVisitors' => 'users_max', 'habboGroupId' => 'guild_id', 'rating' => 'score', ]; |
|
| 54 | 54 | |
| 55 | - /** |
|
| 55 | + /** |
|
| 56 | 56 | * The Appender(s) of the Model. |
| 57 | 57 | * |
| 58 | 58 | * @var array |
| 59 | 59 | */ |
| 60 | - protected $appends = ['uniqueId', 'leaderboardRank', 'thumbnailUrl', 'imageUrl', 'leaderboardValue', 'doorMode', 'maximumVisitors', |
|
| 61 | - 'publicRoom', 'ownerUniqueId', 'ownerName', 'showOwnerName', 'categories', 'rating', ]; |
|
| 60 | + protected $appends = ['uniqueId', 'leaderboardRank', 'thumbnailUrl', 'imageUrl', 'leaderboardValue', 'doorMode', 'maximumVisitors', |
|
| 61 | + 'publicRoom', 'ownerUniqueId', 'ownerName', 'showOwnerName', 'categories', 'rating', ]; |
|
| 62 | 62 | |
| 63 | - /** |
|
| 63 | + /** |
|
| 64 | 64 | * The attributes excluded from the model's JSON form. |
| 65 | 65 | * |
| 66 | 66 | * @var array |
| 67 | 67 | */ |
| 68 | - protected $hidden = ['owner_name', 'owner_id', 'is_public', 'state', 'password', 'model', 'users', 'users_max', 'guild_id', 'category', 'score', 'paper_floor', 'paper_wall', |
|
| 69 | - 'paper_landscape', 'thickness_wall', 'wall_height', 'thickness_floor', 'moodlight_data', 'is_staff_picked', 'allow_other_pets', 'allow_other_pets_eat', 'allow_walkthrough', |
|
| 70 | - 'allow_hidewall', 'chat_mode', 'chat_weight', 'chat_speed', 'chat_hearing_distance', 'chat_protection', 'override_model', 'who_can_mute', 'who_can_kick', 'who_can_ban', 'poll_id', |
|
| 71 | - 'roller_speed', 'promoted', 'trade_mode', 'move_diagonally', ]; |
|
| 68 | + protected $hidden = ['owner_name', 'owner_id', 'is_public', 'state', 'password', 'model', 'users', 'users_max', 'guild_id', 'category', 'score', 'paper_floor', 'paper_wall', |
|
| 69 | + 'paper_landscape', 'thickness_wall', 'wall_height', 'thickness_floor', 'moodlight_data', 'is_staff_picked', 'allow_other_pets', 'allow_other_pets_eat', 'allow_walkthrough', |
|
| 70 | + 'allow_hidewall', 'chat_mode', 'chat_weight', 'chat_speed', 'chat_hearing_distance', 'chat_protection', 'override_model', 'who_can_mute', 'who_can_kick', 'who_can_ban', 'poll_id', |
|
| 71 | + 'roller_speed', 'promoted', 'trade_mode', 'move_diagonally', ]; |
|
| 72 | 72 | |
| 73 | - /** |
|
| 73 | + /** |
|
| 74 | 74 | * Stores a new Room. |
| 75 | 75 | * |
| 76 | 76 | * @param string $roomName |
@@ -86,113 +86,113 @@ discard block |
||
| 86 | 86 | * |
| 87 | 87 | * @return Room |
| 88 | 88 | */ |
| 89 | - public function store(string $roomName, string $description, string $model, int $maxUsers, int $roomCategory, int $floorPaper, int $wallPaper, float $landscapePaper, int $ownerId, string $ownerName) |
|
| 90 | - { |
|
| 91 | - $this->attributes['name'] = $roomName; |
|
| 92 | - $this->attributes['description'] = $description; |
|
| 93 | - $this->attributes['model'] = $model; |
|
| 94 | - $this->attributes['users_max'] = $maxUsers; |
|
| 95 | - $this->attributes['category'] = $roomCategory; |
|
| 96 | - $this->attributes['paper_floor'] = $floorPaper; |
|
| 97 | - $this->attributes['paper_wall'] = $wallPaper; |
|
| 98 | - $this->attributes['paper_landscape'] = $landscapePaper; |
|
| 99 | - $this->attributes['thickness_wall'] = 0; |
|
| 100 | - $this->attributes['wall_height'] = -1; |
|
| 101 | - $this->attributes['thickness_floor'] = 0; |
|
| 102 | - $this->attributes['owner_id'] = $ownerId; |
|
| 103 | - $this->attributes['owner_name'] = $ownerName; |
|
| 104 | - $this->timestamps = false; |
|
| 105 | - |
|
| 106 | - $this->save(); |
|
| 107 | - |
|
| 108 | - return $this; |
|
| 109 | - } |
|
| 110 | - |
|
| 111 | - /** |
|
| 89 | + public function store(string $roomName, string $description, string $model, int $maxUsers, int $roomCategory, int $floorPaper, int $wallPaper, float $landscapePaper, int $ownerId, string $ownerName) |
|
| 90 | + { |
|
| 91 | + $this->attributes['name'] = $roomName; |
|
| 92 | + $this->attributes['description'] = $description; |
|
| 93 | + $this->attributes['model'] = $model; |
|
| 94 | + $this->attributes['users_max'] = $maxUsers; |
|
| 95 | + $this->attributes['category'] = $roomCategory; |
|
| 96 | + $this->attributes['paper_floor'] = $floorPaper; |
|
| 97 | + $this->attributes['paper_wall'] = $wallPaper; |
|
| 98 | + $this->attributes['paper_landscape'] = $landscapePaper; |
|
| 99 | + $this->attributes['thickness_wall'] = 0; |
|
| 100 | + $this->attributes['wall_height'] = -1; |
|
| 101 | + $this->attributes['thickness_floor'] = 0; |
|
| 102 | + $this->attributes['owner_id'] = $ownerId; |
|
| 103 | + $this->attributes['owner_name'] = $ownerName; |
|
| 104 | + $this->timestamps = false; |
|
| 105 | + |
|
| 106 | + $this->save(); |
|
| 107 | + |
|
| 108 | + return $this; |
|
| 109 | + } |
|
| 110 | + |
|
| 111 | + /** |
|
| 112 | 112 | * Get Room Tags. |
| 113 | 113 | * |
| 114 | 114 | * @return array |
| 115 | 115 | */ |
| 116 | - public function getTagsAttribute(): array |
|
| 117 | - { |
|
| 118 | - return array_filter(explode(';', $this->attributes['tags']), function ($element) { |
|
| 119 | - return !empty($element); |
|
| 120 | - }); |
|
| 121 | - } |
|
| 116 | + public function getTagsAttribute(): array |
|
| 117 | + { |
|
| 118 | + return array_filter(explode(';', $this->attributes['tags']), function ($element) { |
|
| 119 | + return !empty($element); |
|
| 120 | + }); |
|
| 121 | + } |
|
| 122 | 122 | |
| 123 | - /** |
|
| 123 | + /** |
|
| 124 | 124 | * Get Image Url. |
| 125 | 125 | * |
| 126 | 126 | * @TODO: Get Real Full Room Image |
| 127 | 127 | * |
| 128 | 128 | * @return string |
| 129 | 129 | */ |
| 130 | - public function getImageUrlAttribute(): string |
|
| 131 | - { |
|
| 132 | - return "//arcturus.wf/full_{$this->attributes['id']}.png"; |
|
| 133 | - } |
|
| 130 | + public function getImageUrlAttribute(): string |
|
| 131 | + { |
|
| 132 | + return "//arcturus.wf/full_{$this->attributes['id']}.png"; |
|
| 133 | + } |
|
| 134 | 134 | |
| 135 | - /** |
|
| 135 | + /** |
|
| 136 | 136 | * Get Thumbnail Url. |
| 137 | 137 | * |
| 138 | 138 | * @return string |
| 139 | 139 | */ |
| 140 | - public function getThumbnailUrlAttribute(): string |
|
| 141 | - { |
|
| 142 | - $userName = Config::get('chocolatey.arcturus'); |
|
| 140 | + public function getThumbnailUrlAttribute(): string |
|
| 141 | + { |
|
| 142 | + $userName = Config::get('chocolatey.arcturus'); |
|
| 143 | 143 | |
| 144 | - return "//arcturus.wf/camera/{$userName}/thumbnail_{$this->attributes['id']}.png"; |
|
| 145 | - } |
|
| 144 | + return "//arcturus.wf/camera/{$userName}/thumbnail_{$this->attributes['id']}.png"; |
|
| 145 | + } |
|
| 146 | 146 | |
| 147 | - /** |
|
| 147 | + /** |
|
| 148 | 148 | * Return if need show Owner Name. |
| 149 | 149 | * |
| 150 | 150 | * @TODO: What this really does? |
| 151 | 151 | * |
| 152 | 152 | * @return bool |
| 153 | 153 | */ |
| 154 | - public function getShowOwnerNameAttribute(): bool |
|
| 155 | - { |
|
| 156 | - return true; |
|
| 157 | - } |
|
| 154 | + public function getShowOwnerNameAttribute(): bool |
|
| 155 | + { |
|
| 156 | + return true; |
|
| 157 | + } |
|
| 158 | 158 | |
| 159 | - /** |
|
| 159 | + /** |
|
| 160 | 160 | * Set a Leader Board Position. |
| 161 | 161 | * |
| 162 | 162 | * @param int $roomPosition |
| 163 | 163 | */ |
| 164 | - public function setLeaderBoardRankAttribute(int $roomPosition = 1) |
|
| 165 | - { |
|
| 166 | - $this->leaderboardRank = $roomPosition; |
|
| 167 | - } |
|
| 164 | + public function setLeaderBoardRankAttribute(int $roomPosition = 1) |
|
| 165 | + { |
|
| 166 | + $this->leaderboardRank = $roomPosition; |
|
| 167 | + } |
|
| 168 | 168 | |
| 169 | - /** |
|
| 169 | + /** |
|
| 170 | 170 | * Get Leader Board Rank. |
| 171 | 171 | * |
| 172 | 172 | * @return int |
| 173 | 173 | */ |
| 174 | - public function getLeaderBoardRankAttribute(): int |
|
| 175 | - { |
|
| 176 | - return $this->leaderboardRank; |
|
| 177 | - } |
|
| 174 | + public function getLeaderBoardRankAttribute(): int |
|
| 175 | + { |
|
| 176 | + return $this->leaderboardRank; |
|
| 177 | + } |
|
| 178 | 178 | |
| 179 | - /** |
|
| 179 | + /** |
|
| 180 | 180 | * Get if the Room is Public. |
| 181 | 181 | * |
| 182 | 182 | * @return bool |
| 183 | 183 | */ |
| 184 | - public function getPublicRoomAttribute(): bool |
|
| 185 | - { |
|
| 186 | - return $this->attributes['is_public'] == 1; |
|
| 187 | - } |
|
| 184 | + public function getPublicRoomAttribute(): bool |
|
| 185 | + { |
|
| 186 | + return $this->attributes['is_public'] == 1; |
|
| 187 | + } |
|
| 188 | 188 | |
| 189 | - /** |
|
| 189 | + /** |
|
| 190 | 190 | * Get Room Category. |
| 191 | 191 | * |
| 192 | 192 | * @return array |
| 193 | 193 | */ |
| 194 | - public function getCategoriesAttribute(): array |
|
| 195 | - { |
|
| 196 | - return [str_replace('}', '', str_replace('${', '', FlatCat::find($this->attributes['category'])->caption))]; |
|
| 197 | - } |
|
| 194 | + public function getCategoriesAttribute(): array |
|
| 195 | + { |
|
| 196 | + return [str_replace('}', '', str_replace('${', '', FlatCat::find($this->attributes['category'])->caption))]; |
|
| 197 | + } |
|
| 198 | 198 | } |
@@ -18,7 +18,7 @@ |
||
| 18 | 18 | */ |
| 19 | 19 | public function register() |
| 20 | 20 | { |
| 21 | - $this->app->bind('chocouser', function () { |
|
| 21 | + $this->app->bind('chocouser', function() { |
|
| 22 | 22 | return User::getInstance(); |
| 23 | 23 | }); |
| 24 | 24 | } |
@@ -1,24 +1,24 @@ |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Providers; |
|
| 3 | + namespace App\Providers; |
|
| 4 | 4 | |
| 5 | -use App\Helpers\User; |
|
| 6 | -use Illuminate\Support\ServiceProvider; |
|
| 5 | + use App\Helpers\User; |
|
| 6 | + use Illuminate\Support\ServiceProvider; |
|
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * Class UserServiceProvider. |
| 10 | 10 | */ |
| 11 | -class UserServiceProvider extends ServiceProvider |
|
| 12 | -{ |
|
| 13 | - /** |
|
| 11 | + class UserServiceProvider extends ServiceProvider |
|
| 12 | + { |
|
| 13 | + /** |
|
| 14 | 14 | * Register the Session Service Provider. |
| 15 | 15 | * |
| 16 | 16 | * @return void |
| 17 | 17 | */ |
| 18 | - public function register() |
|
| 19 | - { |
|
| 20 | - $this->app->bind('chocouser', function () { |
|
| 21 | - return User::getInstance(); |
|
| 22 | - }); |
|
| 23 | - } |
|
| 18 | + public function register() |
|
| 19 | + { |
|
| 20 | + $this->app->bind('chocouser', function () { |
|
| 21 | + return User::getInstance(); |
|
| 22 | + }); |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -18,7 +18,7 @@ |
||
| 18 | 18 | */ |
| 19 | 19 | public function register() |
| 20 | 20 | { |
| 21 | - $this->app->bind('chocomail', function () { |
|
| 21 | + $this->app->bind('chocomail', function() { |
|
| 22 | 22 | return Mail::getInstance(); |
| 23 | 23 | }); |
| 24 | 24 | } |
@@ -1,24 +1,24 @@ |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Providers; |
|
| 3 | + namespace App\Providers; |
|
| 4 | 4 | |
| 5 | -use App\Helpers\Mail; |
|
| 6 | -use Illuminate\Support\ServiceProvider; |
|
| 5 | + use App\Helpers\Mail; |
|
| 6 | + use Illuminate\Support\ServiceProvider; |
|
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * Class MailServiceProvider. |
| 10 | 10 | */ |
| 11 | -class MailServiceProvider extends ServiceProvider |
|
| 12 | -{ |
|
| 13 | - /** |
|
| 11 | + class MailServiceProvider extends ServiceProvider |
|
| 12 | + { |
|
| 13 | + /** |
|
| 14 | 14 | * Register the Session Service Provider. |
| 15 | 15 | * |
| 16 | 16 | * @return void |
| 17 | 17 | */ |
| 18 | - public function register() |
|
| 19 | - { |
|
| 20 | - $this->app->bind('chocomail', function () { |
|
| 21 | - return Mail::getInstance(); |
|
| 22 | - }); |
|
| 23 | - } |
|
| 18 | + public function register() |
|
| 19 | + { |
|
| 20 | + $this->app->bind('chocomail', function () { |
|
| 21 | + return Mail::getInstance(); |
|
| 22 | + }); |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -200,7 +200,7 @@ |
||
| 200 | 200 | * |
| 201 | 201 | * @param Request $request |
| 202 | 202 | * |
| 203 | - * @return mixed |
|
| 203 | + * @return JsonResponse |
|
| 204 | 204 | */ |
| 205 | 205 | public function confirmChangePassword(Request $request): JsonResponse |
| 206 | 206 | { |
@@ -1,89 +1,89 @@ discard block |
||
| 1 | -<?php |
|
| 2 | - |
|
| 3 | -namespace App\Http\Controllers; |
|
| 4 | - |
|
| 5 | -use App\Facades\Mail; |
|
| 6 | -use App\Facades\User as UserFacade; |
|
| 7 | -use App\Models\ChocolateyId; |
|
| 8 | -use App\Models\Question; |
|
| 9 | -use App\Models\TrustedDevice; |
|
| 10 | -use App\Models\User; |
|
| 11 | -use App\Models\UserSecurity; |
|
| 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; |
|
| 1 | + <?php |
|
| 2 | + |
|
| 3 | + namespace App\Http\Controllers; |
|
| 4 | + |
|
| 5 | + use App\Facades\Mail; |
|
| 6 | + use App\Facades\User as UserFacade; |
|
| 7 | + use App\Models\ChocolateyId; |
|
| 8 | + use App\Models\Question; |
|
| 9 | + use App\Models\TrustedDevice; |
|
| 10 | + use App\Models\User; |
|
| 11 | + use App\Models\UserSecurity; |
|
| 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 | 17 | |
| 18 | 18 | /** |
| 19 | 19 | * Class AccountSecurityController. |
| 20 | 20 | */ |
| 21 | -class AccountSecurityController extends BaseController |
|
| 22 | -{ |
|
| 23 | - /** |
|
| 21 | + class AccountSecurityController extends BaseController |
|
| 22 | + { |
|
| 23 | + /** |
|
| 24 | 24 | * Check if Feature Status is Enabled. |
| 25 | 25 | * |
| 26 | 26 | * @return Response |
| 27 | 27 | */ |
| 28 | - public function featureStatus(): Response |
|
| 29 | - { |
|
| 30 | - if (UserFacade::getUser()->emailVerified == false) { |
|
| 31 | - return response('identity_verification_required', 200); |
|
| 32 | - } |
|
| 28 | + public function featureStatus(): Response |
|
| 29 | + { |
|
| 30 | + if (UserFacade::getUser()->emailVerified == false) { |
|
| 31 | + return response('identity_verification_required', 200); |
|
| 32 | + } |
|
| 33 | 33 | |
| 34 | - $featureEnabled = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 34 | + $featureEnabled = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 35 | 35 | |
| 36 | - return response($featureEnabled !== null ? 'enabled' : 'disabled', 200); |
|
| 37 | - } |
|
| 36 | + return response($featureEnabled !== null ? 'enabled' : 'disabled', 200); |
|
| 37 | + } |
|
| 38 | 38 | |
| 39 | - /** |
|
| 39 | + /** |
|
| 40 | 40 | * Save Security Questions. |
| 41 | 41 | * |
| 42 | 42 | * @param Request $request |
| 43 | 43 | * |
| 44 | 44 | * @return JsonResponse |
| 45 | 45 | */ |
| 46 | - public function saveQuestions(Request $request): JsonResponse |
|
| 47 | - { |
|
| 48 | - if (UserFacade::getUser()->getChocolateyId()->password != hash(Config::get('chocolatey.security.hash'), $request->json()->get('password'))) { |
|
| 49 | - return response()->json(['error' => 'invalid_password'], 400); |
|
| 50 | - } |
|
| 51 | - |
|
| 52 | - UserSecurity::updateOrCreate([ |
|
| 53 | - 'user_id' => UserFacade::getUser()->uniqueId, |
|
| 54 | - 'firstQuestion' => $request->json()->get('questionId1'), |
|
| 55 | - 'secondQuestion' => $request->json()->get('questionId2'), |
|
| 56 | - 'firstAnswer' => $request->json()->get('answer1'), |
|
| 57 | - 'secondAnswer' => $request->json()->get('answer2'), ]); |
|
| 58 | - |
|
| 59 | - return response()->json(null, 204); |
|
| 60 | - } |
|
| 61 | - |
|
| 62 | - /** |
|
| 46 | + public function saveQuestions(Request $request): JsonResponse |
|
| 47 | + { |
|
| 48 | + if (UserFacade::getUser()->getChocolateyId()->password != hash(Config::get('chocolatey.security.hash'), $request->json()->get('password'))) { |
|
| 49 | + return response()->json(['error' => 'invalid_password'], 400); |
|
| 50 | + } |
|
| 51 | + |
|
| 52 | + UserSecurity::updateOrCreate([ |
|
| 53 | + 'user_id' => UserFacade::getUser()->uniqueId, |
|
| 54 | + 'firstQuestion' => $request->json()->get('questionId1'), |
|
| 55 | + 'secondQuestion' => $request->json()->get('questionId2'), |
|
| 56 | + 'firstAnswer' => $request->json()->get('answer1'), |
|
| 57 | + 'secondAnswer' => $request->json()->get('answer2'), ]); |
|
| 58 | + |
|
| 59 | + return response()->json(null, 204); |
|
| 60 | + } |
|
| 61 | + |
|
| 62 | + /** |
|
| 63 | 63 | * Disable Safety Lock. |
| 64 | 64 | * |
| 65 | 65 | * @return JsonResponse |
| 66 | 66 | */ |
| 67 | - public function disable(): JsonResponse |
|
| 68 | - { |
|
| 69 | - UserSecurity::find(UserFacade::getUser()->uniqueId)->delete(); |
|
| 67 | + public function disable(): JsonResponse |
|
| 68 | + { |
|
| 69 | + UserSecurity::find(UserFacade::getUser()->uniqueId)->delete(); |
|
| 70 | 70 | |
| 71 | - return response()->json(null, 204); |
|
| 72 | - } |
|
| 71 | + return response()->json(null, 204); |
|
| 72 | + } |
|
| 73 | 73 | |
| 74 | - /** |
|
| 74 | + /** |
|
| 75 | 75 | * Reset Trusted Devices. |
| 76 | 76 | * |
| 77 | 77 | * @return JsonResponse |
| 78 | 78 | */ |
| 79 | - public function reset(): JsonResponse |
|
| 80 | - { |
|
| 81 | - TrustedDevice::find(UserFacade::getUser()->uniqueId)->delete(); |
|
| 79 | + public function reset(): JsonResponse |
|
| 80 | + { |
|
| 81 | + TrustedDevice::find(UserFacade::getUser()->uniqueId)->delete(); |
|
| 82 | 82 | |
| 83 | - return response()->json(null, 204); |
|
| 84 | - } |
|
| 83 | + return response()->json(null, 204); |
|
| 84 | + } |
|
| 85 | 85 | |
| 86 | - /** |
|
| 86 | + /** |
|
| 87 | 87 | * Change User Password. |
| 88 | 88 | * |
| 89 | 89 | * @TODO: Implement Notification E-mail of Password change |
@@ -92,139 +92,139 @@ discard block |
||
| 92 | 92 | * |
| 93 | 93 | * @return JsonResponse |
| 94 | 94 | */ |
| 95 | - public function changePassword(Request $request): JsonResponse |
|
| 96 | - { |
|
| 97 | - UserFacade::getUser()->getChocolateyId()->update(['password' => hash(Config::get('chocolatey.security.hash'), |
|
| 98 | - $request->json()->get('password'))]); |
|
| 95 | + public function changePassword(Request $request): JsonResponse |
|
| 96 | + { |
|
| 97 | + UserFacade::getUser()->getChocolateyId()->update(['password' => hash(Config::get('chocolatey.security.hash'), |
|
| 98 | + $request->json()->get('password'))]); |
|
| 99 | 99 | |
| 100 | - return response()->json(null, 204); |
|
| 101 | - } |
|
| 100 | + return response()->json(null, 204); |
|
| 101 | + } |
|
| 102 | 102 | |
| 103 | - /** |
|
| 103 | + /** |
|
| 104 | 104 | * Confirm E-Mail Activation. |
| 105 | 105 | * |
| 106 | 106 | * @param Request $request |
| 107 | 107 | * |
| 108 | 108 | * @return JsonResponse |
| 109 | 109 | */ |
| 110 | - public function confirmActivation(Request $request): JsonResponse |
|
| 111 | - { |
|
| 112 | - if (Mail::get($request->json()->get('token')) == null) { |
|
| 113 | - return response()->json(['error' => 'activation.invalid_token'], 400); |
|
| 114 | - } |
|
| 110 | + public function confirmActivation(Request $request): JsonResponse |
|
| 111 | + { |
|
| 112 | + if (Mail::get($request->json()->get('token')) == null) { |
|
| 113 | + return response()->json(['error' => 'activation.invalid_token'], 400); |
|
| 114 | + } |
|
| 115 | 115 | |
| 116 | - ChocolateyId::find(Mail::get()->mail)->update(['mail_verified' => '1']); |
|
| 116 | + ChocolateyId::find(Mail::get()->mail)->update(['mail_verified' => '1']); |
|
| 117 | 117 | |
| 118 | - if (strpos(Mail::get()->link, 'change-email') !== false) { |
|
| 119 | - $email = str_replace('change-email/', '', Mail::get()->link); |
|
| 118 | + if (strpos(Mail::get()->link, 'change-email') !== false) { |
|
| 119 | + $email = str_replace('change-email/', '', Mail::get()->link); |
|
| 120 | 120 | |
| 121 | - User::where('mail', Mail::get()->mail)->update(['mail' => $email]); |
|
| 121 | + User::where('mail', Mail::get()->mail)->update(['mail' => $email]); |
|
| 122 | 122 | |
| 123 | - ChocolateyId::find(Mail::get()->mail)->update(['mail' => $email]); |
|
| 124 | - } |
|
| 123 | + ChocolateyId::find(Mail::get()->mail)->update(['mail' => $email]); |
|
| 124 | + } |
|
| 125 | 125 | |
| 126 | - return response()->json(['email' => Mail::get()->mail, 'emailVerified' => true, 'identityVerified' => true]); |
|
| 127 | - } |
|
| 126 | + return response()->json(['email' => Mail::get()->mail, 'emailVerified' => true, 'identityVerified' => true]); |
|
| 127 | + } |
|
| 128 | 128 | |
| 129 | - /** |
|
| 129 | + /** |
|
| 130 | 130 | * Change User E-mail. |
| 131 | 131 | * |
| 132 | 132 | * @param Request $request |
| 133 | 133 | * |
| 134 | 134 | * @return JsonResponse |
| 135 | 135 | */ |
| 136 | - public function changeMail(Request $request): JsonResponse |
|
| 137 | - { |
|
| 138 | - if (User::where('password', hash(Config::get('chocolatey.security.hash'), $request->json()->get('currentPassword')))->count() == 0) { |
|
| 139 | - return response()->json(['error' => 'changeEmail.invalid_password'], 400); |
|
| 140 | - } |
|
| 136 | + public function changeMail(Request $request): JsonResponse |
|
| 137 | + { |
|
| 138 | + if (User::where('password', hash(Config::get('chocolatey.security.hash'), $request->json()->get('currentPassword')))->count() == 0) { |
|
| 139 | + return response()->json(['error' => 'changeEmail.invalid_password'], 400); |
|
| 140 | + } |
|
| 141 | 141 | |
| 142 | - if (ChocolateyId::where('mail', $request->json()->get('newEmail'))->count() > 0) { |
|
| 143 | - return response()->json(['error' => 'changeEmail.email_already_in_use'], 400); |
|
| 144 | - } |
|
| 142 | + if (ChocolateyId::where('mail', $request->json()->get('newEmail'))->count() > 0) { |
|
| 143 | + return response()->json(['error' => 'changeEmail.email_already_in_use'], 400); |
|
| 144 | + } |
|
| 145 | 145 | |
| 146 | - $this->sendChangeMailConfirmation($request); |
|
| 146 | + $this->sendChangeMailConfirmation($request); |
|
| 147 | 147 | |
| 148 | - return response()->json(['email' => $request->json()->get('newEmail')], 200); |
|
| 149 | - } |
|
| 148 | + return response()->json(['email' => $request->json()->get('newEmail')], 200); |
|
| 149 | + } |
|
| 150 | 150 | |
| 151 | - /** |
|
| 151 | + /** |
|
| 152 | 152 | * Send the E-Mail confirmation. |
| 153 | 153 | * |
| 154 | 154 | * @param Request $request |
| 155 | 155 | */ |
| 156 | - protected function sendChangeMailConfirmation(Request $request) |
|
| 157 | - { |
|
| 158 | - Mail::send(['email' => UserFacade::getUser()->email, |
|
| 159 | - 'name' => UserFacade::getUser()->name, 'subject' => 'Email change alert', |
|
| 160 | - ], 'habbo-web-mail.mail-change-alert'); |
|
| 156 | + protected function sendChangeMailConfirmation(Request $request) |
|
| 157 | + { |
|
| 158 | + Mail::send(['email' => UserFacade::getUser()->email, |
|
| 159 | + 'name' => UserFacade::getUser()->name, 'subject' => 'Email change alert', |
|
| 160 | + ], 'habbo-web-mail.mail-change-alert'); |
|
| 161 | 161 | |
| 162 | - $generatedToken = Mail::store(UserFacade::getUser()->email, |
|
| 163 | - "change-email/{$request->json()->get('newEmail')}"); |
|
| 162 | + $generatedToken = Mail::store(UserFacade::getUser()->email, |
|
| 163 | + "change-email/{$request->json()->get('newEmail')}"); |
|
| 164 | 164 | |
| 165 | - Mail::send(['email' => $request->json()->get('newEmail'), 'name' => UserFacade::getUser()->name, |
|
| 166 | - 'subject' => 'Email change confirmation', 'url' => "/activate/{$generatedToken}", |
|
| 167 | - ], 'habbo-web-mail.confirm-mail-change'); |
|
| 168 | - } |
|
| 165 | + Mail::send(['email' => $request->json()->get('newEmail'), 'name' => UserFacade::getUser()->name, |
|
| 166 | + 'subject' => 'Email change confirmation', 'url' => "/activate/{$generatedToken}", |
|
| 167 | + ], 'habbo-web-mail.confirm-mail-change'); |
|
| 168 | + } |
|
| 169 | 169 | |
| 170 | - /** |
|
| 170 | + /** |
|
| 171 | 171 | * Get User Security Questions. |
| 172 | 172 | * |
| 173 | 173 | * @return JsonResponse |
| 174 | 174 | */ |
| 175 | - public function getQuestions(): JsonResponse |
|
| 176 | - { |
|
| 177 | - if (UserSecurity::find(UserFacade::getUser()->uniqueId) == null) { |
|
| 178 | - return response()->json(''); |
|
| 179 | - } |
|
| 180 | - |
|
| 181 | - $userSecurity = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 182 | - |
|
| 183 | - return response()->json([ |
|
| 184 | - new Question($userSecurity->firstQuestion, |
|
| 185 | - "IDENTITY_SAFETYQUESTION_{$userSecurity->firstQuestion}"), |
|
| 186 | - new Question($userSecurity->secondQuestion, |
|
| 187 | - "IDENTITY_SAFETYQUESTION_{$userSecurity->secondQuestion}"), |
|
| 188 | - ]); |
|
| 189 | - } |
|
| 190 | - |
|
| 191 | - /** |
|
| 175 | + public function getQuestions(): JsonResponse |
|
| 176 | + { |
|
| 177 | + if (UserSecurity::find(UserFacade::getUser()->uniqueId) == null) { |
|
| 178 | + return response()->json(''); |
|
| 179 | + } |
|
| 180 | + |
|
| 181 | + $userSecurity = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 182 | + |
|
| 183 | + return response()->json([ |
|
| 184 | + new Question($userSecurity->firstQuestion, |
|
| 185 | + "IDENTITY_SAFETYQUESTION_{$userSecurity->firstQuestion}"), |
|
| 186 | + new Question($userSecurity->secondQuestion, |
|
| 187 | + "IDENTITY_SAFETYQUESTION_{$userSecurity->secondQuestion}"), |
|
| 188 | + ]); |
|
| 189 | + } |
|
| 190 | + |
|
| 191 | + /** |
|
| 192 | 192 | * Verify User Security Questions. |
| 193 | 193 | * |
| 194 | 194 | * @param Request $request |
| 195 | 195 | * |
| 196 | 196 | * @return JsonResponse |
| 197 | 197 | */ |
| 198 | - public function verifyQuestions(Request $request): JsonResponse |
|
| 199 | - { |
|
| 200 | - $questions = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 198 | + public function verifyQuestions(Request $request): JsonResponse |
|
| 199 | + { |
|
| 200 | + $questions = UserSecurity::find(UserFacade::getUser()->uniqueId); |
|
| 201 | 201 | |
| 202 | - if ($questions->firstAnswer == $request->json()->get('answer1') && $questions->secondAnswer == $request->json()->get('answer2')) { |
|
| 203 | - if ($request->json()->get('trust') == true) { |
|
| 204 | - (new TrustedDevice())->store(UserFacade::getUser()->uniqueId, $request->ip()); |
|
| 205 | - } |
|
| 202 | + if ($questions->firstAnswer == $request->json()->get('answer1') && $questions->secondAnswer == $request->json()->get('answer2')) { |
|
| 203 | + if ($request->json()->get('trust') == true) { |
|
| 204 | + (new TrustedDevice())->store(UserFacade::getUser()->uniqueId, $request->ip()); |
|
| 205 | + } |
|
| 206 | 206 | |
| 207 | - return response()->json(null, 204); |
|
| 208 | - } |
|
| 207 | + return response()->json(null, 204); |
|
| 208 | + } |
|
| 209 | 209 | |
| 210 | - return response()->json(null, 409); |
|
| 211 | - } |
|
| 210 | + return response()->json(null, 409); |
|
| 211 | + } |
|
| 212 | 212 | |
| 213 | - /** |
|
| 213 | + /** |
|
| 214 | 214 | * Confirm User Change Password. |
| 215 | 215 | * |
| 216 | 216 | * @param Request $request |
| 217 | 217 | * |
| 218 | 218 | * @return mixed |
| 219 | 219 | */ |
| 220 | - public function confirmChangePassword(Request $request): JsonResponse |
|
| 221 | - { |
|
| 222 | - if (Mail::get($request->json()->get('token')) == null) { |
|
| 223 | - return response()->json(null, 404); |
|
| 224 | - } |
|
| 220 | + public function confirmChangePassword(Request $request): JsonResponse |
|
| 221 | + { |
|
| 222 | + if (Mail::get($request->json()->get('token')) == null) { |
|
| 223 | + return response()->json(null, 404); |
|
| 224 | + } |
|
| 225 | 225 | |
| 226 | - ChocolateyId::find(Mail::get()->mail)->update(['password' => hash(Config::get('chocolatey.security.hash'), $request->json()->get('password'))]); |
|
| 226 | + ChocolateyId::find(Mail::get()->mail)->update(['password' => hash(Config::get('chocolatey.security.hash'), $request->json()->get('password'))]); |
|
| 227 | 227 | |
| 228 | - return response()->json(null); |
|
| 229 | - } |
|
| 228 | + return response()->json(null); |
|
| 229 | + } |
|
| 230 | 230 | } |
@@ -345,7 +345,7 @@ discard block |
||
| 345 | 345 | { |
| 346 | 346 | $accountCreated = $this->attributes['account_created'] ?? time(); |
| 347 | 347 | |
| 348 | - return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 348 | + return date('Y-m-d', $accountCreated) . 'T' . date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 349 | 349 | } |
| 350 | 350 | |
| 351 | 351 | /** |
@@ -357,7 +357,7 @@ discard block |
||
| 357 | 357 | { |
| 358 | 358 | $accountCreated = $this->attributes['account_created'] ?? time(); |
| 359 | 359 | |
| 360 | - return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 360 | + return date('Y-m-d', $accountCreated) . 'T' . date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 361 | 361 | } |
| 362 | 362 | |
| 363 | 363 | /** |
@@ -379,7 +379,7 @@ discard block |
||
| 379 | 379 | { |
| 380 | 380 | $lastLogin = $this->attributes['last_login'] ?? time(); |
| 381 | 381 | |
| 382 | - return date('Y-m-d', $lastLogin).'T'.date('H:i:s.ZZZZ+ZZZZ', $lastLogin); |
|
| 382 | + return date('Y-m-d', $lastLogin) . 'T' . date('H:i:s.ZZZZ+ZZZZ', $lastLogin); |
|
| 383 | 383 | } |
| 384 | 384 | |
| 385 | 385 | /** |
@@ -1,15 +1,15 @@ discard block |
||
| 1 | -<?php |
|
| 1 | + <?php |
|
| 2 | 2 | |
| 3 | -namespace App\Models; |
|
| 3 | + namespace App\Models; |
|
| 4 | 4 | |
| 5 | -use Illuminate\Auth\Authenticatable; |
|
| 6 | -use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; |
|
| 7 | -use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; |
|
| 8 | -use Illuminate\Database\Eloquent\Model; |
|
| 9 | -use Illuminate\Support\Facades\Config; |
|
| 10 | -use Laravel\Lumen\Auth\Authorizable; |
|
| 11 | -use Sofa\Eloquence\Eloquence; |
|
| 12 | -use Sofa\Eloquence\Mappable; |
|
| 5 | + use Illuminate\Auth\Authenticatable; |
|
| 6 | + use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; |
|
| 7 | + use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; |
|
| 8 | + use Illuminate\Database\Eloquent\Model; |
|
| 9 | + use Illuminate\Support\Facades\Config; |
|
| 10 | + use Laravel\Lumen\Auth\Authorizable; |
|
| 11 | + use Sofa\Eloquence\Eloquence; |
|
| 12 | + use Sofa\Eloquence\Mappable; |
|
| 13 | 13 | |
| 14 | 14 | /** |
| 15 | 15 | * Class User. |
@@ -20,77 +20,77 @@ discard block |
||
| 20 | 20 | * @property string name |
| 21 | 21 | * @property string motto |
| 22 | 22 | */ |
| 23 | -class User extends Model implements AuthenticatableContract, AuthorizableContract |
|
| 24 | -{ |
|
| 25 | - use Authenticatable, Authorizable, Eloquence, Mappable; |
|
| 23 | + class User extends Model implements AuthenticatableContract, AuthorizableContract |
|
| 24 | + { |
|
| 25 | + use Authenticatable, Authorizable, Eloquence, Mappable; |
|
| 26 | 26 | |
| 27 | - /** |
|
| 27 | + /** |
|
| 28 | 28 | * Disable Timestamps. |
| 29 | 29 | * |
| 30 | 30 | * @var bool |
| 31 | 31 | */ |
| 32 | - public $timestamps = false; |
|
| 32 | + public $timestamps = false; |
|
| 33 | 33 | |
| 34 | - /** |
|
| 34 | + /** |
|
| 35 | 35 | * User Traits. |
| 36 | 36 | * |
| 37 | 37 | * @var array |
| 38 | 38 | */ |
| 39 | - public $traits = ['USER']; |
|
| 39 | + public $traits = ['USER']; |
|
| 40 | 40 | |
| 41 | - /** |
|
| 41 | + /** |
|
| 42 | 42 | * The table associated with the model. |
| 43 | 43 | * |
| 44 | 44 | * @var string |
| 45 | 45 | */ |
| 46 | - protected $table = 'users'; |
|
| 46 | + protected $table = 'users'; |
|
| 47 | 47 | |
| 48 | - /** |
|
| 48 | + /** |
|
| 49 | 49 | * Primary Key of the Table. |
| 50 | 50 | * |
| 51 | 51 | * @var string |
| 52 | 52 | */ |
| 53 | - protected $primaryKey = 'id'; |
|
| 53 | + protected $primaryKey = 'id'; |
|
| 54 | 54 | |
| 55 | - /** |
|
| 55 | + /** |
|
| 56 | 56 | * The attributes that will be mapped. |
| 57 | 57 | * |
| 58 | 58 | * @var array |
| 59 | 59 | */ |
| 60 | - protected $maps = ['uniqueId' => 'id', 'name' => 'username', 'figureString' => 'look', 'lastWebAccess' => 'last_login', 'creationTime' => 'account_created', 'email' => 'mail', 'identityId' => 'id', 'accountId' => 'id']; |
|
| 60 | + protected $maps = ['uniqueId' => 'id', 'name' => 'username', 'figureString' => 'look', 'lastWebAccess' => 'last_login', 'creationTime' => 'account_created', 'email' => 'mail', 'identityId' => 'id', 'accountId' => 'id']; |
|
| 61 | 61 | |
| 62 | - /** |
|
| 62 | + /** |
|
| 63 | 63 | * The Appender(s) of the Model. |
| 64 | 64 | * |
| 65 | 65 | * @var array |
| 66 | 66 | */ |
| 67 | - protected $appends = ['habboClubMember', 'buildersClubMember', 'sessionLoginId', 'loginLogId', 'identityVerified', 'identityType', 'trusted', 'country', 'traits', |
|
| 68 | - 'uniqueId', 'name', 'figureString', 'lastWebAccess', 'creationTime', 'email', 'identityId', 'emailVerified', 'accountId', 'memberSince', 'isBanned', 'banDetails', 'isStaff', 'realEmail', ]; |
|
| 67 | + protected $appends = ['habboClubMember', 'buildersClubMember', 'sessionLoginId', 'loginLogId', 'identityVerified', 'identityType', 'trusted', 'country', 'traits', |
|
| 68 | + 'uniqueId', 'name', 'figureString', 'lastWebAccess', 'creationTime', 'email', 'identityId', 'emailVerified', 'accountId', 'memberSince', 'isBanned', 'banDetails', 'isStaff', 'realEmail', ]; |
|
| 69 | 69 | |
| 70 | - /** |
|
| 70 | + /** |
|
| 71 | 71 | * The attributes that are mass assignable. |
| 72 | 72 | * |
| 73 | 73 | * @var array |
| 74 | 74 | */ |
| 75 | - protected $fillable = ['mail', 'id', 'username', 'auth_ticket', 'last_login', 'ip_current', 'ip_register', 'mail_verified', 'account_day_of_birth', |
|
| 76 | - 'real_name', 'look', 'gender', 'credits', 'pixels', 'home_room', ]; |
|
| 75 | + protected $fillable = ['mail', 'id', 'username', 'auth_ticket', 'last_login', 'ip_current', 'ip_register', 'mail_verified', 'account_day_of_birth', |
|
| 76 | + 'real_name', 'look', 'gender', 'credits', 'pixels', 'home_room', ]; |
|
| 77 | 77 | |
| 78 | - /** |
|
| 78 | + /** |
|
| 79 | 79 | * The attributes excluded from the model's JSON form. |
| 80 | 80 | * |
| 81 | 81 | * @var array |
| 82 | 82 | */ |
| 83 | - protected $hidden = ['id', 'username', 'mail', 'account_created', 'password', 'mail_verified', 'real_name', 'account_day_of_birth', |
|
| 84 | - 'last_online', 'last_login', 'ip_register', 'auth_ticket', 'home_room', 'points', 'look', 'ip_current', 'online', 'pixels', 'credits', 'gender', 'points', 'rank', ]; |
|
| 83 | + protected $hidden = ['id', 'username', 'mail', 'account_created', 'password', 'mail_verified', 'real_name', 'account_day_of_birth', |
|
| 84 | + 'last_online', 'last_login', 'ip_register', 'auth_ticket', 'home_room', 'points', 'look', 'ip_current', 'online', 'pixels', 'credits', 'gender', 'points', 'rank', ]; |
|
| 85 | 85 | |
| 86 | - /** |
|
| 86 | + /** |
|
| 87 | 87 | * The attributes that should be casted to native types. |
| 88 | 88 | * |
| 89 | 89 | * @var array |
| 90 | 90 | */ |
| 91 | - protected $casts = ['traits' => 'string']; |
|
| 91 | + protected $casts = ['traits' => 'string']; |
|
| 92 | 92 | |
| 93 | - /** |
|
| 93 | + /** |
|
| 94 | 94 | * Store an User on the Database. |
| 95 | 95 | * |
| 96 | 96 | * @param string $username |
@@ -100,186 +100,186 @@ discard block |
||
| 100 | 100 | * |
| 101 | 101 | * @return User |
| 102 | 102 | */ |
| 103 | - public function store(string $username, string $email, string $address = '', bool $newUser = true): User |
|
| 104 | - { |
|
| 105 | - $this->attributes['username'] = $username; |
|
| 106 | - $this->attributes['mail'] = $email; |
|
| 103 | + public function store(string $username, string $email, string $address = '', bool $newUser = true): User |
|
| 104 | + { |
|
| 105 | + $this->attributes['username'] = $username; |
|
| 106 | + $this->attributes['mail'] = $email; |
|
| 107 | 107 | |
| 108 | - $this->attributes['motto'] = Config::get('chocolatey.motto'); |
|
| 109 | - $this->attributes['look'] = Config::get('chocolatey.figure'); |
|
| 110 | - $this->attributes['auth_ticket'] = ''; |
|
| 108 | + $this->attributes['motto'] = Config::get('chocolatey.motto'); |
|
| 109 | + $this->attributes['look'] = Config::get('chocolatey.figure'); |
|
| 110 | + $this->attributes['auth_ticket'] = ''; |
|
| 111 | 111 | |
| 112 | - $this->attributes['password'] = hash(Config::get('chocolatey.security.hash'), openssl_random_pseudo_bytes(50)); |
|
| 113 | - $this->attributes['account_created'] = time(); |
|
| 112 | + $this->attributes['password'] = hash(Config::get('chocolatey.security.hash'), openssl_random_pseudo_bytes(50)); |
|
| 113 | + $this->attributes['account_created'] = time(); |
|
| 114 | 114 | |
| 115 | - $this->attributes['ip_current'] = $address; |
|
| 115 | + $this->attributes['ip_current'] = $address; |
|
| 116 | 116 | |
| 117 | - $this->traits = $newUser ? ['NEW_USER', 'USER'] : ['USER']; |
|
| 117 | + $this->traits = $newUser ? ['NEW_USER', 'USER'] : ['USER']; |
|
| 118 | 118 | |
| 119 | - $this->timestamps = false; |
|
| 119 | + $this->timestamps = false; |
|
| 120 | 120 | |
| 121 | - $this->save(); |
|
| 122 | - $this->createData(); |
|
| 121 | + $this->save(); |
|
| 122 | + $this->createData(); |
|
| 123 | 123 | |
| 124 | - return $this; |
|
| 125 | - } |
|
| 124 | + return $this; |
|
| 125 | + } |
|
| 126 | 126 | |
| 127 | - /** |
|
| 127 | + /** |
|
| 128 | 128 | * Get User E-mail. |
| 129 | 129 | * |
| 130 | 130 | * @return string |
| 131 | 131 | */ |
| 132 | - public function getRealEmailAttribute() |
|
| 133 | - { |
|
| 134 | - return $this->attributes['mail']; |
|
| 135 | - } |
|
| 132 | + public function getRealEmailAttribute() |
|
| 133 | + { |
|
| 134 | + return $this->attributes['mail']; |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - /** |
|
| 137 | + /** |
|
| 138 | 138 | * Get User E-mail. |
| 139 | 139 | * |
| 140 | 140 | * @return string |
| 141 | 141 | */ |
| 142 | - public function getMailAttribute() |
|
| 143 | - { |
|
| 144 | - return strpos('-fblogin', $this->attributes['mail']) !== 0 ? 'fblogin' : $this->attributes['mail']; |
|
| 145 | - } |
|
| 142 | + public function getMailAttribute() |
|
| 143 | + { |
|
| 144 | + return strpos('-fblogin', $this->attributes['mail']) !== 0 ? 'fblogin' : $this->attributes['mail']; |
|
| 145 | + } |
|
| 146 | 146 | |
| 147 | - /** |
|
| 147 | + /** |
|
| 148 | 148 | * Store an User Alias Set on Database. |
| 149 | 149 | */ |
| 150 | - public function createData() |
|
| 151 | - { |
|
| 152 | - (new UserPreferences())->store($this->attributes['id']); |
|
| 153 | - } |
|
| 150 | + public function createData() |
|
| 151 | + { |
|
| 152 | + (new UserPreferences())->store($this->attributes['id']); |
|
| 153 | + } |
|
| 154 | 154 | |
| 155 | - /** |
|
| 155 | + /** |
|
| 156 | 156 | * Get Is User is Banned. |
| 157 | 157 | * |
| 158 | 158 | * @return bool |
| 159 | 159 | */ |
| 160 | - public function getIsBannedAttribute(): bool |
|
| 161 | - { |
|
| 162 | - $ban = Ban::where('user_id', $this->attributes['id'])->first(); |
|
| 160 | + public function getIsBannedAttribute(): bool |
|
| 161 | + { |
|
| 162 | + $ban = Ban::where('user_id', $this->attributes['id'])->first(); |
|
| 163 | 163 | |
| 164 | - if ($ban == null) { |
|
| 165 | - return false; |
|
| 166 | - } |
|
| 164 | + if ($ban == null) { |
|
| 165 | + return false; |
|
| 166 | + } |
|
| 167 | 167 | |
| 168 | - return $ban->ban_expire >= time(); |
|
| 169 | - } |
|
| 168 | + return $ban->ban_expire >= time(); |
|
| 169 | + } |
|
| 170 | 170 | |
| 171 | - /** |
|
| 171 | + /** |
|
| 172 | 172 | * Check if Is Staff. |
| 173 | 173 | * |
| 174 | 174 | * @return bool |
| 175 | 175 | */ |
| 176 | - public function getIsStaffAttribute(): bool |
|
| 177 | - { |
|
| 178 | - return array_key_exists('rank', $this->attributes) ? $this->attributes['rank'] >= 5 : false; |
|
| 179 | - } |
|
| 176 | + public function getIsStaffAttribute(): bool |
|
| 177 | + { |
|
| 178 | + return array_key_exists('rank', $this->attributes) ? $this->attributes['rank'] >= 5 : false; |
|
| 179 | + } |
|
| 180 | 180 | |
| 181 | - /** |
|
| 181 | + /** |
|
| 182 | 182 | * Get Ban Details. |
| 183 | 183 | * |
| 184 | 184 | * @return Ban |
| 185 | 185 | */ |
| 186 | - public function getBanDetailsAttribute() |
|
| 187 | - { |
|
| 188 | - return Ban::where('user_id', $this->attributes['id'])->first(); |
|
| 189 | - } |
|
| 186 | + public function getBanDetailsAttribute() |
|
| 187 | + { |
|
| 188 | + return Ban::where('user_id', $this->attributes['id'])->first(); |
|
| 189 | + } |
|
| 190 | 190 | |
| 191 | - /** |
|
| 191 | + /** |
|
| 192 | 192 | * Get Current User Country. |
| 193 | 193 | * |
| 194 | 194 | * @TODO: Implement this in a proper way |
| 195 | 195 | * |
| 196 | 196 | * @return string |
| 197 | 197 | */ |
| 198 | - public function getCountryAttribute(): string |
|
| 199 | - { |
|
| 200 | - return 'com'; |
|
| 201 | - } |
|
| 198 | + public function getCountryAttribute(): string |
|
| 199 | + { |
|
| 200 | + return 'com'; |
|
| 201 | + } |
|
| 202 | 202 | |
| 203 | - /** |
|
| 203 | + /** |
|
| 204 | 204 | * Set the Trait Attribute. |
| 205 | 205 | * |
| 206 | 206 | * @param array $accountType |
| 207 | 207 | */ |
| 208 | - public function setTraitsAttribute(array $accountType) |
|
| 209 | - { |
|
| 210 | - $this->traits = $accountType; |
|
| 211 | - } |
|
| 208 | + public function setTraitsAttribute(array $accountType) |
|
| 209 | + { |
|
| 210 | + $this->traits = $accountType; |
|
| 211 | + } |
|
| 212 | 212 | |
| 213 | - /** |
|
| 213 | + /** |
|
| 214 | 214 | * What is this field? |
| 215 | 215 | * |
| 216 | 216 | * @return array |
| 217 | 217 | */ |
| 218 | - public function getTraitsAttribute(): array |
|
| 219 | - { |
|
| 220 | - if (array_key_exists('rank', $this->attributes) && $this->attributes['rank'] >= config('chocolatey.minRank')) { |
|
| 221 | - return ['STAFF']; |
|
| 222 | - } |
|
| 218 | + public function getTraitsAttribute(): array |
|
| 219 | + { |
|
| 220 | + if (array_key_exists('rank', $this->attributes) && $this->attributes['rank'] >= config('chocolatey.minRank')) { |
|
| 221 | + return ['STAFF']; |
|
| 222 | + } |
|
| 223 | 223 | |
| 224 | - return $this->traits; |
|
| 225 | - } |
|
| 224 | + return $this->traits; |
|
| 225 | + } |
|
| 226 | 226 | |
| 227 | - /** |
|
| 227 | + /** |
|
| 228 | 228 | * We don't care about this? |
| 229 | 229 | * |
| 230 | 230 | * @return bool |
| 231 | 231 | */ |
| 232 | - public function getTrustedAttribute(): bool |
|
| 233 | - { |
|
| 234 | - if (UserSecurity::find($this->attributes['id']) == null) { |
|
| 235 | - return true; |
|
| 236 | - } |
|
| 232 | + public function getTrustedAttribute(): bool |
|
| 233 | + { |
|
| 234 | + if (UserSecurity::find($this->attributes['id']) == null) { |
|
| 235 | + return true; |
|
| 236 | + } |
|
| 237 | 237 | |
| 238 | - return in_array($this->attributes['ip_current'], |
|
| 239 | - UserSecurity::find($this->attributes['id'])->trustedDevices); |
|
| 240 | - } |
|
| 238 | + return in_array($this->attributes['ip_current'], |
|
| 239 | + UserSecurity::find($this->attributes['id'])->trustedDevices); |
|
| 240 | + } |
|
| 241 | 241 | |
| 242 | - /** |
|
| 242 | + /** |
|
| 243 | 243 | * What is this field? |
| 244 | 244 | * |
| 245 | 245 | * @return string |
| 246 | 246 | */ |
| 247 | - public function getIdentityTypeAttribute(): string |
|
| 248 | - { |
|
| 249 | - return strpos('-fblogin', $this->attributes['mail']) !== 0 ? 'FACEBOOK' : 'HABBO'; |
|
| 250 | - } |
|
| 247 | + public function getIdentityTypeAttribute(): string |
|
| 248 | + { |
|
| 249 | + return strpos('-fblogin', $this->attributes['mail']) !== 0 ? 'FACEBOOK' : 'HABBO'; |
|
| 250 | + } |
|
| 251 | 251 | |
| 252 | - /** |
|
| 252 | + /** |
|
| 253 | 253 | * We don't care about this, every user is trusted. |
| 254 | 254 | * |
| 255 | 255 | * @return bool |
| 256 | 256 | */ |
| 257 | - public function getIdentityVerifiedAttribute(): bool |
|
| 258 | - { |
|
| 259 | - return true; |
|
| 260 | - } |
|
| 257 | + public function getIdentityVerifiedAttribute(): bool |
|
| 258 | + { |
|
| 259 | + return true; |
|
| 260 | + } |
|
| 261 | 261 | |
| 262 | - /** |
|
| 262 | + /** |
|
| 263 | 263 | * We don't care about this. |
| 264 | 264 | * |
| 265 | 265 | * @return int |
| 266 | 266 | */ |
| 267 | - public function getLoginLogIdAttribute(): int |
|
| 268 | - { |
|
| 269 | - return 1; |
|
| 270 | - } |
|
| 267 | + public function getLoginLogIdAttribute(): int |
|
| 268 | + { |
|
| 269 | + return 1; |
|
| 270 | + } |
|
| 271 | 271 | |
| 272 | - /** |
|
| 272 | + /** |
|
| 273 | 273 | * We don't care about this. |
| 274 | 274 | * |
| 275 | 275 | * @return int |
| 276 | 276 | */ |
| 277 | - public function getSessionLoginIdAttribute(): int |
|
| 278 | - { |
|
| 279 | - return 1; |
|
| 280 | - } |
|
| 277 | + public function getSessionLoginIdAttribute(): int |
|
| 278 | + { |
|
| 279 | + return 1; |
|
| 280 | + } |
|
| 281 | 281 | |
| 282 | - /** |
|
| 282 | + /** |
|
| 283 | 283 | * Get the HabboClub Attribute |
| 284 | 284 | * In a Retro Habbo everyone is HC, yeah? |
| 285 | 285 | * |
@@ -287,12 +287,12 @@ discard block |
||
| 287 | 287 | * |
| 288 | 288 | * @return bool |
| 289 | 289 | */ |
| 290 | - public function getHabboClubMemberAttribute(): bool |
|
| 291 | - { |
|
| 292 | - return Config::get('chocolatey.ads.enabled') == false; |
|
| 293 | - } |
|
| 290 | + public function getHabboClubMemberAttribute(): bool |
|
| 291 | + { |
|
| 292 | + return Config::get('chocolatey.ads.enabled') == false; |
|
| 293 | + } |
|
| 294 | 294 | |
| 295 | - /** |
|
| 295 | + /** |
|
| 296 | 296 | * Get the Builders Club Attribute |
| 297 | 297 | * In a Retro Habbo everyone is BC, yeah? |
| 298 | 298 | * |
@@ -300,75 +300,75 @@ discard block |
||
| 300 | 300 | * |
| 301 | 301 | * @return bool |
| 302 | 302 | */ |
| 303 | - public function getBuildersClubMemberAttribute(): bool |
|
| 304 | - { |
|
| 305 | - return Config::get('chocolatey.ads.enabled') == false; |
|
| 306 | - } |
|
| 303 | + public function getBuildersClubMemberAttribute(): bool |
|
| 304 | + { |
|
| 305 | + return Config::get('chocolatey.ads.enabled') == false; |
|
| 306 | + } |
|
| 307 | 307 | |
| 308 | - /** |
|
| 308 | + /** |
|
| 309 | 309 | * Get GTimestamp in Habbo UserCurrency. |
| 310 | 310 | * |
| 311 | 311 | * @return string |
| 312 | 312 | */ |
| 313 | - public function getAccountCreatedAttribute(): string |
|
| 314 | - { |
|
| 315 | - $accountCreated = $this->attributes['account_created'] ?? time(); |
|
| 313 | + public function getAccountCreatedAttribute(): string |
|
| 314 | + { |
|
| 315 | + $accountCreated = $this->attributes['account_created'] ?? time(); |
|
| 316 | 316 | |
| 317 | - return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 318 | - } |
|
| 317 | + return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 318 | + } |
|
| 319 | 319 | |
| 320 | - /** |
|
| 320 | + /** |
|
| 321 | 321 | * Get GTimestamp in Habbo UserCurrency. |
| 322 | 322 | * |
| 323 | 323 | * @return string |
| 324 | 324 | */ |
| 325 | - public function getMemberSinceAttribute(): string |
|
| 326 | - { |
|
| 327 | - $accountCreated = $this->attributes['account_created'] ?? time(); |
|
| 325 | + public function getMemberSinceAttribute(): string |
|
| 326 | + { |
|
| 327 | + $accountCreated = $this->attributes['account_created'] ?? time(); |
|
| 328 | 328 | |
| 329 | - return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 330 | - } |
|
| 329 | + return date('Y-m-d', $accountCreated).'T'.date('H:i:s.ZZZZ+ZZZZ', $accountCreated); |
|
| 330 | + } |
|
| 331 | 331 | |
| 332 | - /** |
|
| 332 | + /** |
|
| 333 | 333 | * Retrieve User Figure String. |
| 334 | 334 | * |
| 335 | 335 | * @return string |
| 336 | 336 | */ |
| 337 | - public function getFigureStringAttribute(): string |
|
| 338 | - { |
|
| 339 | - return $this->attributes['look'] ?? 'hr-115-42.hd-195-19.ch-3030-82.lg-275-1408.fa-1201.ca-1804-64'; |
|
| 340 | - } |
|
| 337 | + public function getFigureStringAttribute(): string |
|
| 338 | + { |
|
| 339 | + return $this->attributes['look'] ?? 'hr-115-42.hd-195-19.ch-3030-82.lg-275-1408.fa-1201.ca-1804-64'; |
|
| 340 | + } |
|
| 341 | 341 | |
| 342 | - /** |
|
| 342 | + /** |
|
| 343 | 343 | * Get GTimestamp in Habbo UserCurrency. |
| 344 | 344 | * |
| 345 | 345 | * @return false|string |
| 346 | 346 | */ |
| 347 | - public function getLastLoginAttribute(): string |
|
| 348 | - { |
|
| 349 | - $lastLogin = $this->attributes['last_login'] ?? time(); |
|
| 347 | + public function getLastLoginAttribute(): string |
|
| 348 | + { |
|
| 349 | + $lastLogin = $this->attributes['last_login'] ?? time(); |
|
| 350 | 350 | |
| 351 | - return date('Y-m-d', $lastLogin).'T'.date('H:i:s.ZZZZ+ZZZZ', $lastLogin); |
|
| 352 | - } |
|
| 351 | + return date('Y-m-d', $lastLogin).'T'.date('H:i:s.ZZZZ+ZZZZ', $lastLogin); |
|
| 352 | + } |
|
| 353 | 353 | |
| 354 | - /** |
|
| 354 | + /** |
|
| 355 | 355 | * Get E-Mail Verified Attribute. |
| 356 | 356 | * |
| 357 | 357 | * @return bool |
| 358 | 358 | */ |
| 359 | - public function getEmailVerifiedAttribute(): bool |
|
| 360 | - { |
|
| 361 | - return strpos('-fblogin', $this->attributes['mail']) !== 0 ? |
|
| 362 | - true : ($this->getChocolateyId()->mail_verified ?? false); |
|
| 363 | - } |
|
| 359 | + public function getEmailVerifiedAttribute(): bool |
|
| 360 | + { |
|
| 361 | + return strpos('-fblogin', $this->attributes['mail']) !== 0 ? |
|
| 362 | + true : ($this->getChocolateyId()->mail_verified ?? false); |
|
| 363 | + } |
|
| 364 | 364 | |
| 365 | - /** |
|
| 365 | + /** |
|
| 366 | 366 | * Get Account Chocolatey Id. |
| 367 | 367 | * |
| 368 | 368 | * @return ChocolateyId |
| 369 | 369 | */ |
| 370 | - public function getChocolateyId() |
|
| 371 | - { |
|
| 372 | - return ChocolateyId::find($this->attributes['mail']); |
|
| 373 | - } |
|
| 370 | + public function getChocolateyId() |
|
| 371 | + { |
|
| 372 | + return ChocolateyId::find($this->attributes['mail']); |
|
| 373 | + } |
|
| 374 | 374 | } |