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 = '';