improve NeuxsWebGuard

This commit is contained in:
xiaomlove
2022-07-04 14:41:27 +08:00
parent 7d87f34ca4
commit ea94c0f738
16 changed files with 33 additions and 22 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
English | [中文](/)
Complete PT website building solution. Based on NexusPHP + Laravel Framework + Filament.
Complete PT website building solution. Based on NexusPHP + Laravel + Filament.
## Functional Features
+1 -1
View File
@@ -1,6 +1,6 @@
中文 | [English](/README-EN.md)
完整的 PT 建站解决方案。基于 NexusPHP + Laravel Framework + Filament。
完整的 PT 建站解决方案。基于 NexusPHP + Laravel + Filament。
## 功能特性
- 发种
+10 -2
View File
@@ -42,7 +42,13 @@ class NexusWebGuard implements Guard
if (! is_null($this->user)) {
return $this->user;
}
return $this->user = $this->provider->retrieveByCredentials($this->request->cookie());
$credentials = $this->request->cookie();
if ($this->validate($credentials)) {
$user = $this->user;
if ($this->provider->validateCredentials($user, $credentials)) {
return $user;
}
}
}
@@ -65,7 +71,9 @@ class NexusWebGuard implements Guard
if (!$id || !is_valid_id($id) || strlen($credentials["c_secure_pass"]) != 32) {
return false;
}
if ($this->provider->retrieveById($id)) {
$user = $this->provider->retrieveById($id);
if ($user) {
$this->user = $user;
return true;
}
return false;
@@ -61,10 +61,10 @@ class TorrentResource extends Resource
'<div class="text-primary-600 transition hover:underline hover:text-primary-500 focus:underline focus:text-primary-500"><a href="details.php?id=" target="_blank">%s</a></div>',
Str::limit($record->name, 40)
);
$tags = sprintf('<div>%s</div>', $record->tagsFormatted);
$tags = sprintf('&nbsp;<div>%s</div>', $record->tagsFormatted);
return new HtmlString('<div class="flex">' . $name . $tags . '</div>');
}),
})->label(__('label.name')),
Tables\Columns\TextColumn::make('posStateText')->label(__('label.torrent.pos_state')),
Tables\Columns\TextColumn::make('spStateText')->label(__('label.torrent.sp_state')),
Tables\Columns\TextColumn::make('size')->label(__('label.torrent.size'))->formatStateUsing(fn ($state) => mksize($state)),
@@ -77,7 +77,7 @@ class TorrentResource extends Resource
->formatStateUsing(fn ($record) => $record->approvalStatusText),
Tables\Columns\TextColumn::make('added')->label(__('label.added'))->dateTime(),
Tables\Columns\TextColumn::make('user.username')
->label(__('label.user.label'))
->label(__('label.torrent.owner'))
->url(fn ($record) => sprintf('/userdetails.php?id=%s', $record->owner))
->openUrlInNewTab(true)
,
@@ -48,7 +48,7 @@ class ClaimResource extends Resource
->columns([
Tables\Columns\TextColumn::make('id')->sortable(),
Tables\Columns\TextColumn::make('user.username')->label(__('label.user.label'))->searchable(),
Tables\Columns\TextColumn::make('torrent.name')->limit(50)->label(__('label.torrent.label'))->searchable(),
Tables\Columns\TextColumn::make('torrent.name')->limit(40)->label(__('label.torrent.label'))->searchable(),
Tables\Columns\TextColumn::make('torrent.size')->label(__('label.torrent.size'))->formatStateUsing(fn (Model $record) => mksize($record->torrent->size)),
Tables\Columns\TextColumn::make('torrent.added')->label(__('label.torrent.ttl'))->formatStateUsing(fn (Model $record) => mkprettytime($record->torrent->added->diffInSeconds())),
Tables\Columns\TextColumn::make('created_at')->label(__('label.created_at'))->dateTime(),
@@ -55,7 +55,7 @@ class HitAndRunResource extends Resource
->columns([
Tables\Columns\TextColumn::make('id')->sortable(),
Tables\Columns\TextColumn::make('user.username')->searchable()->label(__('label.username')),
Tables\Columns\TextColumn::make('torrent.name')->limit(50)->label(__('label.torrent.label')),
Tables\Columns\TextColumn::make('torrent.name')->limit(40)->label(__('label.torrent.label')),
Tables\Columns\TextColumn::make('snatch.uploadText')->label(__('label.uploaded')),
Tables\Columns\TextColumn::make('snatch.downloadText')->label(__('label.downloaded')),
Tables\Columns\TextColumn::make('snatch.shareRatio')->label(__('label.ratio')),
+1 -1
View File
@@ -70,7 +70,7 @@ class UserResource extends Resource
Tables\Columns\BadgeColumn::make('status')->colors(['success' => 'confirmed', 'warning' => 'pending'])->label(__("label.user.status")),
Tables\Columns\BadgeColumn::make('enabled')->colors(['success' => 'yes', 'danger' => 'no'])->label(__("label.user.enabled")),
Tables\Columns\TextColumn::make('added')->sortable()->dateTime('Y-m-d H:i')->label(__("label.added")),
Tables\Columns\TextColumn::make('last_access')->dateTime('Y-m-d H:i')->label(__("label.last_access")),
Tables\Columns\TextColumn::make('last_access')->dateTime()->label(__("label.last_access")),
])
->defaultSort('added', 'desc')
->filters([
+4 -4
View File
@@ -30,10 +30,10 @@ class LatestTorrents extends BaseWidget
protected function getTableColumns(): array
{
return [
Tables\Columns\TextColumn::make('name')->limit(30),
Tables\Columns\TextColumn::make('user.username'),
Tables\Columns\TextColumn::make('size')->formatStateUsing(fn ($state) => mksize($state)),
Tables\Columns\TextColumn::make('added')->dateTime(),
Tables\Columns\TextColumn::make('name')->limit(30)->label(__('label.name')),
Tables\Columns\TextColumn::make('user.username')->label(__('label.torrent.owner')),
Tables\Columns\TextColumn::make('size')->formatStateUsing(fn ($state) => mksize($state))->label(__('label.torrent.size')),
Tables\Columns\TextColumn::make('added')->dateTime()->label(__('label.added')),
];
}
}
+4 -4
View File
@@ -30,10 +30,10 @@ class LatestUsers extends BaseWidget
protected function getTableColumns(): array
{
return [
Tables\Columns\TextColumn::make('username'),
Tables\Columns\TextColumn::make('email'),
Tables\Columns\BadgeColumn::make('status')->colors(['success' => 'confirmed', 'danger' => 'pending']),
Tables\Columns\TextColumn::make('added')->dateTime(),
Tables\Columns\TextColumn::make('username')->label(__('label.user.username')),
Tables\Columns\TextColumn::make('email')->label(__('label.email')),
Tables\Columns\BadgeColumn::make('status')->colors(['success' => 'confirmed', 'danger' => 'pending'])->label(__('label.status')),
Tables\Columns\TextColumn::make('added')->dateTime()->label(__('label.added')),
];
}
}
+1 -1
View File
@@ -33,7 +33,7 @@ class TorrentTrend extends LineChartWidget
return [
'datasets' => [
[
'label' => 'Torrent',
'label' => __('label.torrent.label'),
'data' => $data->map(fn (TrendValue $value) => $value->aggregate),
],
],
+1 -1
View File
@@ -35,7 +35,7 @@ class UserTrend extends LineChartWidget
return [
'datasets' => [
[
'label' => 'User',
'label' => __('label.user.label'),
'data' => $data->map(fn (TrendValue $value) => $value->aggregate),
],
],
+1 -1
View File
@@ -36,7 +36,7 @@ class Medal extends NexusModel
public function getGetTypeTextAttribute($value): string
{
return self::$getTypeText[$this->get_type]['text'] ?? '';
return nexus_trans("medal.get_types." . $this->get_type);
}
public function users(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.7.17');
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-07-04');
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-07-05');
defined('IN_TRACKER') || define('IN_TRACKER', true);
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
+1
View File
@@ -109,6 +109,7 @@ return [
],
'torrent' => [
'label' => 'Torrent',
'owner' => 'Owner',
'size' => 'Size',
'ttl' => 'TTL',
'seeders' => 'Seeders',
+1
View File
@@ -108,6 +108,7 @@ return [
],
'torrent' => [
'label' => '种子',
'owner' => '发布者',
'size' => '大小',
'ttl' => '存活时间',
'seeders' => '做种',
+1
View File
@@ -109,6 +109,7 @@ return [
],
'torrent' => [
'label' => '種子',
'owner' => '發布者',
'size' => '大小',
'ttl' => '存活時間',
'seeders' => '做种',