mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 20:40:49 +08:00
admin user add link + upload over speed msg
This commit is contained in:
@@ -12,6 +12,7 @@ use Filament\Resources\Table;
|
||||
use Filament\Tables;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class UsernameChangeLogResource extends Resource
|
||||
{
|
||||
@@ -50,8 +51,15 @@ class UsernameChangeLogResource extends Resource
|
||||
Tables\Columns\TextColumn::make('uid')->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')->searchable()->label(__('label.username')),
|
||||
Tables\Columns\TextColumn::make('username_old')->searchable()->label(__('username-change-log.labels.username_old')),
|
||||
Tables\Columns\TextColumn::make('username_new')->searchable()->label(__('username-change-log.labels.username_new')),
|
||||
Tables\Columns\TextColumn::make('operator')->searchable()->label(__('label.operator')),
|
||||
Tables\Columns\TextColumn::make('username_new')
|
||||
->searchable()
|
||||
->label(__('username-change-log.labels.username_new'))
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true)))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('operator')
|
||||
->searchable()
|
||||
->label(__('label.operator'))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('created_at')->label(__('label.created_at'))->formatStateUsing(fn ($state) => format_datetime($state)),
|
||||
|
||||
])
|
||||
|
||||
@@ -103,8 +103,7 @@ class TorrentResource extends Resource
|
||||
Tables\Columns\TextColumn::make('added')->label(__('label.added'))->dateTime(),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->label(__('label.torrent.owner'))
|
||||
->url(fn ($record) => sprintf('/userdetails.php?id=%s', $record->owner))
|
||||
->openUrlInNewTab(true)
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->owner, false, true, true, true)))
|
||||
,
|
||||
])
|
||||
->defaultSort('id', 'desc')
|
||||
|
||||
@@ -13,6 +13,7 @@ use Filament\Tables;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class ClaimResource extends Resource
|
||||
{
|
||||
@@ -48,7 +49,11 @@ class ClaimResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id')->sortable(),
|
||||
Tables\Columns\TextColumn::make('uid')->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')->label(__('label.user.label'))->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->label(__('label.user.label'))
|
||||
->searchable()
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true)))
|
||||
,
|
||||
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())),
|
||||
|
||||
@@ -16,6 +16,7 @@ use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class ExamUserResource extends Resource
|
||||
{
|
||||
@@ -51,7 +52,11 @@ class ExamUserResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id')->sortable(),
|
||||
Tables\Columns\TextColumn::make('uid')->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')->label(__('label.username'))->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->label(__('label.username'))
|
||||
->searchable()
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true)))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('exam.name')->label(__('label.exam.label')),
|
||||
Tables\Columns\TextColumn::make('begin')->label(__('label.begin'))->dateTime(),
|
||||
Tables\Columns\TextColumn::make('end')->label(__('label.end'))->dateTime(),
|
||||
|
||||
@@ -15,6 +15,7 @@ use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class HitAndRunResource extends Resource
|
||||
{
|
||||
@@ -42,7 +43,12 @@ class HitAndRunResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id')->sortable(),
|
||||
Tables\Columns\TextColumn::make('uid')->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')->searchable()->label(__('label.username')),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->searchable()
|
||||
->label(__('label.username'))
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true)))
|
||||
,
|
||||
|
||||
Tables\Columns\TextColumn::make('torrent.name')->limit(30)->label(__('label.torrent.label')),
|
||||
Tables\Columns\TextColumn::make('snatch.uploadText')->label(__('label.uploaded')),
|
||||
Tables\Columns\TextColumn::make('snatch.downloadText')->label(__('label.downloaded')),
|
||||
|
||||
@@ -12,6 +12,7 @@ use Filament\Resources\Table;
|
||||
use Filament\Tables;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class UserMedalResource extends Resource
|
||||
{
|
||||
@@ -47,7 +48,11 @@ class UserMedalResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id')->sortable(),
|
||||
Tables\Columns\TextColumn::make('uid')->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')->label(__('label.username'))->searchable(),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->label(__('label.username'))
|
||||
->searchable()
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true)))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('medal.name')->label(__('label.medal.label'))->searchable(),
|
||||
Tables\Columns\ImageColumn::make('medal.image_large')->label(__('label.image')),
|
||||
Tables\Columns\TextColumn::make('expire_at')->label(__('label.expire_at'))->dateTime(),
|
||||
|
||||
@@ -61,7 +61,7 @@ class UserResource extends Resource
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id')->sortable()->searchable(),
|
||||
Tables\Columns\TextColumn::make('username')->searchable()->label(__("label.user.username"))
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, false, true))),
|
||||
->formatStateUsing(fn ($record) => new HtmlString(get_username($record->id, false, true, true, true))),
|
||||
Tables\Columns\TextColumn::make('email')->searchable()->label(__("label.email")),
|
||||
Tables\Columns\TextColumn::make('class')->label('Class')
|
||||
->formatStateUsing(fn(Tables\Columns\Column $column) => $column->getRecord()->classText)
|
||||
|
||||
@@ -26,6 +26,11 @@ class HitAndRun extends NexusModel
|
||||
self::STATUS_PARDONED => ['text' => 'Pardoned'],
|
||||
];
|
||||
|
||||
const CAN_PARDON_STATUS = [
|
||||
self::STATUS_INSPECTING,
|
||||
self::STATUS_UNREACHED,
|
||||
];
|
||||
|
||||
const MODE_DISABLED = 'disabled';
|
||||
const MODE_MANUAL = 'manual';
|
||||
const MODE_GLOBAL = 'global';
|
||||
|
||||
@@ -464,7 +464,7 @@ class HitAndRunRepository extends BaseRepository
|
||||
|
||||
private function getCanPardonStatus(): array
|
||||
{
|
||||
return [HitAndRun::STATUS_INSPECTING, HitAndRun::STATUS_UNREACHED];
|
||||
return HitAndRun::CAN_PARDON_STATUS;
|
||||
}
|
||||
|
||||
public function renderOnUploadPage($value, $searchBoxId): string
|
||||
|
||||
@@ -593,7 +593,7 @@ class TrackerRepository extends BaseRepository
|
||||
$notSeedBoxMaxSpeedMbps = Setting::get('seed_box.not_seed_box_max_speed');
|
||||
do_log("upSpeedMbps: $upSpeedMbps, notSeedBoxMaxSpeedMbps: $notSeedBoxMaxSpeedMbps");
|
||||
if ($upSpeedMbps > $notSeedBoxMaxSpeedMbps) {
|
||||
(new \App\Repositories\UserRepository())->updateDownloadPrivileges(null, $user, 'no');
|
||||
(new \App\Repositories\UserRepository())->updateDownloadPrivileges(null, $user, 'no', 'upload_over_speed');
|
||||
do_log("user: {$user->id} downloading privileges have been disabled! (over speed)", 'error');
|
||||
throw new TrackerException("Your downloading privileges have been disabled! (over speed)");
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ class UserRepository extends BaseRepository
|
||||
}
|
||||
|
||||
|
||||
public function updateDownloadPrivileges($operator, $user, $status)
|
||||
public function updateDownloadPrivileges($operator, $user, $status, $disableReasonKey = null)
|
||||
{
|
||||
if (!in_array($status, ['yes', 'no'])) {
|
||||
throw new \InvalidArgumentException("Invalid status: $status");
|
||||
@@ -345,8 +345,12 @@ class UserRepository extends BaseRepository
|
||||
if ($status == 'no') {
|
||||
$update = ['downloadpos' => 'no'];
|
||||
$modComment = date('Y-m-d') . " - Download disable by " . $operatorUsername;
|
||||
$message['subject'] = nexus_trans('message.download_disable.subject', [], $targetUser->locale);
|
||||
$message['msg'] = nexus_trans('message.download_disable.body', ['operator' => $operatorUsername], $targetUser->locale);
|
||||
$msgTransPrefix = "message.download_disable";
|
||||
if ($disableReasonKey !== null) {
|
||||
$msgTransPrefix .= "_$disableReasonKey";
|
||||
}
|
||||
$message['subject'] = nexus_trans("$msgTransPrefix.subject", [], $targetUser->locale);
|
||||
$message['msg'] = nexus_trans("$msgTransPrefix.body", ['operator' => $operatorUsername], $targetUser->locale);
|
||||
} else {
|
||||
$update = ['downloadpos' => 'yes'];
|
||||
$modComment = date('Y-m-d') . " - Download enable by " . $operatorUsername;
|
||||
|
||||
Reference in New Issue
Block a user