diff --git a/pdf_using_mpdf.info.yml b/pdf_using_mpdf.info.yml index fdcb4f0..0cc6522 100644 --- a/pdf_using_mpdf.info.yml +++ b/pdf_using_mpdf.info.yml @@ -1,7 +1,6 @@ name: PDF using mPDF type: module description: 'HTML to PDF conversion using mPDF Library' -core: 8.x -core_version_requirement: ^8 || ^9 +core_version_requirement: ^9.4 || ^10 package: 'PDF Conversion' configure: pdf_using_mpdf.admin_form diff --git a/src/Controller/GeneratePdf.php b/src/Controller/GeneratePdf.php index 10f3062..41c4353 100644 --- a/src/Controller/GeneratePdf.php +++ b/src/Controller/GeneratePdf.php @@ -77,7 +77,8 @@ class GeneratePdf extends ControllerBase { public function generate($node = NULL) { // Use 'full' view mode, this can be altered via hooks, if needed. $view = $this->entityTypeManager->getViewBuilder('node')->view($node); - $renderedNode = render($view)->__toString(); + // Replace the deprecated render() function with the recommended method. + $renderedNode = \Drupal::service('renderer')->render($view)->__toString(); // Let other modules alter HTML for PDF generation. $this->moduleHandler->alter('mpdf_html', $renderedNode, $node); diff --git a/src/Conversion/ConvertToPdf.php b/src/Conversion/ConvertToPdf.php index e8284ae..bf48f05 100644 --- a/src/Conversion/ConvertToPdf.php +++ b/src/Conversion/ConvertToPdf.php @@ -183,7 +183,7 @@ class ConvertToPdf implements ConvertToPdfInterface { if (isset($image_id[0])) { $file = File::load($image_id[0]); $image_path = $file->getFileUri(); - $image_path = file_create_url($image_path); + $image_path = \Drupal::service('file_url_generator')->generateAbsoluteString($image_path); $this->mpdf->SetWatermarkImage($image_path, $watermark_opacity); $this->mpdf->showWatermarkImage = TRUE; } diff --git a/tests/src/Functional/PdfUsingMpdfConfigurationFormTest.php b/tests/src/Functional/PdfUsingMpdfConfigurationFormTest.php index 0bae5cc..5a966b3 100644 --- a/tests/src/Functional/PdfUsingMpdfConfigurationFormTest.php +++ b/tests/src/Functional/PdfUsingMpdfConfigurationFormTest.php @@ -66,29 +66,29 @@ class PdfUsingMpdfConfigurationFormTest extends PdfUsingMpdfTestBase { $this->drupalGet('admin/config/user-interface/mpdf'); // Assert form values. - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-filename')->getValue(), 'pdf-test-file'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-save-option-1')->getValue(), '1'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-set-author')->getValue(), 'pdf-test-author'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-set-subject')->getValue(), 'pdf-test-subject'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-set-creator')->getValue(), 'pdf-test-creator'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-top')->getValue(), '24'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-right')->getValue(), '22'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-bottom')->getValue(), '24'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-left')->getValue(), '22'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-header')->getValue(), '11'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-margin-footer')->getValue(), '11'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-font-size')->getValue(), '16'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-default-font')->getValue(), 'dejavusanscondensed'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-page-size')->getValue(), 'A1'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-dpi')->getValue(), '101'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-img-dpi')->getValue(), '105'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-orientation')->getValue(), 'L'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-watermark-opacity')->getValue(), '0.5'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-watermark-option-0')->getValue(), '0'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-watermark-text')->getValue(), 'pdf-watermark-test-text'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-header')->getValue(), 'pdf-test-header'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-footer')->getValue(), 'pdf-test-footer'); - $this->assertEqual($this->getSession()->getPage()->findById('edit-pdf-css-file')->getValue(), '/path/to/css/file.css'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-filename')->getValue(), 'pdf-test-file'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-save-option-1')->getValue(), '1'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-set-author')->getValue(), 'pdf-test-author'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-set-subject')->getValue(), 'pdf-test-subject'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-set-creator')->getValue(), 'pdf-test-creator'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-top')->getValue(), '24'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-right')->getValue(), '22'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-bottom')->getValue(), '24'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-left')->getValue(), '22'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-header')->getValue(), '11'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-margin-footer')->getValue(), '11'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-font-size')->getValue(), '16'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-default-font')->getValue(), 'dejavusanscondensed'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-page-size')->getValue(), 'A1'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-dpi')->getValue(), '101'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-img-dpi')->getValue(), '105'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-orientation')->getValue(), 'L'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-watermark-opacity')->getValue(), '0.5'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-watermark-option-0')->getValue(), '0'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-watermark-text')->getValue(), 'pdf-watermark-test-text'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-header')->getValue(), 'pdf-test-header'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-footer')->getValue(), 'pdf-test-footer'); + $this->assertEquals($this->getSession()->getPage()->findById('edit-pdf-css-file')->getValue(), '/path/to/css/file.css'); $this->drupalLogout(); } diff --git a/tests/src/Functional/PdfUsingMpdfMenuAccessTest.php b/tests/src/Functional/PdfUsingMpdfMenuAccessTest.php index 1a623bf..27cbfc2 100644 --- a/tests/src/Functional/PdfUsingMpdfMenuAccessTest.php +++ b/tests/src/Functional/PdfUsingMpdfMenuAccessTest.php @@ -26,7 +26,8 @@ class PdfUsingMpdfMenuAccessTest extends PdfUsingMpdfTestBase { ]; break; } - $this->drupalPostForm('admin/people/permissions', $edit, 'Save permissions'); + $this->drupalGet('admin/people/permissions'); + $this->submitForm($edit, 'Save permissions'); // Create nodes. $node_type_a = $this->createNode(['type' => 'type_a']); diff --git a/tests/src/Functional/PdfUsingMpdfOutputTest.php b/tests/src/Functional/PdfUsingMpdfOutputTest.php index 540e29a..a7a47d8 100644 --- a/tests/src/Functional/PdfUsingMpdfOutputTest.php +++ b/tests/src/Functional/PdfUsingMpdfOutputTest.php @@ -16,11 +16,12 @@ class PdfUsingMpdfOutputTest extends PdfUsingMpdfTestBase { */ public function testOutput() { $this->drupalLogin($this->adminUser); - $this->drupalPostForm('admin/people/permissions', ['authenticated[generate type_a pdf]' => TRUE], 'Save permissions'); + $this->drupalGet('admin/people/permissions'); ++ $this->submitForm(['authenticated[generate type_a pdf]' => TRUE], 'Save permissions'); $node_type_a = $this->createNode(['type' => 'type_a']); $this->drupalGet('node/' . $node_type_a->id() . '/pdf'); - $this->assertResponse(200); + $this->assertSession()->statusCodeEquals(200); $this->assertSession()->responseHeaderContains('Content-Type', 'application/pdf'); }