Skip to content

Commit d88d956

Browse files
authored
Merge pull request #4929 from HDInnovations/development
(Release) UNIT3D v9.1.6
2 parents b4d94a5 + 4524d2f commit d88d956

File tree

225 files changed

+7269
-4936
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+7269
-4936
lines changed

.cspell/brands.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ limewire
1010
mal
1111
mediainfo
1212
phpstorm
13+
rottentomatoes
1314
shareaza
1415
tmdb
1516
tvdb

app/Console/Commands/AutoRemoveTimedTorrentBuffs.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,13 @@ final public function handle(): void
7171
Unit3dAnnounce::addTorrent($torrent);
7272
}
7373

74-
Torrent::query()->whereNotNull('bumped_at')->where('bumped_at', '<', now()->subWeek())->update([
75-
'bumped_at' => DB::raw('created_at'),
76-
]);
74+
Torrent::query()
75+
->whereNotNull('bumped_at')
76+
->where('bumped_at', '<', now()->subWeek())
77+
->whereColumn('bumped_at', '!=', 'created_at')
78+
->update([
79+
'bumped_at' => DB::raw('created_at'),
80+
]);
7781

7882
$this->comment('Automated Removal Of Expired Torrent Buffs Command Complete');
7983
}

app/DTO/TorrentSearchFiltersDTO.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,10 @@ final public function toMeilisearchFilter(): array
448448
$filters[] = 'user.username = '.json_encode($this->uploader);
449449

450450
if (!$group->is_modo) {
451-
$filters[] = 'anon = false';
451+
$filters[] = [
452+
'anon = false',
453+
'user.username = '.json_encode($this->user->username),
454+
];
452455
}
453456
}
454457

app/Helpers/Bbcode.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ class Bbcode
183183
'code' => [
184184
'openBbcode' => '/^\[code\]/i',
185185
'closeBbcode' => '[/code]',
186-
'openHtml' => '<pre>',
187-
'closeHtml' => '</pre>',
186+
'openHtml' => '<div class="bbcode-rendered__clipboard" x-data="clipboardButton"><pre><code>',
187+
'closeHtml' => '</code></pre><div class="bbcode-rendered__clipboard-container"><button class="bbcode-rendered__clipboard-button" x-bind="button"><i class="fa fa-clone"></i></button></div></div>',
188188
'block' => true,
189189
],
190190
'pre' => [

app/Helpers/Helpers.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ function href_request(App\Models\TorrentRequest $torrentRequest): string
5656
}
5757
}
5858

