From cb55e5ba31b5a1187309532ed7bcb48a78d065ef Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Tue, 4 Feb 2020 10:56:27 +0100 Subject: [PATCH 1/9] Add center / right / left image position in template img set Add possibility to define position of picture in array of properties. exemple : ```php $templateProcessor->setImageValue('picture',array("path" => "exemple.jpg" , "align" => "center")); ``` --- src/PhpWord/TemplateProcessor.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index 7efc0f1ac8..f95584a063 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -575,7 +575,12 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) - $imgTpl = ''; + if(isset($replacesList[0]['align']) and in_array($replacesList[0]['align'],array('left','right','center'))){ + $imgTpl = ''; + + } else { + $imgTpl = ''; + } foreach ($searchParts as $partFileName => &$partContent) { $partVariables = $this->getVariablesForPart($partContent); From f4e95a9525ea11f011affaced0992526051b33ad Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Tue, 4 Feb 2020 11:10:28 +0100 Subject: [PATCH 2/9] fix after test --- src/PhpWord/TemplateProcessor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index f95584a063..d92c4300a5 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -575,9 +575,8 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) - if(isset($replacesList[0]['align']) and in_array($replacesList[0]['align'],array('left','right','center'))){ + if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left','right','center'))) { $imgTpl = ''; - } else { $imgTpl = ''; } From a8127b06684e1dd5c54f8e874ba72f29d4c74d17 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:51:06 +0100 Subject: [PATCH 3/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index d92c4300a5..7c793f34ef 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -576,7 +576,8 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left','right','center'))) { - $imgTpl = ''; + $imgTpl = ''; + $imgTpl = str_replace('{{align}}', $replacesList[0]['align'], $imgTpl); } else { $imgTpl = ''; } From 882ecd3d7e821c99389b94f77ad322b938a49e41 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:04:58 +0100 Subject: [PATCH 4/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index 7c793f34ef..c642973e0d 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -576,8 +576,7 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left','right','center'))) { - $imgTpl = ''; - $imgTpl = str_replace('{{align}}', $replacesList[0]['align'], $imgTpl); + $imgTpl = str_replace('{{align}}', $replacesList[0]['align'], ''); } else { $imgTpl = ''; } From 2857259b154a76d9a8733f2a66b2d4ff54b4ca99 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:20:22 +0100 Subject: [PATCH 5/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index c642973e0d..71223cd7a2 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -576,7 +576,7 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left','right','center'))) { - $imgTpl = str_replace('{{align}}', $replacesList[0]['align'], ''); + $imgTpl = preg_replace('/({{align}})/', $replacesList[0]['align'], ''); } else { $imgTpl = ''; } From eec677260f78c734a60e1b098a481567df5e71d1 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:33:48 +0100 Subject: [PATCH 6/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index 71223cd7a2..ecc9771183 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -575,7 +575,8 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) - if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left','right','center'))) { + + if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left', 'right', 'center'))) { $imgTpl = preg_replace('/({{align}})/', $replacesList[0]['align'], ''); } else { $imgTpl = ''; From eb90e4a8c9c589e548b781b7c0ca207568594fb2 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:48:46 +0100 Subject: [PATCH 7/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index ecc9771183..bf67bef28d 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -573,9 +573,7 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM $searchParts[$this->getFooterName($headerIndex)] = &$this->tempDocumentFooters[$headerIndex]; } - // define templates // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) - if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left', 'right', 'center'))) { $imgTpl = preg_replace('/({{align}})/', $replacesList[0]['align'], ''); } else { From 31049b63e42b0871cb72e679086bbac3644a06db Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Fri, 14 Feb 2020 15:43:56 +0100 Subject: [PATCH 8/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index bf67bef28d..09d7cd1da4 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -574,11 +574,7 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM } // result can be verified via "Open XML SDK 2.5 Productivity Tool" (http://www.microsoft.com/en-us/download/details.aspx?id=30425) - if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left', 'right', 'center'))) { - $imgTpl = preg_replace('/({{align}})/', $replacesList[0]['align'], ''); - } else { - $imgTpl = ''; - } + $imgTpl = ''; foreach ($searchParts as $partFileName => &$partContent) { $partVariables = $this->getVariablesForPart($partContent); @@ -608,7 +604,12 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM $wholeTag = $matches[0]; array_shift($matches); list($openTag, $prefix, , $postfix, $closeTag) = $matches; - $replaceXml = $openTag . $prefix . $closeTag . $xmlImage . $openTag . $postfix . $closeTag; + if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'],array('left', 'right', 'center'))) { + $position = ''; + } else { + $position = ''; + } + $replaceXml = $openTag . $prefix . $closeTag . $position . $xmlImage . $openTag . $postfix . $closeTag; // replace on each iteration, because in one tag we can have 2+ inline variables => before proceed next variable we need to change $partContent $partContent = $this->setValueForPart($wholeTag, $replaceXml, $partContent, $limit); } From 7abf4a9b6581dc9a50da5081ef731dfcca4e6adc Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Fri, 14 Feb 2020 16:20:27 +0100 Subject: [PATCH 9/9] Update TemplateProcessor.php --- src/PhpWord/TemplateProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php index 09d7cd1da4..9ece5e7f40 100644 --- a/src/PhpWord/TemplateProcessor.php +++ b/src/PhpWord/TemplateProcessor.php @@ -604,7 +604,7 @@ public function setImageValue($search, $replace, $limit = self::MAXIMUM_REPLACEM $wholeTag = $matches[0]; array_shift($matches); list($openTag, $prefix, , $postfix, $closeTag) = $matches; - if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'],array('left', 'right', 'center'))) { + if (isset($replacesList[0]['align']) and in_array($replacesList[0]['align'], array('left', 'right', 'center'))) { $position = ''; } else { $position = '';