From 74cf13f24a5273b7dcb539bab25202061df81ca8 Mon Sep 17 00:00:00 2001 From: Michael Ford Date: Tue, 12 Dec 2017 14:38:06 +0100 Subject: [PATCH 1/3] Config override --- .gitignore | 5 ++++- README.md | 4 +++- src/DOMPDFModule/Service/DOMPDFFactory.php | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d85f061..def36f0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ vendor/ config/autoload/*.local.php # Build directories -build/* \ No newline at end of file +build/* + +# IDE directories +.idea/* \ No newline at end of file diff --git a/README.md b/README.md index 46ca935..2c80d31 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,9 @@ PHP Composer, please visit the official [PHP Composer site](http://getcomposer.o 'DOMPDFModule', ``` #### Configuration options -You can override options via the `dompdf_module` key in your local or global config files. See DOMPDFModule/config/module.config.php for config options. +You can override options via the `dompdf_module_override` key in your local or global config files. See DOMPDFModule/config/module.config.php for config options. + +The configuration that can be overwritten can be found in the `config/module.config.php` file. ## Usage diff --git a/src/DOMPDFModule/Service/DOMPDFFactory.php b/src/DOMPDFModule/Service/DOMPDFFactory.php index 3cd0a06..4cd71c3 100644 --- a/src/DOMPDFModule/Service/DOMPDFFactory.php +++ b/src/DOMPDFModule/Service/DOMPDFFactory.php @@ -35,6 +35,9 @@ class DOMPDFFactory implements FactoryInterface public function createService(ServiceLocatorInterface $serviceLocator) { $moduleConfig = $serviceLocator->get('config')['dompdf_module']; + $customConfig = $serviceLocator->get('config')['dompdf_module_override']; + + $moduleConfig = array_merge($moduleConfig, $customConfig); $options = [ 'temp_dir' => $moduleConfig['temporary_directory'], From 0842291815c764fc490cbb19e1a0f37a2d9357fd Mon Sep 17 00:00:00 2001 From: Michael Ford Date: Tue, 12 Dec 2017 15:08:59 +0100 Subject: [PATCH 2/3] Config override --- src/DOMPDFModule/Service/DOMPDFFactory.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/DOMPDFModule/Service/DOMPDFFactory.php b/src/DOMPDFModule/Service/DOMPDFFactory.php index 4cd71c3..5cd8aee 100644 --- a/src/DOMPDFModule/Service/DOMPDFFactory.php +++ b/src/DOMPDFModule/Service/DOMPDFFactory.php @@ -35,9 +35,12 @@ class DOMPDFFactory implements FactoryInterface public function createService(ServiceLocatorInterface $serviceLocator) { $moduleConfig = $serviceLocator->get('config')['dompdf_module']; - $customConfig = $serviceLocator->get('config')['dompdf_module_override']; - $moduleConfig = array_merge($moduleConfig, $customConfig); + if (isset($serviceLocator->get('config')['dompdf_module_override'])) + { + $customConfig = $serviceLocator->get('config')['dompdf_module_override']; + $moduleConfig = array_merge($moduleConfig, $customConfig); + } $options = [ 'temp_dir' => $moduleConfig['temporary_directory'], From 6f3e6fca0e0b1be63aab0cfd8519228cb138d3b4 Mon Sep 17 00:00:00 2001 From: Michael Ford Date: Tue, 12 Dec 2017 15:20:49 +0100 Subject: [PATCH 3/3] Config override --- src/DOMPDFModule/Service/DOMPDFFactory.php | 58 +++++++++++----------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/DOMPDFModule/Service/DOMPDFFactory.php b/src/DOMPDFModule/Service/DOMPDFFactory.php index 5cd8aee..0b7b338 100644 --- a/src/DOMPDFModule/Service/DOMPDFFactory.php +++ b/src/DOMPDFModule/Service/DOMPDFFactory.php @@ -30,44 +30,44 @@ class DOMPDFFactory implements FactoryInterface * Creates an instance of Dompdf. * * @param ServiceLocatorInterface $serviceLocator + * * @return Dompdf */ public function createService(ServiceLocatorInterface $serviceLocator) { $moduleConfig = $serviceLocator->get('config')['dompdf_module']; - if (isset($serviceLocator->get('config')['dompdf_module_override'])) - { - $customConfig = $serviceLocator->get('config')['dompdf_module_override']; - $moduleConfig = array_merge($moduleConfig, $customConfig); - } + if (isset($serviceLocator->get('config')['dompdf_module_override'])) { + $customConfig = $serviceLocator->get('config')['dompdf_module_override']; + $moduleConfig = array_merge($moduleConfig, $customConfig); + } $options = [ - 'temp_dir' => $moduleConfig['temporary_directory'], - 'font_dir' => $moduleConfig['font_directory'], - 'font_cache' => $moduleConfig['font_cache_directory'], - 'chroot' => $moduleConfig['chroot'], - 'log_output_file' => $moduleConfig['log_output_file'], - 'default_media_type' => $moduleConfig['default_media_type'], - 'default_paper_size' => $moduleConfig['default_paper_size'], - 'default_font' => $moduleConfig['default_font'], - 'dpi' => $moduleConfig['dpi'], - 'font_height_ratio' => $moduleConfig['font_height_ratio'], - 'is_php_enabled' => $moduleConfig['enable_php'], - 'is_remote_enabled' => $moduleConfig['enable_remote'], - 'is_javascript_enabled' => $moduleConfig['enable_javascript'], - 'is_html5_parser_enabled' => $moduleConfig['enable_html5parser'], + 'temp_dir' => $moduleConfig['temporary_directory'], + 'font_dir' => $moduleConfig['font_directory'], + 'font_cache' => $moduleConfig['font_cache_directory'], + 'chroot' => $moduleConfig['chroot'], + 'log_output_file' => $moduleConfig['log_output_file'], + 'default_media_type' => $moduleConfig['default_media_type'], + 'default_paper_size' => $moduleConfig['default_paper_size'], + 'default_font' => $moduleConfig['default_font'], + 'dpi' => $moduleConfig['dpi'], + 'font_height_ratio' => $moduleConfig['font_height_ratio'], + 'is_php_enabled' => $moduleConfig['enable_php'], + 'is_remote_enabled' => $moduleConfig['enable_remote'], + 'is_javascript_enabled' => $moduleConfig['enable_javascript'], + 'is_html5_parser_enabled' => $moduleConfig['enable_html5parser'], 'is_font_subsetting_enabled' => $moduleConfig['enable_fontsubsetting'], - 'debug_png' => $moduleConfig['debug_png'], - 'debug_keep_temp' => $moduleConfig['debug_keep_temp'], - 'debug_css' => $moduleConfig['debug_css'], - 'debug_layout' => $moduleConfig['debug_layout'], - 'debug_layout_lines' => $moduleConfig['debug_layout_lines'], - 'debug_layout_blocks' => $moduleConfig['debug_layout_blocks'], - 'debug_layout_inline' => $moduleConfig['debug_layout_inline'], - 'debug_layout_padding_box' => $moduleConfig['debug_layout_padding_box'], - 'pdf_backend' => $moduleConfig['pdf_backend'], - 'pdflib_license' => $moduleConfig['pdflib_license'] + 'debug_png' => $moduleConfig['debug_png'], + 'debug_keep_temp' => $moduleConfig['debug_keep_temp'], + 'debug_css' => $moduleConfig['debug_css'], + 'debug_layout' => $moduleConfig['debug_layout'], + 'debug_layout_lines' => $moduleConfig['debug_layout_lines'], + 'debug_layout_blocks' => $moduleConfig['debug_layout_blocks'], + 'debug_layout_inline' => $moduleConfig['debug_layout_inline'], + 'debug_layout_padding_box' => $moduleConfig['debug_layout_padding_box'], + 'pdf_backend' => $moduleConfig['pdf_backend'], + 'pdflib_license' => $moduleConfig['pdflib_license'] ]; return new Dompdf(new Options($options));