59+
if (!\function_exists('href_rottentomatoes')) {
60+
function href_rottentomatoes(string|null $title, string|null $date): string
61+
{
62+
$year = substr($date ?? '', 0, 4);
63+
$query = "{$title} ({$year}) site:rottentomatoes.com";
64+
65+
return "https://html.duckduckgo.com/html/?q=\\".rawurlencode($query);
66+
}
67+
}
68+
5969
if (!\function_exists('href_poll')) {
6070
function href_poll(App\Models\Poll $poll): string
6171
{

app/Helpers/TorrentTools.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public static function normalizeTorrent(UploadedFile $torrentFile)
4848

4949
$result['info']['source'] = config('torrent.source');
5050
$result['info']['private'] = 1;
51+
$result['info']['entropy'] = bin2hex(random_bytes(64));
5152

5253
if (config('torrent.created_by_append') && \array_key_exists('created by', $result)) {
5354
$result['created by'] = trim((string) $result['created by'], '. ').'. '.config('torrent.created_by', '');

app/Http/Controllers/API/ChatController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ public function toggleBotAudible(Request $request): \Illuminate\Http\JsonRespons
420420
}
421421

422422
/* USERS */
423-
public function updateUserChatStatus(Request $request): \Illuminate\Http\JsonResponse
423+
public function updateUserChatStatus(Request $request): \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
424424
{
425425
$user = $request->user();
426426
$user->load(['chatStatus', 'chatroom', 'group', 'echoes']);
@@ -432,7 +432,7 @@ public function updateUserChatStatus(Request $request): \Illuminate\Http\JsonRes
432432
$user->chatStatus()->associate($status);
433433
$user->save();
434434

435-
return response()->json($user);
435+
return response('success');
436436
}
437437

438438
public function updateUserRoom(Request $request): \Illuminate\Http\JsonResponse

app/Http/Controllers/API/QuickSearchController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class QuickSearchController extends Controller
2727
{
2828
public function index(Request $request): \Illuminate\Http\JsonResponse
2929
{
30-
$query = $request->input('query');
30+
$query = $request->input('query', '');
3131

3232
$filters = [
3333
'deleted_at IS NULL',

app/Http/Controllers/API/TorrentController.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,6 @@ function (Indexes $meilisearch, string $query, array $options) use ($request, $f
671671
'media_info' => $hit['mediainfo'],
672672
'bd_info' => $hit['bdinfo'],
673673
'description' => $hit['description'],
674-
'info_hash' => $hit['info_hash'],
675674
'size' => $hit['size'],
676675
'num_file' => $hit['num_file'],
677676
'files' => $hit['files'],
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* NOTICE OF LICENSE.
7+
*
8+
* UNIT3D Community Edition is open-sourced software licensed under the GNU Affero General Public License v3.0
9+
* The details is bundled with this project in the file LICENSE.txt.
10+
*
11+
* @project UNIT3D Community Edition
12+
*
13+
* @author HDVinnie <hdinnovations@protonmail.com>
14+
* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0
15+
*/
16+
17+
namespace App\Http\Controllers\API;
18+
19+
use App\Http\Controllers\Controller;
20+
use App\Http\Resources\TorrentRequestResource;
21+
use App\Models\TorrentRequest;
22+
use Illuminate\Http\Request;
23+
24+
class RequestController extends Controller
25+
{
26+
/**
27+
* Request search filter.
28+
*/
29+
public function filter(Request $request): \Illuminate\Http\JsonResponse
30+
{
31+
$query = TorrentRequest::query()
32+
->with(['user', 'claim.user', 'filler'])
33+
->withSum('bounties', 'seedbonus')
34+
->when($request->filled('name'), fn ($query) => $query->where('name', 'LIKE', '%'.str_replace(' ', '%', $request->input('name')).'%'))
35+
->when($request->filled('category_id'), fn ($query) => $query->whereIntegerInRaw('category_id', (array) $request->input('category_id')))
36+
->when($request->filled('type_id'), fn ($query) => $query->whereIntegerInRaw('type_id', (array) $request->input('type_id')))
37+
->when($request->filled('resolution_id'), fn ($query) => $query->whereIntegerInRaw('resolution_id', (array) $request->input('resolution_id')))
38+
->when($request->filled('tmdb'), fn ($query) => $query->whereAny(['tmdb_movie_id', 'tmdb_tv_id'], '=', $request->integer('tmdb')))
39+
->when($request->filled('imdb'), fn ($query) => $query->where('imdb', '=', $request->integer('imdb')))
40+
->when($request->filled('tvdb'), fn ($query) => $query->where('tvdb', '=', $request->integer('tvdb')))
41+
->when($request->filled('mal'), fn ($query) => $query->where('mal', '=', $request->integer('mal')))
42+
->when($request->filled('filled'), fn ($query) => $request->boolean('filled')
43+
? $query->whereNotNull('filled_by')
44+
: $query->whereNull('filled_by'))
45+
->when($request->filled('claimed'), fn ($query) => $request->boolean('claimed')
46+
? $query->whereNotNull('claim')
47+
: $query->whereNull('claim'));
48+
49+
$perPage = min($request->integer('perPage', 25), 100);
50+
$page = max($request->integer('page', 1), 1);
51+
$requests = $query->paginate(
52+
perPage: $perPage,
53+
page: $page
54+
);
55+
56+
return TorrentRequestResource::collection($requests)->response();
57+
}
58+
59+
/**
60+
* View a single request.
61+
*/
62+
public function show(int $id): \Illuminate\Http\JsonResponse
63+
{
64+
$request = TorrentRequest::with(['user', 'claim.user', 'filler'])
65+
->withSum('bounties', 'seedbonus')
66+
->findOrFail($id);
67+
68+
return new TorrentRequestResource($request)->response();
69+
}
70+
}

0 commit comments

Comments
 (0)