mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-24 12:07:23 +08:00
searchbox record support filter by ip
This commit is contained in:
@@ -15,6 +15,7 @@ use Filament\Tables;
|
|||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||||
use phpDocumentor\Reflection\DocBlock\Tags\See;
|
use phpDocumentor\Reflection\DocBlock\Tags\See;
|
||||||
|
use PhpIP\IP;
|
||||||
|
|
||||||
class SeedBoxRecordResource extends Resource
|
class SeedBoxRecordResource extends Resource
|
||||||
{
|
{
|
||||||
@@ -60,7 +61,17 @@ class SeedBoxRecordResource extends Resource
|
|||||||
Tables\Columns\TextColumn::make('bandwidth')->label(__('label.seed_box_record.bandwidth')),
|
Tables\Columns\TextColumn::make('bandwidth')->label(__('label.seed_box_record.bandwidth')),
|
||||||
Tables\Columns\TextColumn::make('ip')
|
Tables\Columns\TextColumn::make('ip')
|
||||||
->label(__('label.seed_box_record.ip'))
|
->label(__('label.seed_box_record.ip'))
|
||||||
->searchable()
|
->searchable(true, function (Builder $query, $search) {
|
||||||
|
try {
|
||||||
|
$ip = IP::create($search);
|
||||||
|
$ipNumeric = $ip->numeric();
|
||||||
|
return $query->orWhere(function (Builder $query) use ($ipNumeric) {
|
||||||
|
return $query->where('ip_begin_numeric', '<=', $ipNumeric)->where('ip_end_numeric', '>=', $ipNumeric);
|
||||||
|
});
|
||||||
|
} catch (\Exception $exception) {
|
||||||
|
do_log("Invalid IP: $search, error: " . $exception->getMessage());
|
||||||
|
}
|
||||||
|
})
|
||||||
->formatStateUsing(fn ($record) => $record->ip ?: sprintf('%s ~ %s', $record->ip_begin, $record->ip_end)),
|
->formatStateUsing(fn ($record) => $record->ip ?: sprintf('%s ~ %s', $record->ip_begin, $record->ip_end)),
|
||||||
Tables\Columns\TextColumn::make('comment')->label(__('label.comment')),
|
Tables\Columns\TextColumn::make('comment')->label(__('label.comment')),
|
||||||
Tables\Columns\BadgeColumn::make('status')
|
Tables\Columns\BadgeColumn::make('status')
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.7.27');
|
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.7.27');
|
||||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-09-19');
|
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-09-20');
|
||||||
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
||||||
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
||||||
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
||||||
|
|||||||
Reference in New Issue
Block a user