From c0e40d3018e4f91a0a2321620ccf4da974887275 Mon Sep 17 00:00:00 2001
From: Marko Kallio <marko.kallio@suomenpt.fi>
Date: Sat, 7 Apr 2018 08:48:17 +0300
Subject: [PATCH 1/3] Added support for array options for wkhtmltopdf engine

---
 Pdf/Engine/WkHtmlToPdfEngine.php               | 4 ++++
 Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php | 8 ++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Pdf/Engine/WkHtmlToPdfEngine.php b/Pdf/Engine/WkHtmlToPdfEngine.php
index 9fe2d487..43b85486 100644
--- a/Pdf/Engine/WkHtmlToPdfEngine.php
+++ b/Pdf/Engine/WkHtmlToPdfEngine.php
@@ -106,6 +106,10 @@ protected function _getCommand() {
 				continue;
 			} elseif ($value === true) {
 				$command .= ' --' . $key;
+            } elseif (is_array($value)) {
+			    foreach ($value as $k => $v) {
+			        $command .= sprintf(' --%s %s %s', $key, escapeshellarg($k), escapeshellarg($v));
+			    }
 			} else {
 				$command .= sprintf(' --%s %s', $key, escapeshellarg($value));
 			}
diff --git a/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php b/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
index abc22bc3..decc8e81 100644
--- a/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
+++ b/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
@@ -35,11 +35,15 @@ public function testGetCommand() {
 			'options' => array(
 				'boolean' => true,
 				'string'  => 'value',
-				'integer' => 42
+				'integer' => 42,
+                'array' => array(
+                    'first' => 'firstValue',
+                    'second' => 'secondValue'
+                )
 			)
 		));
 		$result = $method->invokeArgs($Pdf->engine(), array());
-		$expected = "/usr/bin/wkhtmltopdf --quiet --print-media-type --orientation 'portrait' --page-size 'A4' --encoding 'UTF-8' --boolean --string 'value' --integer '42' - -";
+		$expected = "/usr/bin/wkhtmltopdf --quiet --print-media-type --orientation 'portrait' --page-size 'A4' --encoding 'UTF-8' --boolean --string 'value' --integer '42' --array 'first' 'firstValue' --array 'second' 'secondValue' - -";
 		$this->assertEquals($expected, $result);
 	}
 }

From 9f1d5c709c27c3577848f6326bc52401867ef9fa Mon Sep 17 00:00:00 2001
From: Marko Kallio <makallio85@users.noreply.github.com>
Date: Sat, 7 Apr 2018 08:51:33 +0300
Subject: [PATCH 2/3] Update WkHtmlToPdfEngine.php

---
 Pdf/Engine/WkHtmlToPdfEngine.php | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Pdf/Engine/WkHtmlToPdfEngine.php b/Pdf/Engine/WkHtmlToPdfEngine.php
index 43b85486..97539aff 100644
--- a/Pdf/Engine/WkHtmlToPdfEngine.php
+++ b/Pdf/Engine/WkHtmlToPdfEngine.php
@@ -106,10 +106,10 @@ protected function _getCommand() {
 				continue;
 			} elseif ($value === true) {
 				$command .= ' --' . $key;
-            } elseif (is_array($value)) {
-			    foreach ($value as $k => $v) {
-			        $command .= sprintf(' --%s %s %s', $key, escapeshellarg($k), escapeshellarg($v));
-			    }
+			} elseif (is_array($value)) {
+				foreach ($value as $k => $v) {
+					$command .= sprintf(' --%s %s %s', $key, escapeshellarg($k), escapeshellarg($v));
+				}
 			} else {
 				$command .= sprintf(' --%s %s', $key, escapeshellarg($value));
 			}

From 7f267b56b17a0306ff111014939c4757639c8607 Mon Sep 17 00:00:00 2001
From: Marko Kallio <makallio85@users.noreply.github.com>
Date: Sat, 7 Apr 2018 08:52:03 +0300
Subject: [PATCH 3/3] Update WkHtmlToPdfEngineTest.php

---
 Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php b/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
index decc8e81..545cfb9b 100644
--- a/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
+++ b/Test/Case/Pdf/Engine/WkHtmlToPdfEngineTest.php
@@ -36,10 +36,10 @@ public function testGetCommand() {
 				'boolean' => true,
 				'string'  => 'value',
 				'integer' => 42,
-                'array' => array(
-                    'first' => 'firstValue',
-                    'second' => 'secondValue'
-                )
+				'array' => array(
+					'first' => 'firstValue',
+					'second' => 'secondValue'
+                		)
 			)
 		));
 		$result = $method->invokeArgs($Pdf->engine(), array());