diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php
index 5e954a24c55b..fdc922fc7a80 100644
--- a/app/Helpers/Helper.php
+++ b/app/Helpers/Helper.php
@@ -82,6 +82,13 @@ class Helper
'zu' => 'zu-ZA', // Zulu
];
+ public static function hasRtl($value) {
+ $rtlChar = '/[\x{0590}-\x{083F}]|[\x{08A0}-\x{08FF}]|[\x{FB1D}-\x{FDFF}]|[\x{FE70}-\x{FEFF}]/u';
+ return preg_match($rtlChar, $value) != 0;
+ }
+
+
+
/**
* Simple helper to invoke the markdown parser
*
diff --git a/app/Http/Controllers/Account/AcceptanceController.php b/app/Http/Controllers/Account/AcceptanceController.php
index f79ec1842f71..f5c5491f36f1 100644
--- a/app/Http/Controllers/Account/AcceptanceController.php
+++ b/app/Http/Controllers/Account/AcceptanceController.php
@@ -30,11 +30,12 @@
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use App\Http\Controllers\SettingsController;
-use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
use \Illuminate\Contracts\View\View;
use \Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Log;
+use TCPDF;
+use App\Helpers\Helper;
class AcceptanceController extends Controller
{
@@ -178,7 +179,7 @@ public function store(Request $request, $id) : RedirectResponse
break;
case 'App\Models\Component':
- $pdf_view_route ='account.accept.accept-component-eula';
+ $pdf_view_route = 'account.accept.accept-component-eula';
$component = Component::find($item->id);
$display_model = $component->name;
break;
@@ -217,7 +218,7 @@ public function store(Request $request, $id) : RedirectResponse
} elseif (!is_null($branding_settings->logo)) {
$path_logo = public_path() . '/uploads/' . $branding_settings->logo;
}
-
+
$data = [
'item_tag' => $item->asset_tag,
'item_model' => $display_model,
@@ -225,9 +226,9 @@ public function store(Request $request, $id) : RedirectResponse
'item_status' => $item->assetstatus?->name,
'eula' => $item->getEula(),
'note' => $request->input('note'),
- 'check_out_date' => Carbon::parse($acceptance->created_at)->format('Y-m-d'),
- 'accepted_date' => Carbon::parse($acceptance->accepted_at)->format('Y-m-d'),
- 'assigned_to' => $assigned_user->present()->fullName,
+ 'check_out_date' => Carbon::parse($acceptance->created_at)->format('Y-m-d H:i:s'),
+ 'accepted_date' => Carbon::parse($acceptance->accepted_at)->format('Y-m-d H:i:s'),
+ 'assigned_to' => $assigned_user->display_name,
'company_name' => $branding_settings->site_name,
'signature' => ($sig_filename) ? storage_path() . '/private_uploads/signatures/' . $sig_filename : null,
'logo' => $path_logo,
@@ -235,13 +236,88 @@ public function store(Request $request, $id) : RedirectResponse
'admin' => auth()->user()->present()?->fullName,
];
+
if ($pdf_view_route!='') {
Log::debug($pdf_filename.' is the filename, and the route was specified.');
- $pdf = Pdf::loadView($pdf_view_route, $data);
- Storage::put('private_uploads/eula-pdfs/' .$pdf_filename, $pdf->output());
+ //$pdf = new PDF;
+
+ // set some language dependent data:
+ $lg = Array();
+ $lg['a_meta_charset'] = 'UTF-8';
+ $lg['w_page'] = 'page';
+
+ $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
+ // $pdf->SetHeaderData(PDF_HEADER_LOGO, 5, PDF_HEADER_TITLE.' 006', PDF_HEADER_STRING);
+ // $pdf->SetHeaderData('https://snipe-it.test/uploads/snipe-logo.png', '5', $data['company_name'], $item->company?->name);
+ //$pdf->headerText = ('Anything you want ' . date('c'));
+ $pdf->setRTL(false);
+ //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $data['company_name'], '');
+ $pdf->setLanguageArray($lg);
+ $pdf->SetCreator('Snipe-IT');
+ $pdf->SetAuthor($data['assigned_to']);
+ $pdf->SetTitle('Asset Acceptance: '.$data['item_tag']);
+ // $pdf->SetSubject('Document Subject');
+ //$pdf->SetKeywords('keywords, here');
+ $pdf->SetFont('dejavusans', '', 8, '', true);
+
+
+ $pdf->SetPrintHeader(false);
+ $pdf->SetPrintFooter(false);
+ $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
+ $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
+
+ $pdf->AddPage();
+ $pdf->writeHTML('
', true, 0, true, 0, '');
+
+ // $pdf->writeHTML(trans('general.date').': '.date($data['date_settings']), true, 0, true, 0, '');
+ $pdf->writeHTML("".trans('general.asset_tag').': '.$data['item_tag'], true, 0, true, 0, '');
+ $pdf->writeHTML("".trans('general.asset_model').': '.$data['item_model'], true, 0, true, 0, '');
+ $pdf->writeHTML("".trans('admin/hardware/form.serial').': '.$data['item_serial'], true, 0, true, 0, '');
+ $pdf->writeHTML("".trans('general.assigned_date').': '.$data['check_out_date'], true, 0, true, 0, '');
+ $pdf->writeHTML("".trans('general.assignee').': '.$data['assigned_to'], true, 0, true, 0, '');
+ $pdf->Ln();
+ // $html = view($pdf_view_route, $data)->render();
+ // $pdf->writeHTML($html, true, 0, true, 0, '');
+
+ // $eula_lines = explode("\n\n", $item->getEula());
+ $eula_lines = preg_split("/\r\n|\n|\r/", $item->getEula());
+
+ foreach ($eula_lines as $eula_line) {
+ if (Helper::hasRtl($eula_line)) {
+ $pdf->setRTL(true);
+ } else {
+ $pdf->setRTL(false);
+ }
+ $pdf->writeHTML(Helper::parseEscapedMarkedown($eula_line), true, 0, true, 0, '');
+ }
+ $pdf->Ln();
+ $pdf->Ln();
+ $pdf->setRTL(false);
+ $pdf->writeHTML('
', true, 0, true, 0, '');
+
+ if ($data['note'] != null) {
+ $pdf->writeHTML("".trans('general.notes') . ': ' . $data['note'], true, 0, true, 0, '');
+ $pdf->Ln();
+ }
+
+ if ($data['signature'] != null) {
+
+ $pdf->writeHTML('
', true, 0, true, 0, '');
+ $pdf->writeHTML('
', true, 0, true, 0, '');
+ }
+
+ $pdf->writeHTML("".trans('general.accepted_date').': '.$data['accepted_date'], true, 0, true, 0, '');
+
+
+ $pdf_content = $pdf->Output($pdf_filename, 'S');
+
+
+ //$html = view($pdf_view_route, $data)->render();
+ //$pdf = PDF::writeHTML($html, true, false, true, false, '');
+ Storage::put('private_uploads/eula-pdfs/' .$pdf_filename, $pdf_content);
}
- $acceptance->accept($sig_filename, $item->getEula(), $pdf_filename, $request->input('note'));
+ // $acceptance->accept($sig_filename, $item->getEula(), $pdf_filename, $request->input('note'));
// Send the PDF to the signing user
if (($request->input('send_copy') == '1') && ($assigned_user->email !='')) {
diff --git a/app/Models/Asset.php b/app/Models/Asset.php
index d5b640e40a2d..d6e277174e78 100644
--- a/app/Models/Asset.php
+++ b/app/Models/Asset.php
@@ -1033,9 +1033,9 @@ public function getEula()
if (($this->model) && ($this->model->category)) {
if (($this->model->category->eula_text) && ($this->model->category->use_default_eula == 0)) {
- return Helper::parseEscapedMarkedown($this->model->category->eula_text);
+ return $this->model->category->eula_text;
} elseif ($this->model->category->use_default_eula == 1) {
- return Helper::parseEscapedMarkedown(Setting::getSettings()->default_eula_text);
+ return Setting::getSettings()->default_eula_text;
} else {
return false;
diff --git a/composer.json b/composer.json
index f7b86417562e..80f072e49aa0 100644
--- a/composer.json
+++ b/composer.json
@@ -32,11 +32,11 @@
"arietimmerman/laravel-scim-server": "dev-laravel_11_compatibility",
"bacon/bacon-qr-code": "^2.0",
"barryvdh/laravel-debugbar": "^3.13",
- "barryvdh/laravel-dompdf": "^2.0",
"doctrine/cache": "^1.10",
"doctrine/dbal": "^3.1",
"doctrine/instantiator": "^1.3",
"eduardokum/laravel-mail-auto-embed": "^2.0",
+ "elibyy/tcpdf-laravel": "^11.5",
"enshrined/svg-sanitize": "^0.22.0",
"erusev/parsedown": "^1.7",
"fakerphp/faker": "^1.24",
diff --git a/composer.lock b/composer.lock
index f3a06b455651..ddd11c3a0d99 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "4a00fb4c4b9a2ac161183e9ae9217298",
+ "content-hash": "1eb239d3c2ef234a07167a8bef9230d8",
"packages": [
{
"name": "alek13/slack",
@@ -424,104 +424,27 @@
],
"time": "2025-07-14T11:56:43+00:00"
},
- {
- "name": "barryvdh/laravel-dompdf",
- "version": "v2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/barryvdh/laravel-dompdf.git",
- "reference": "c96f90c97666cebec154ca1ffb67afed372114d8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/c96f90c97666cebec154ca1ffb67afed372114d8",
- "reference": "c96f90c97666cebec154ca1ffb67afed372114d8",
- "shasum": ""
- },
- "require": {
- "dompdf/dompdf": "^2.0.7",
- "illuminate/support": "^6|^7|^8|^9|^10|^11",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "larastan/larastan": "^1.0|^2.7.0",
- "orchestra/testbench": "^4|^5|^6|^7|^8|^9",
- "phpro/grumphp": "^1 || ^2.5",
- "squizlabs/php_codesniffer": "^3.5"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "aliases": {
- "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf",
- "Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf"
- },
- "providers": [
- "Barryvdh\\DomPDF\\ServiceProvider"
- ]
- },
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Barryvdh\\DomPDF\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Barry vd. Heuvel",
- "email": "barryvdh@gmail.com"
- }
- ],
- "description": "A DOMPDF Wrapper for Laravel",
- "keywords": [
- "dompdf",
- "laravel",
- "pdf"
- ],
- "support": {
- "issues": "https://github.com/barryvdh/laravel-dompdf/issues",
- "source": "https://github.com/barryvdh/laravel-dompdf/tree/v2.2.0"
- },
- "funding": [
- {
- "url": "https://fruitcake.nl",
- "type": "custom"
- },
- {
- "url": "https://github.com/barryvdh",
- "type": "github"
- }
- ],
- "time": "2024-04-25T13:16:04+00:00"
- },
{
"name": "brick/math",
- "version": "0.13.1",
+ "version": "0.14.0",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
- "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04"
+ "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/fc7ed316430118cc7836bf45faff18d5dfc8de04",
- "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04",
+ "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2",
+ "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2",
"shasum": ""
},
"require": {
- "php": "^8.1"
+ "php": "^8.2"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.2",
- "phpunit/phpunit": "^10.1",
- "vimeo/psalm": "6.8.8"
+ "phpstan/phpstan": "2.1.22",
+ "phpunit/phpunit": "^11.5"
},
"type": "library",
"autoload": {
@@ -551,7 +474,7 @@
],
"support": {
"issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.13.1"
+ "source": "https://github.com/brick/math/tree/0.14.0"
},
"funding": [
{
@@ -559,7 +482,7 @@
"type": "github"
}
],
- "time": "2025-03-29T13:50:30+00:00"
+ "time": "2025-08-29T12:40:03+00:00"
},
{
"name": "carbonphp/carbon-doctrine-types",
@@ -923,16 +846,16 @@
},
{
"name": "doctrine/dbal",
- "version": "3.10.1",
+ "version": "3.10.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "3626601014388095d3af9de7e9e958623b7ef005"
+ "reference": "c6c16cf787eaba3112203dfcd715fa2059c62282"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/3626601014388095d3af9de7e9e958623b7ef005",
- "reference": "3626601014388095d3af9de7e9e958623b7ef005",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/c6c16cf787eaba3112203dfcd715fa2059c62282",
+ "reference": "c6c16cf787eaba3112203dfcd715fa2059c62282",
"shasum": ""
},
"require": {
@@ -948,10 +871,10 @@
},
"require-dev": {
"doctrine/cache": "^1.11|^2.0",
- "doctrine/coding-standard": "13.0.0",
+ "doctrine/coding-standard": "13.0.1",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
- "phpstan/phpstan": "2.1.17",
+ "phpstan/phpstan": "2.1.22",
"phpstan/phpstan-strict-rules": "^2",
"phpunit/phpunit": "9.6.23",
"slevomat/coding-standard": "8.16.2",
@@ -1017,7 +940,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.10.1"
+ "source": "https://github.com/doctrine/dbal/tree/3.10.2"
},
"funding": [
{
@@ -1033,7 +956,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-05T12:18:06+00:00"
+ "time": "2025-09-04T23:51:27+00:00"
},
{
"name": "doctrine/deprecations",
@@ -1411,68 +1334,6 @@
],
"time": "2024-02-05T11:56:58+00:00"
},
- {
- "name": "dompdf/dompdf",
- "version": "v2.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/dompdf/dompdf.git",
- "reference": "c20247574601700e1f7c8dab39310fca1964dc52"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/c20247574601700e1f7c8dab39310fca1964dc52",
- "reference": "c20247574601700e1f7c8dab39310fca1964dc52",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-mbstring": "*",
- "masterminds/html5": "^2.0",
- "phenx/php-font-lib": ">=0.5.4 <1.0.0",
- "phenx/php-svg-lib": ">=0.5.2 <1.0.0",
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "ext-json": "*",
- "ext-zip": "*",
- "mockery/mockery": "^1.3",
- "phpunit/phpunit": "^7.5 || ^8 || ^9",
- "squizlabs/php_codesniffer": "^3.5"
- },
- "suggest": {
- "ext-gd": "Needed to process images",
- "ext-gmagick": "Improves image processing performance",
- "ext-imagick": "Improves image processing performance",
- "ext-zlib": "Needed for pdf stream compression"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Dompdf\\": "src/"
- },
- "classmap": [
- "lib/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1"
- ],
- "authors": [
- {
- "name": "The Dompdf Community",
- "homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
- }
- ],
- "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
- "homepage": "https://github.com/dompdf/dompdf",
- "support": {
- "issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v2.0.8"
- },
- "time": "2024-04-29T13:06:17+00:00"
- },
{
"name": "dragonmantank/cron-expression",
"version": "v3.4.0",
@@ -1675,6 +1536,62 @@
],
"time": "2025-03-06T22:45:56+00:00"
},
+ {
+ "name": "elibyy/tcpdf-laravel",
+ "version": "11.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/elibyy/tcpdf-laravel.git",
+ "reference": "25d076d5f50eef9702dfa1ae889b1a599250f951"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/elibyy/tcpdf-laravel/zipball/25d076d5f50eef9702dfa1ae889b1a599250f951",
+ "reference": "25d076d5f50eef9702dfa1ae889b1a599250f951",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "tecnickcom/tcpdf": "6.2.*|6.3.*|6.4.*|6.5.*|6.6.*|6.7.*|6.8.*|6.9.*|6.10.*|dev-main"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "aliases": {
+ "PDF": "Elibyy\\TCPDF\\Facades\\TCPDF"
+ },
+ "providers": [
+ "Elibyy\\TCPDF\\ServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Elibyy\\TCPDF\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "eli y",
+ "email": "elibyy@gmail.com"
+ }
+ ],
+ "description": "tcpdf support for Laravel 6, 7, 8, 9, 10, 11",
+ "keywords": [
+ "TCPDF",
+ "laravel",
+ "pdf"
+ ],
+ "support": {
+ "issues": "https://github.com/elibyy/tcpdf-laravel/issues",
+ "source": "https://github.com/elibyy/tcpdf-laravel/tree/11.5.0"
+ },
+ "time": "2025-06-06T08:27:48+00:00"
+ },
{
"name": "enshrined/svg-sanitize",
"version": "0.22.0",
@@ -5922,96 +5839,6 @@
},
"time": "2024-04-22T22:05:04+00:00"
},
- {
- "name": "phenx/php-font-lib",
- "version": "0.5.6",
- "source": {
- "type": "git",
- "url": "https://github.com/dompdf/php-font-lib.git",
- "reference": "a1681e9793040740a405ac5b189275059e2a9863"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863",
- "reference": "a1681e9793040740a405ac5b189275059e2a9863",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "FontLib\\": "src/FontLib"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1-or-later"
- ],
- "authors": [
- {
- "name": "Fabien Ménager",
- "email": "fabien.menager@gmail.com"
- }
- ],
- "description": "A library to read, parse, export and make subsets of different types of font files.",
- "homepage": "https://github.com/PhenX/php-font-lib",
- "support": {
- "issues": "https://github.com/dompdf/php-font-lib/issues",
- "source": "https://github.com/dompdf/php-font-lib/tree/0.5.6"
- },
- "time": "2024-01-29T14:45:26+00:00"
- },
- {
- "name": "phenx/php-svg-lib",
- "version": "0.5.4",
- "source": {
- "type": "git",
- "url": "https://github.com/dompdf/php-svg-lib.git",
- "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/46b25da81613a9cf43c83b2a8c2c1bdab27df691",
- "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": "^7.1 || ^8.0",
- "sabberworm/php-css-parser": "^8.4"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Svg\\": "src/Svg"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-3.0-or-later"
- ],
- "authors": [
- {
- "name": "Fabien Ménager",
- "email": "fabien.menager@gmail.com"
- }
- ],
- "description": "A library to read, parse and export to PDF SVG files.",
- "homepage": "https://github.com/PhenX/php-svg-lib",
- "support": {
- "issues": "https://github.com/dompdf/php-svg-lib/issues",
- "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.4"
- },
- "time": "2024-04-08T12:52:34+00:00"
- },
{
"name": "php-debugbar/php-debugbar",
"version": "v2.2.4",
@@ -7412,20 +7239,20 @@
},
{
"name": "ramsey/uuid",
- "version": "4.9.0",
+ "version": "4.9.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0"
+ "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0",
- "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440",
+ "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13",
+ "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
"php": "^8.0",
"ramsey/collection": "^1.2 || ^2.0"
},
@@ -7484,9 +7311,9 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.9.0"
+ "source": "https://github.com/ramsey/uuid/tree/4.9.1"
},
- "time": "2025-06-25T14:20:11+00:00"
+ "time": "2025-09-04T20:59:21+00:00"
},
{
"name": "robrichards/xmlseclibs",
@@ -7665,72 +7492,6 @@
},
"time": "2025-05-02T20:10:54+00:00"
},
- {
- "name": "sabberworm/php-css-parser",
- "version": "v8.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
- "reference": "d8e916507b88e389e26d4ab03c904a082aa66bb9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/d8e916507b88e389e26d4ab03c904a082aa66bb9",
- "reference": "d8e916507b88e389e26d4ab03c904a082aa66bb9",
- "shasum": ""
- },
- "require": {
- "ext-iconv": "*",
- "php": "^5.6.20 || ^7.0.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "5.7.27 || 6.5.14 || 7.5.20 || 8.5.41",
- "rawr/cross-data-providers": "^2.0.0"
- },
- "suggest": {
- "ext-mbstring": "for parsing UTF-8 CSS"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "9.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Sabberworm\\CSS\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Raphael Schweikert"
- },
- {
- "name": "Oliver Klee",
- "email": "github@oliverklee.de"
- },
- {
- "name": "Jake Hotson",
- "email": "jake.github@qzdesign.co.uk"
- }
- ],
- "description": "Parser for CSS Files written in PHP",
- "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
- "keywords": [
- "css",
- "parser",
- "stylesheet"
- ],
- "support": {
- "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
- "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.9.0"
- },
- "time": "2025-07-11T13:20:48+00:00"
- },
{
"name": "sebastian/comparator",
"version": "5.0.3",
@@ -15537,16 +15298,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.13.2",
+ "version": "3.13.4",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "5b5e3821314f947dd040c70f7992a64eac89025c"
+ "reference": "ad545ea9c1b7d270ce0fc9cbfb884161cd706119"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5b5e3821314f947dd040c70f7992a64eac89025c",
- "reference": "5b5e3821314f947dd040c70f7992a64eac89025c",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ad545ea9c1b7d270ce0fc9cbfb884161cd706119",
+ "reference": "ad545ea9c1b7d270ce0fc9cbfb884161cd706119",
"shasum": ""
},
"require": {
@@ -15617,7 +15378,7 @@
"type": "thanks_dev"
}
],
- "time": "2025-06-17T22:17:01+00:00"
+ "time": "2025-09-05T05:47:09+00:00"
},
{
"name": "symfony/cache",
diff --git a/config/app.php b/config/app.php
index b494da59811f..d42210e610a2 100755
--- a/config/app.php
+++ b/config/app.php
@@ -300,7 +300,6 @@
App\Providers\SnipeTranslationServiceProvider::class, //we REPLACE the default Laravel translator with our own
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
- Barryvdh\DomPDF\ServiceProvider::class,
/*
* Package Service Providers...
@@ -315,6 +314,7 @@
Unicodeveloper\DumbPassword\DumbPasswordServiceProvider::class,
Eduardokum\LaravelMailAutoEmbed\ServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class,
+ Elibyy\TCPDF\ServiceProvider::class,
/*
* Application Service Providers...
@@ -371,7 +371,7 @@
'Mail' => Illuminate\Support\Facades\Mail::class,
'Notification' => Illuminate\Support\Facades\Notification::class,
'Password' => Illuminate\Support\Facades\Password::class,
- 'PDF' => Barryvdh\DomPDF\Facade::class,
+ 'PDF' => Elibyy\TCPDF\Facades\TCPDF::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
diff --git a/config/pdf.php b/config/pdf.php
new file mode 100644
index 000000000000..b28479879dda
--- /dev/null
+++ b/config/pdf.php
@@ -0,0 +1,17 @@
+ 'utf-8',
+ 'format' => 'A4',
+ 'author' => '',
+ 'subject' => '',
+ 'keywords' => '',
+ 'creator' => 'Laravel Pdf',
+ 'display_mode' => 'fullpage',
+ 'tempDir' => base_path('../temp/'),
+ 'pdf_a' => false,
+ 'pdf_a_auto' => false,
+ 'icc_profile_path' => '',
+ 'defaultCssFile' => false,
+ 'pdfWrapper' => 'misterspelik\LaravelPdf\Wrapper\PdfWrapper',
+];
diff --git a/resources/views/account/accept/accept-asset-eula.blade.php b/resources/views/account/accept/accept-asset-eula.blade.php
index 1a541f070172..77f49fb286ae 100644
--- a/resources/views/account/accept/accept-asset-eula.blade.php
+++ b/resources/views/account/accept/accept-asset-eula.blade.php
@@ -1,9 +1,11 @@
-
+
+