DMCA
This commit is contained in:
@@ -30,7 +30,7 @@ class StreamApiController extends Controller
|
|||||||
'poster' => $episode->gallery()->first()->image_url,
|
'poster' => $episode->gallery()->first()->image_url,
|
||||||
'interpolated' => $episode->interpolated,
|
'interpolated' => $episode->interpolated,
|
||||||
'interpolated_uhd' => $episode->interpolated_uhd,
|
'interpolated_uhd' => $episode->interpolated_uhd,
|
||||||
'stream_url' => $episode->url,
|
'stream_url' => $episode->dmca_takedown ? 'stuff/dmca' : $episode->url,
|
||||||
'stream_domains' => config('hstream.stream_domain'),
|
'stream_domains' => config('hstream.stream_domain'),
|
||||||
'asia_stream_domains' => config('hstream.asia_stream_domain'),
|
'asia_stream_domains' => config('hstream.asia_stream_domain'),
|
||||||
'extra_subtitles' => $subtitles
|
'extra_subtitles' => $subtitles
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ class EpisodeService
|
|||||||
$episode->interpolated = $request->input('interpolated') == 'yes';
|
$episode->interpolated = $request->input('interpolated') == 'yes';
|
||||||
$episode->interpolated_uhd = $request->input('downloadUHDi1') ? true : false;
|
$episode->interpolated_uhd = $request->input('downloadUHDi1') ? true : false;
|
||||||
$episode->is_dvd_aspect = $request->input('dvd') == 'yes';
|
$episode->is_dvd_aspect = $request->input('dvd') == 'yes';
|
||||||
|
$episode->dmca_takedown = $request->input('dmca_takedown') == 'true';
|
||||||
$episode->save();
|
$episode->save();
|
||||||
|
|
||||||
// Tagging
|
// Tagging
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('episodes', function (Blueprint $table) {
|
||||||
|
$table->boolean('dmca_takedown')->default(0)->after('interpolated_uhd');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('episodes', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('dmca_takedown');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -104,6 +104,13 @@
|
|||||||
v2 Re-Release Notification
|
v2 Re-Release Notification
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="inline-block mr-2">
|
||||||
|
<input class="w-4 h-4 text-rose-600 bg-gray-100 border-gray-300 rounded focus:ring-rose-500 dark:focus:ring-rose-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"
|
||||||
|
type="checkbox" value="true" id="dmca_takedown" name="dmca_takedown" />
|
||||||
|
<label class="inline-block hover:cursor-pointer dark:text-white" for="dmca_takedown">
|
||||||
|
DMCA Takedown
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
<button type="button" class="inline-block px-6 pt-2.5 pb-2 text-xs font-medium leading-normal uppercase rounded transition duration-150 ease-in-out bg-primary-100 text-primary-700 hover:bg-primary-accent-100 focus:bg-primary-accent-100 focus:outline-none focus:ring-0 active:bg-primary-accent-200" data-te-modal-dismiss data-te-ripple-init data-te-ripple-color="light">
|
<button type="button" class="inline-block px-6 pt-2.5 pb-2 text-xs font-medium leading-normal uppercase rounded transition duration-150 ease-in-out bg-primary-100 text-primary-700 hover:bg-primary-accent-100 focus:bg-primary-accent-100 focus:outline-none focus:ring-0 active:bg-primary-accent-200" data-te-modal-dismiss data-te-ripple-init data-te-ripple-color="light">
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -85,10 +85,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
@if(!$episode->dmca_takedown)
|
||||||
<a data-te-toggle="modal" data-te-target="#modalDownload" id="reloadCaptchaModal"
|
<a data-te-toggle="modal" data-te-target="#modalDownload" id="reloadCaptchaModal"
|
||||||
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">
|
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">
|
||||||
<i class="fa-solid fa-download pr-[4px]"></i> {{ __('stream.download') }}
|
<i class="fa-solid fa-download pr-[4px]"></i> {{ __('stream.download') }}
|
||||||
</a>
|
</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
<a data-te-toggle="modal" data-te-target="#modalShare"
|
<a data-te-toggle="modal" data-te-target="#modalShare"
|
||||||
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">
|
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
<div class="block">
|
<div class="block">
|
||||||
<div id="player-alert" class="hidden mb-4 rounded-lg bg-danger-100 px-6 py-5 text-base text-danger-700" role="alert">
|
<div id="player-alert" class="hidden mb-4 rounded-lg bg-danger-100 px-6 py-5 text-base text-danger-700" role="alert">
|
||||||
</div>
|
</div>
|
||||||
|
@if($episode->dmca_takedown)
|
||||||
|
<div class="mb-4 rounded-lg bg-danger-400 px-6 py-5 text-base text-danger-800 mt-5" role="alert">
|
||||||
|
(╥﹏╥) This episode is unavailable! (DMCA Takedown) (╥﹏╥)
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
<canvas id="ambientVideo" class="decoy"></canvas>
|
<canvas id="ambientVideo" class="decoy"></canvas>
|
||||||
<div class="relative w-full aspect-[16/9]">
|
<div class="relative w-full aspect-[16/9]">
|
||||||
<video id="player" playsinline controls crossorigin class="absolute inset-0 w-full h-full"></video>
|
<video id="player" playsinline controls crossorigin class="absolute inset-0 w-full h-full"></video>
|
||||||
|
|||||||
Reference in New Issue
Block a user