diff --git a/app/Http/Controllers/LinkActionsController.php b/app/Http/Controllers/LinkActionsController.php index c276336..5f94119 100644 --- a/app/Http/Controllers/LinkActionsController.php +++ b/app/Http/Controllers/LinkActionsController.php @@ -62,7 +62,7 @@ class LinkActionsController extends Controller /** @var Link $link */ $link = Link::findOrFail($id); - if (empty($request->user()) && $link->post->is_private) { + if (false === $link->canDownloadArchive()) { abort(404); } diff --git a/app/Http/Controllers/LinkController.php b/app/Http/Controllers/LinkController.php index a757de9..23e9e64 100644 --- a/app/Http/Controllers/LinkController.php +++ b/app/Http/Controllers/LinkController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Link; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; class LinkController extends Controller { @@ -45,6 +46,10 @@ class LinkController extends Controller /** @var Link $link */ $link = Link::with('post')->findOrFail($id); + if ($link->hasArchive()) { + Storage::disk('archives')->delete($link->archive); + } + $link->delete(); $link->post->delete(); diff --git a/app/Link.php b/app/Link.php index 55e167b..0e81f70 100644 --- a/app/Link.php +++ b/app/Link.php @@ -73,7 +73,13 @@ class Link extends Model implements Feedable return false; } - if (app('shaarli')->getPrivateArchive() === true && auth()->check() === false) { + if ($this->post->is_private + && auth()->check() === false) { + return false; + } + + if (app('shaarli')->getPrivateArchive() === true + && auth()->check() === false) { return false; } diff --git a/app/Services/Shaarli/Shaarli.php b/app/Services/Shaarli/Shaarli.php index d5a198e..ac478cd 100644 --- a/app/Services/Shaarli/Shaarli.php +++ b/app/Services/Shaarli/Shaarli.php @@ -15,7 +15,7 @@ use Spatie\Valuestore\Valuestore; class Shaarli { /** @var string VERSION */ - public const VERSION = '1.0.0'; + public const VERSION = '1.1.1'; /** @var Application $app */ protected $app; /** @var Valuestore $settings */ diff --git a/changelog.md b/changelog.md index b9bcf28..e1e0777 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # 1.1.0 +## Fixed + +- Deleting a link will also delete its archive +- Prevent link archive download when "private archive" option is set to true + +# 1.1.0 + ## Added - Link can now be archived using Puppeteer or Youtube-dl