From 462df82f669b08f354082ece1bf419227badfa2c Mon Sep 17 00:00:00 2001 From: David Sevilla Martin Date: Thu, 17 Jun 2021 09:39:54 -0400 Subject: [PATCH] Use Flarum Paths class to determine path to assets folder Fixes #23 --- src/Mailer.php | 13 ++++++++++++- src/Overrides/NotificationMailer.php | 7 +++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Mailer.php b/src/Mailer.php index c7e73c7..6e9e895 100644 --- a/src/Mailer.php +++ b/src/Mailer.php @@ -12,10 +12,14 @@ namespace FoF\PrettyMail; +use Flarum\Foundation\Paths; use Flarum\Http\UrlGenerator; use Flarum\Settings\SettingsRepositoryInterface; +use Illuminate\Contracts\Events\Dispatcher; +use Illuminate\Contracts\View\Factory; use Illuminate\Mail\Mailer as LaravelMailer; use s9e\TextFormatter\Bundles\Fatdown; +use Swift_Mailer; class Mailer extends LaravelMailer { @@ -24,7 +28,14 @@ class Mailer extends LaravelMailer * * @var string */ - protected $assets_dir = (__DIR__.'/../../../public/assets/'); + protected $assets_dir; + + public function __construct(string $name, Factory $views, Swift_Mailer $swift, Dispatcher $events = null) + { + parent::__construct($name, $views, $swift, $events); + + $this->assets_dir = resolve(Paths::class)->public . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR; + } public function raw($text, $callback, $use_fatdown = true) { diff --git a/src/Overrides/NotificationMailer.php b/src/Overrides/NotificationMailer.php index ba794fa..212df34 100644 --- a/src/Overrides/NotificationMailer.php +++ b/src/Overrides/NotificationMailer.php @@ -12,6 +12,7 @@ namespace FoF\PrettyMail\Overrides; +use Flarum\Foundation\Paths; use Flarum\Http\UrlGenerator; use Flarum\Notification\MailableInterface; use Flarum\Settings\SettingsRepositoryInterface; @@ -43,15 +44,17 @@ class NotificationMailer extends \Flarum\Notification\NotificationMailer * * @var string */ - protected $assets_dir = (__DIR__.'/../../../../public/assets/'); + protected $assets_dir; - public function __construct(Mailer $mailer, View $view, SettingsRepositoryInterface $settings, TranslatorInterface $translator, UrlGenerator $url) + public function __construct(Mailer $mailer, View $view, SettingsRepositoryInterface $settings, TranslatorInterface $translator, UrlGenerator $url, Paths $paths) { parent::__construct($mailer, $translator); $this->view = $view; $this->settings = $settings; $this->url = $url; + + $this->assets_dir = $paths->public . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR; } /**