Compare commits
3 Commits
3b39ae0470
...
ac99d29109
Author | SHA1 | Date | |
---|---|---|---|
ac99d29109 | |||
d4f0044656 | |||
9d455bdcf7 |
@ -39,8 +39,8 @@ REDIS_PASSWORD=null
|
|||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
|
|
||||||
MAIL_MAILER=smtp
|
MAIL_MAILER=smtp
|
||||||
MAIL_HOST=mailhog
|
MAIL_HOST=mailpit
|
||||||
MAIL_PORT=1125
|
MAIL_PORT=1025
|
||||||
MAIL_USERNAME=null
|
MAIL_USERNAME=null
|
||||||
MAIL_PASSWORD=null
|
MAIL_PASSWORD=null
|
||||||
MAIL_ENCRYPTION=null
|
MAIL_ENCRYPTION=null
|
||||||
@ -74,8 +74,14 @@ AWS_USE_PATH_STYLE_ENDPOINT=false
|
|||||||
PUSHER_APP_ID=
|
PUSHER_APP_ID=
|
||||||
PUSHER_APP_KEY=
|
PUSHER_APP_KEY=
|
||||||
PUSHER_APP_SECRET=
|
PUSHER_APP_SECRET=
|
||||||
|
PUSHER_HOST=
|
||||||
|
PUSHER_PORT=443
|
||||||
|
PUSHER_SCHEME=https
|
||||||
PUSHER_APP_CLUSTER=mt1
|
PUSHER_APP_CLUSTER=mt1
|
||||||
|
|
||||||
|
VITE_SSL_KEY_FILE_PATH="/code/docker/configs/nginx/ssls/${APP_DOMAIN}/${APP_DOMAIN}.key"
|
||||||
|
VITE_SSL_CERT_FILE_PATH="/code/docker/configs/nginx/ssls/${APP_DOMAIN}/${APP_DOMAIN}.crt"
|
||||||
|
|
||||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||||
MIX_PUSHER_HOST="${PUSHER_HOST}"
|
MIX_PUSHER_HOST="${PUSHER_HOST}"
|
||||||
|
@ -1,17 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PSR2" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/src/Standards/PSR2/ruleset.xml">
|
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PSR2" xsi:noNamespaceSchemaLocation="vendor/slevomat/coding-standard">
|
||||||
<description>PHP Codesniffer ruleset for this project</description>
|
<description>PHP Codesniffer ruleset for this project</description>
|
||||||
|
|
||||||
<file>./app/Models</file>
|
|
||||||
<file>./config</file>
|
|
||||||
<file>./database</file>
|
|
||||||
<file>./helpers</file>
|
|
||||||
<file>./lang</file>
|
|
||||||
<file>./resources/views</file>
|
|
||||||
<file>./routes</file>
|
|
||||||
|
|
||||||
<exclude-pattern>*/vendor/*</exclude-pattern>
|
|
||||||
|
|
||||||
<arg name="basepath" value="."/>
|
<arg name="basepath" value="."/>
|
||||||
<arg name="parallel" value="4"/>
|
<arg name="parallel" value="4"/>
|
||||||
<arg name="report" value="full"/>
|
<arg name="report" value="full"/>
|
||||||
@ -24,6 +14,16 @@
|
|||||||
|
|
||||||
<autoload>./vendor/autoload.php</autoload>
|
<autoload>./vendor/autoload.php</autoload>
|
||||||
|
|
||||||
|
<file>./app/Models</file>
|
||||||
|
<file>./config</file>
|
||||||
|
<file>./database</file>
|
||||||
|
<file>./helpers</file>
|
||||||
|
<file>./lang</file>
|
||||||
|
<file>./resources/views</file>
|
||||||
|
<file>./routes</file>
|
||||||
|
|
||||||
|
<exclude-pattern>*/vendor/*</exclude-pattern>
|
||||||
|
|
||||||
<!-- Don't hide tokenizer exceptions -->
|
<!-- Don't hide tokenizer exceptions -->
|
||||||
<rule ref="Internal.Tokenizer.Exception">
|
<rule ref="Internal.Tokenizer.Exception">
|
||||||
<type>error</type>
|
<type>error</type>
|
||||||
|
@ -2,21 +2,14 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Carbon\Carbon;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Collection;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Inertia\Response;
|
use Inertia\Response;
|
||||||
use Jenssegers\Agent\Agent;
|
|
||||||
use Laravel\Fortify\Features;
|
use Laravel\Fortify\Features;
|
||||||
use Laravel\Jetstream\Http\Controllers\Inertia\Concerns\ConfirmsTwoFactorAuthentication;
|
use Laravel\Jetstream\Http\Controllers\Inertia\UserProfileController as JetstreamUserProfileController;
|
||||||
use Laravel\Jetstream\Jetstream;
|
use Laravel\Jetstream\Jetstream;
|
||||||
|
|
||||||
class UserProfileController extends Controller
|
class UserProfileController extends JetstreamUserProfileController
|
||||||
{
|
{
|
||||||
use ConfirmsTwoFactorAuthentication;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the general profile settings screen.
|
* Show the general profile settings screen.
|
||||||
*
|
*
|
||||||
@ -36,56 +29,4 @@ class UserProfileController extends Controller
|
|||||||
'timezones' => timezone_identifiers_list(),
|
'timezones' => timezone_identifiers_list(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the current sessions.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Support\Collection
|
|
||||||
*/
|
|
||||||
public function sessions(Request $request): Collection
|
|
||||||
{
|
|
||||||
if (config('session.driver') !== 'database') {
|
|
||||||
return collect();
|
|
||||||
}
|
|
||||||
|
|
||||||
return collect(
|
|
||||||
DB::connection(config('session.connection'))->table(config('session.table', 'sessions'))
|
|
||||||
->where('user_id', $request->user()->getAuthIdentifier())
|
|
||||||
->orderBy('last_activity', 'desc')
|
|
||||||
->get()
|
|
||||||
)->map(function ($session) use ($request) {
|
|
||||||
$agent = $this->createAgent($session);
|
|
||||||
|
|
||||||
return (object) [
|
|
||||||
'agent' => [
|
|
||||||
'is_desktop' => $agent->isDesktop(),
|
|
||||||
'platform' => $agent->platform(),
|
|
||||||
'browser' => $agent->browser(),
|
|
||||||
],
|
|
||||||
'ip_address' => $session->ip_address,
|
|
||||||
'is_current_device' => $session->id === $request->session()->getId(),
|
|
||||||
'last_active' => Carbon::createFromTimestamp($session->last_activity)->diffForHumans(),
|
|
||||||
];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new agent instance from the given session.
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*
|
|
||||||
* @param mixed $session
|
|
||||||
*
|
|
||||||
* @return \Jenssegers\Agent\Agent
|
|
||||||
*/
|
|
||||||
protected function createAgent($session): Agent
|
|
||||||
{
|
|
||||||
return tap(new Agent, function ($agent) use ($session) {
|
|
||||||
$agent->setUserAgent($session->user_agent);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user