diff --git a/resources/views/admin/blacklist/edit.blade.php b/resources/views/admin/blacklist/edit.blade.php new file mode 100644 index 000000000..577fa6cba --- /dev/null +++ b/resources/views/admin/blacklist/edit.blade.php @@ -0,0 +1,203 @@ +@extends('layouts.admin') + +@section('content') +
+ Binaries can be prevented from being added to the index if they match a regex in the blacklist. + They can also be included only if they match a regex (whitelist). + Click Edit or on the blacklist to enable/disable. +
+| ID | +Group | +Description | +Type | +Field | +Status | +Regex | +Last Activity | +Actions | +
|---|---|---|---|---|---|---|---|---|
| {{ $bin->id }} | ++ + {{ str_replace('alt.binaries', 'a.b', $bin->groupname) }} + + | ++ + {{ $bin->description }} + + | ++ @if($bin->optype == 1) + Black + @else + White + @endif + | ++ @if($bin->msgcol == 1) + Subject + @elseif($bin->msgcol == 2) + Poster + @else + MessageID + @endif + | ++ @if($bin->status == 1) + Active + @else + Disabled + @endif + | ++ + | ++ @if($bin->last_activity) + + {{ $bin->last_activity }} + + @else + Never + @endif + | +
+
+
+
+
+
+
+ |
+
Get started by adding your first blacklist entry.
+ + Add New Blacklist + +| + + | ++ + | +Parent | +Min Size | +Max Size | +Status | +Preview | +Actions | +
|---|---|---|---|---|---|---|---|
| {{ $category->id }} | ++ + {{ $category->title }} + + | ++ @if($category->parent) + + {{ $category->parent->title }} + + @else + N/A + @endif + | +
+ @if($category->minsizetoformrelease != 0)
+
+
+ {{ \Blacklight\utility\Utility::bytesToSizeString($category->minsizetoformrelease) }}
+
+ @else
+ —
+ @endif
+ |
+
+ @if($category->maxsizetoformrelease != 0)
+
+
+ {{ \Blacklight\utility\Utility::bytesToSizeString($category->maxsizetoformrelease) }}
+
+ @else
+ —
+ @endif
+ |
+ + + {{ $category->status == 1 ? 'Active' : 'Inactive' }} + + | ++ + {{ $category->disablepreview == 1 ? 'Disabled' : 'Enabled' }} + + | +
+
+
+
+
+
+
+ |
+
| ID | +Title | +URL | +Type | +Role | +Status | +Ordinal | +Actions | +
|---|---|---|---|---|---|---|---|
| {{ $item->id }} | +
+ {{ $item->title }}
+ |
+ + @if(!empty($item->url)) + + {{ Str::limit($item->url, 30) }} + + @else + N/A + @endif + | ++ @if($item->contenttype == 1) + + Useful Link + + @elseif($item->contenttype == 2) + + Article + + @elseif($item->contenttype == 3) + + Homepage + + @else + N/A + @endif + | ++ @if($item->role == 1) + Everyone + @elseif($item->role == 2) + Logged in Users + @elseif($item->role == 3) + Admins + @else + N/A + @endif + | ++ @if($item->status == 1) + + Enabled + + @else + + Disabled + + @endif + | +{{ $item->ordinal ?? 0 }} | ++ + | +
Create your first content to get started.
++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
+| ID | +Title | +Publisher | +Genre | +ESRB | +Release Date | +Cover | +Actions | +
|---|---|---|---|---|---|---|---|
| + {{ $game['id'] ?? 'N/A' }} + | +
+
+ {{ $game['title'] ?? 'N/A' }}
+
+ |
+ + {{ $game['publisher'] ?? 'N/A' }} + | ++ {{ $game['genre'] ?? 'N/A' }} + | ++ {{ $game['esrb'] ?? 'N/A' }} + | ++ @if(!empty($game['releasedate'])) + {{ date('Y-m-d', $game['releasedate']) }} + @else + N/A + @endif + | ++ @if(!empty($game['cover']) && $game['cover'] == 1) + + Yes + + @else + + No + + @endif + | ++ + Edit + + | +
+ @if(!empty($lastSearch)) + No games found matching "{{ $lastSearch }}". + @else + No games found in the database. + @endif +
++ The following groups have been processed. You can now view them in the group list. +
+| Group | +Status | +
|---|---|
|
+
+
+ {{ $group['group'] }}
+
+ |
+ + @if(strpos($group['msg'], 'Error') !== false) + + {{ $group['msg'] }} + + @elseif(strpos($group['msg'], 'exists') !== false) + + {{ $group['msg'] }} + + @else + + {{ $group['msg'] }} + + @endif + | +
+ Enter a regular expression to match multiple groups for bulk addition to the system. +
+{{ $error }}
++ Below is a list of all usenet groups available to be indexed. Click 'Activate' to start indexing a group. + Backfill works independently of active. +
+{{ $msg }}
+| Group | +First Post | +Last Post | +Last Updated | +Status | +Backfill | +Releases | +Min Files | +Min Size | +Backfill Days | +Actions | +
|---|---|---|---|---|---|---|---|---|---|---|
|
+
+ {{ str_replace('alt.binaries', 'a.b', $group->name) }}
+
+ @if($group->description)
+ {{ $group->description }}
+ @endif
+ |
+
+
+ {{ $group->first_record_postdate }}
+ {{ \Carbon\Carbon::parse($group->first_record_postdate)->diffForHumans() }}
+
+ |
+ {{ $group->last_record_postdate }} | ++ {{ \Carbon\Carbon::parse($group->last_updated)->diffForHumans() }} + | ++ @if($group->active == 1) + + @else + + @endif + | ++ @if($group->backfill == 1) + + @else + + @endif + | ++ + {{ $group->num_releases ?? 0 }} + + | ++ @if(empty($group->minfilestoformrelease)) + n/a + @else + + {{ $group->minfilestoformrelease }} + + @endif + | ++ @if(empty($group->minsizetoformrelease)) + n/a + @else + + {{ human_filesize($group->minsizetoformrelease) }} + + @endif + | ++ + {{ $group->backfill_target }} + + | +
+
+
+
+
+
+
+
+
+ |
+
+ Are you sure you want to reset all groups? +
++ This will reset the article pointers for all groups back to their current state. +
++ Are you sure you want to purge all groups? +
++ This will delete all releases and binaries for all groups. This action cannot be undone! +
++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
++ Enter an IMDB ID (numeric only, without the 'tt' prefix) to add movie information to the database. +
+
+ Example: For https://www.imdb.com/title/tt0111161/, enter 0111161
+
+ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
+| IMDB ID | +Title | +Year | +Rating | +Genre | +Cover | +Backdrop | +Actions | +
|---|---|---|---|---|---|---|---|
| + + {{ $movie->imdbid }} + + | +
+ {{ $movie->title ?? 'N/A' }}
+ |
+ + {{ $movie->year ?? 'N/A' }} + | ++ {{ $movie->rating ?? 'N/A' }} + | ++ {{ \Illuminate\Support\Str::limit($movie->genre ?? 'N/A', 30) }} + | ++ @if($movie->cover == 1) + + Yes + + @else + + No + + @endif + | ++ @if($movie->backdrop == 1) + + Yes + + @else + + No + + @endif + | ++ + Edit + + + Update + + | +
+ @if(!empty($lastSearch)) + No movies found matching "{{ $lastSearch }}". + @else + No movies found in the database. + @endif +
+ + Add Your First Movie + ++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
+| IMDB ID | +Title | +Year | +Rating | +Genre | +Cover | +Backdrop | +Actions | +
|---|---|---|---|---|---|---|---|
| + + {{ $movie->imdbid }} + + | +
+ {{ $movie->title ?? 'N/A' }}
+ |
+ + {{ $movie->year ?? 'N/A' }} + | ++ {{ $movie->rating ?? 'N/A' }} + | ++ {{ \Illuminate\Support\Str::limit($movie->genre ?? 'N/A', 30) }} + | ++ @if($movie->cover == 1) + + Yes + + @else + + No + + @endif + | ++ @if($movie->backdrop == 1) + + Yes + + @else + + No + + @endif + | ++ + Edit + + + Update + + | +
+ @if(!empty($lastSearch)) + No movies found matching "{{ $lastSearch }}". + @else + No movies found in the database. + @endif +
+ + Add Your First Movie + ++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
+| ID | +Title | +Artist | +Publisher | +Year | +Genre | +Tracks | +Cover | +Actions | +
|---|---|---|---|---|---|---|---|---|
| + {{ $music['id'] ?? 'N/A' }} + | +
+
+ {{ $music['title'] ?? 'N/A' }}
+
+ |
+ + {{ $music['artist'] ?? 'N/A' }} + | ++ {{ $music['publisher'] ?? 'N/A' }} + | ++ {{ $music['year'] ?? 'N/A' }} + | ++ {{ \Illuminate\Support\Str::limit($music['genre'] ?? 'N/A', 30) }} + | ++ {{ $music['tracks'] ?? 'N/A' }} + | ++ @if(!empty($music['cover']) && $music['cover'] == 1) + + Yes + + @else + + No + + @endif + | ++ + Edit + + | +
+ @if(!empty($lastSearch)) + No music found matching "{{ $lastSearch }}". + @else + No music found in the database. + @endif +
+
+ This page lists regular expressions used for categorizing releases.
+ You can recategorize all releases by running misc/update/update_releases 6 true
+
| ID | +Group | +Description | +Regex | +Ordinal | +Status | +Category | +Actions | +
|---|---|---|---|---|---|---|---|
| {{ $row->id }} | +
+ {{ $row->group_regex }}
+ |
+ + + {{ $row->description }} + + | +
+
+
+
+ {{ htmlspecialchars($row->regex) }}
+
+ |
+ {{ $row->ordinal }} | ++ @if($row->status == 1) + + Active + + @else + + Disabled + + @endif + | ++ + {{ $row->categories_id }} + + | +
+
+
+
+
+
+
+ |
+
+ This page lists regular expressions used for grouping binaries into collections.
+ You can test your regex patterns using the test feature.
+
| ID | +Group | +Description | +Regex | +Ordinal | +Status | +Actions | +
|---|---|---|---|---|---|---|
| {{ $row->id }} | +
+ {{ $row->group_regex }}
+ |
+ + + {{ $row->description }} + + | +
+
+
+
+ {{ htmlspecialchars($row->regex) }}
+
+ |
+ {{ $row->ordinal }} | ++ @if($row->status == 1) + + Active + + @else + + Disabled + + @endif + | +
+
+
+
+
+
+
+ |
+
+ Test your collection regex patterns against actual binary data from your database. +
+| Binary ID | +Subject | +Match | +
|---|---|---|
| + {{ $row['binaryID'] ?? $row['id'] ?? 'N/A' }} + | +
+
+ {{ $row['subject'] ?? '' }}
+
+ |
+
+ @if(isset($row['match']) && $row['match'])
+
+ Match
+
+ @if(isset($row['name']))
+
+ Name: {{ $row['name'] }}
+
+ @endif
+ @else
+
+ No Match
+
+ @endif
+ |
+
+ Tested {{ count($data) }} binaries +
++ Review the matches above to verify your regex pattern is working correctly. +
+No binaries found
++ No binaries found for the specified group or no matches found. Try a different group or regex pattern. +
+
+ This page lists regular expressions used for renaming releases based on their names.
+ You can test your regex patterns using the test feature.
+
| ID | +Group | +Description | +Regex | +Ordinal | +Status | +Actions | +
|---|---|---|---|---|---|---|
| {{ $row->id }} | +
+ {{ $row->group_regex }}
+ |
+ + + {{ $row->description }} + + | +
+
+
+
+ {{ htmlspecialchars($row->regex) }}
+
+ |
+ {{ $row->ordinal }} | ++ @if($row->status == 1) + + Active + + @else + + Disabled + + @endif + | +
+
+
+
+
+
+
+ |
+
+ Test your release naming regex patterns against actual release data from your database. +
+| Release ID | +Original Name | +New Name | +Match | +
|---|---|---|---|
| + {{ $row['releaseID'] ?? $row['id'] ?? 'N/A' }} + | +
+
+ {{ $row['oldName'] ?? $row['name'] ?? '' }}
+
+ |
+
+ @if(isset($row['newName']) && $row['newName'])
+
+ {{ $row['newName'] }}
+
+ @else
+ —
+ @endif
+ |
+ + @if(isset($row['match']) && $row['match']) + + Match + + @else + + No Match + + @endif + | +
+ Tested {{ count($data) }} releases +
++ Review the matches above to verify your regex pattern is working correctly. +
+No releases found
++ No releases found for the specified group or no matches found. Try a different group or regex pattern. +
++ {{ session('success') }} +
++ {{ session('error') }} +
++ {{ session('warning') }} +
+| Name | +Category | +Size | +Files | +Post Date | +Add Date | +Grabs | +Actions | +
|---|---|---|---|---|---|---|---|
| + + {{ \Illuminate\Support\Str::limit($release->searchname, 50) }} + + | ++ + {{ $release->category_name ?? 'Unknown' }} + + | ++ + {{ human_filesize($release->size) }} + + | ++ + {{ $release->totalpart ?? 0 }} + + | +
+
+
+
+ {{ \Carbon\Carbon::parse($release->postdate)->format('Y-m-d H:i') }}
+
+
+ |
+
+
+
+
+ {{ \Carbon\Carbon::parse($release->adddate)->format('Y-m-d H:i') }}
+
+
+ |
+ + + {{ $release->grabs ?? 0 }} + + | ++ + | +
+ @if(request('failrelsearch')) + No failed releases found matching "{{ request('failrelsearch') }}". + @else + No failed releases found. Great job! + @endif +
++ {{ session('success') }} +
++ {{ session('error') }} +
+| ID | +Name | +Category | +Size | +Files | +Posted | +Added | +Grabs | +Actions | +
|---|---|---|---|---|---|---|---|---|
| {{ $release->id }} | +
+
+ {{ $release->searchname }}
+
+
+ {{ $release->name }}
+
+ |
+ + + {{ $release->category_name ?? 'N/A' }} + + | ++ {{ number_format($release->size / 1073741824, 2) }} GB + | ++ {{ $release->totalpart ?? 0 }} + | ++ {{ \Carbon\Carbon::parse($release->postdate)->format('Y-m-d H:i') }} + | ++ {{ \Carbon\Carbon::parse($release->adddate)->format('Y-m-d H:i') }} + | ++ {{ $release->grabs ?? 0 }} + | ++ + | +
No releases are currently available in the system.
+| ID | +Role Name | +API Requests | +Download Requests | +Default Invites | +Rate Limit | +Default | +Actions | +
|---|---|---|---|---|---|---|---|
| {{ $role->id }} | +
+ {{ $role->name }}
+ |
+ {{ $role->apirequests ?? 'N/A' }} | +{{ $role->downloadrequests ?? 'N/A' }} | +{{ $role->defaultinvites ?? 0 }} | +{{ $role->rate_limit ?? 60 }} | ++ @if($role->isdefault) + + Yes + + @else + + No + + @endif + | ++ + | +
Create your first role to get started.
++ {{ session('success') }} +
++ {{ $error }} +
+| Username | +Grabs | +
|---|---|
| {{ $grab->username }} | +{{ $grab->grabs }} | +
| Release | +Downloads | +
|---|---|
| {{ $download->searchname }} | +{{ $download->grabs }} | +
| Date | +Releases | +
|---|---|
| {{ $item->thedate }} | +{{ $item->num }} | +
| Month | +Signups | +
|---|---|
| {{ $month->mth }} | +{{ $month->num }} | +
| Role | +Count | +
|---|---|
| {{ $role->name }} | +{{ $role->num }} | +
Statistics will appear here once data is collected.
++ {{ session('success') }} +
++ {{ session('success') }} +
++ {{ session('error') }} +
+There are no soft-deleted users matching your filters.
++ {{ $error }} +
++ + User "{{ request()->input('username') }}" has been deleted successfully. +
++ {{ session('success') }} +
++ {{ session('error') }} +
+| ID | +Username | +Role | +Host | +Country | +Verified | +Created | +Actions | +|
|---|---|---|---|---|---|---|---|---|
| {{ $user->id }} | +
+ {{ $user->username }}
+ |
+ {{ $user->email }} | ++ + {{ $user->roles->first()->name ?? 'N/A' }} + + | +{{ $user->host ?? 'N/A' }} | ++ @if(!empty($user->country_code)) + {{ $user->country_code }} + @else + N/A + @endif + | ++ @if($user->verified) + + Yes + + @else + + No + + @endif + | ++ {{ $user->created_at ? $user->created_at->format('Y-m-d') : 'N/A' }} + | ++ + | +
Try adjusting your search filters or add a new user.
+