diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 9e02ce8bc..cfb0aa9f1 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -22,12 +22,13 @@ class Helper * @since [v2.0] * @return string */ - public static function parseEscapedMarkedown($str) + public static function parseEscapedMarkedown($str = null) { $Parsedown = new \Parsedown(); + $Parsedown->setSafeMode(true); if ($str) { - return $Parsedown->text(e($str)); + return $Parsedown->text($str); } } diff --git a/app/Models/Accessory.php b/app/Models/Accessory.php index 42b548132..1f2f50463 100755 --- a/app/Models/Accessory.php +++ b/app/Models/Accessory.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Helpers\Helper; use App\Models\Traits\Acceptable; use App\Models\Traits\Searchable; use App\Presenters\Presentable; @@ -299,15 +300,14 @@ class Accessory extends SnipeModel */ public function getEula() { - $Parsedown = new \Parsedown(); if ($this->category->eula_text) { - return $Parsedown->text(e($this->category->eula_text)); + return Helper::parseEscapedMarkedown($this->category->eula_text); } elseif ((Setting::getSettings()->default_eula_text) && ($this->category->use_default_eula == '1')) { - return $Parsedown->text(e(Setting::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text); } - return null; + return null; } /** diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 14613149a..fe60a0b71 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -5,6 +5,7 @@ namespace App\Models; use App\Events\AssetCheckedOut; use App\Events\CheckoutableCheckedOut; use App\Exceptions\CheckoutNotAllowed; +use App\Helpers\Helper; use App\Http\Traits\UniqueSerialTrait; use App\Http\Traits\UniqueUndeletedTrait; use App\Models\Traits\Acceptable; @@ -875,13 +876,12 @@ class Asset extends Depreciable */ public function getEula() { - $Parsedown = new \Parsedown(); - + if (($this->model) && ($this->model->category)) { if ($this->model->category->eula_text) { - return $Parsedown->text(e($this->model->category->eula_text)); + return Helper::parseEscapedMarkedown($this->model->category->eula_text); } elseif ($this->model->category->use_default_eula == '1') { - return $Parsedown->text(e(Setting::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text); } else { return false; } diff --git a/app/Models/Category.php b/app/Models/Category.php index 6445dec5c..f339debfe 100755 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Facades\Gate; use Watson\Validating\ValidatingTrait; +use App\Helpers\Helper; /** * Model for Categories. Categories are a higher-level group @@ -207,12 +208,11 @@ class Category extends SnipeModel */ public function getEula() { - $Parsedown = new \Parsedown(); if ($this->eula_text) { - return $Parsedown->text(e($this->eula_text)); + return Helper::parseEscapedMarkedown($this->eula_text); } elseif ((Setting::getSettings()->default_eula_text) && ($this->use_default_eula == '1')) { - return $Parsedown->text(e(Setting::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text); } else { return null; } diff --git a/app/Models/Consumable.php b/app/Models/Consumable.php index 6607ca586..ac4b8fd9d 100644 --- a/app/Models/Consumable.php +++ b/app/Models/Consumable.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Helpers\Helper; use App\Models\Traits\Acceptable; use App\Models\Traits\Searchable; use App\Presenters\Presentable; @@ -265,12 +266,10 @@ class Consumable extends SnipeModel */ public function getEula() { - $Parsedown = new \Parsedown(); - if ($this->category->eula_text) { - return $Parsedown->text(e($this->category->eula_text)); + return Helper::parseEscapedMarkedown($this->category->eula_text); } elseif ((Setting::getSettings()->default_eula_text) && ($this->category->use_default_eula == '1')) { - return $Parsedown->text(e(Setting::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text); } else { return null; } diff --git a/app/Models/License.php b/app/Models/License.php index 58b4854a3..d0e6f5c96 100755 --- a/app/Models/License.php +++ b/app/Models/License.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Helpers\Helper; use App\Models\Traits\Searchable; use App\Presenters\Presentable; use Carbon\Carbon; @@ -337,12 +338,11 @@ class License extends Depreciable */ public function getEula() { - $Parsedown = new \Parsedown(); if ($this->category->eula_text) { - return $Parsedown->text(e($this->category->eula_text)); + return Helper::parseEscapedMarkedown($this->category->eula_text); } elseif ($this->category->use_default_eula == '1') { - return $Parsedown->text(e(Setting::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text); } else { return false; } diff --git a/app/Models/Setting.php b/app/Models/Setting.php index 0c3587977..06083ad50 100755 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -8,9 +8,10 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Support\Collection; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; -use Parsedown; +use App\Helpers\Helper; use Watson\Validating\ValidatingTrait; + /** * Settings model. */ @@ -135,7 +136,6 @@ class Setting extends Model public function lar_ver(): string { $app = App::getFacadeApplication(); - return $app::VERSION; } @@ -147,9 +147,7 @@ class Setting extends Model public static function getDefaultEula(): ?string { if (self::getSettings()->default_eula_text) { - $parsedown = new Parsedown(); - - return $parsedown->text(e(self::getSettings()->default_eula_text)); + return Helper::parseEscapedMarkedown(self::getSettings()->default_eula_text); } return null; diff --git a/app/Presenters/AssetModelPresenter.php b/app/Presenters/AssetModelPresenter.php index 78e0776ac..4d02e3809 100644 --- a/app/Presenters/AssetModelPresenter.php +++ b/app/Presenters/AssetModelPresenter.php @@ -2,6 +2,8 @@ namespace App\Presenters; +use App\Helpers\Helper; + /** * Class AssetModelPresenter */ @@ -159,10 +161,8 @@ class AssetModelPresenter extends Presenter */ public function note() { - $Parsedown = new \Parsedown(); - if ($this->model->note) { - return $Parsedown->text($this->model->note); + return Helper::parseEscapedMarkedown($this->model->note); } } diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index b0db61730..644443a6d 100755 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -28,7 +28,7 @@ @if ($snipeSettings->login_note)
- {!! Parsedown::instance()->text(e($snipeSettings->login_note)) !!} + {!! Helper::parseEscapedMarkedown($snipeSettings->login_note) !!}
@endif diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index f4e8cc714..241ec597b 100755 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -17,7 +17,7 @@
- {!! Parsedown::instance()->text(e($snipeSettings->dashboard_message)) !!} + {!! Helper::parseEscapedMarkedown($snipeSettings->dashboard_message) !!}
diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 6d27fd184..ac29b3bb6 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -827,7 +827,7 @@ @if ($snipeSettings->footer_text!='')
- {!! Parsedown::instance()->text(e($snipeSettings->footer_text)) !!} + {!! Helper::parseEscapedMarkedown($snipeSettings->footer_text) !!}
@endif