for the rest of the world - I have created a "proof of error" class which aims to generate 4 documents in a loop.
[code]
<?php
require_once("classes/CreateDocx.inc");
class test {
private $test_loop;
private $docx_cache = false;
private $style = 1;
/**
*
* Construcutor
* @param int $style allowed value is 1 or actually something else :-). 1 will use thereplaceTemplateVariableByHTML function and something else will use addTemplateVariable function
*/
function test($style = 1) {
$this->style = $style;
$this->test_loop[] = "<p>my test 1</p>";
$this->test_loop[] = "<p>my test 2</p>";
$this->test_loop[] = "<p>my test 3</p>";
$this->test_loop[] = "<p>my test 4</p>";
}
/**
*
* Loop through the array of html values
*/
public function loop() {
foreach ($this->test_loop as $key => $value) {
$docx = $this->createdocx($value);
$docx->createDocx('template_files/test_'.$key);
echo "<a href=\"template_files/test_".$key.".docx\">klick</a><br />";
}
}
/**
*
* Create the actual docx files based on the template - only load the template once
* in order to save i/o
* @param string $value random html string which will replace the ADDRESS var in the template
*/
private function createdocx($value) {
if($this->docx_cache == false) {
$docx = new CreateDocx();
$docx->addTemplate('template_files/test.docx');
$this->docx_cache = $docx;
} else {
$docx = $this->docx_cache;
}
if($this->style == 1) {
$docx->replaceTemplateVariableByHTML('ADDRESS', 'inline', $value, array('isFile' => false, 'parseDivsAsPs' => true, 'downloadImages' => false));
} else {
$docx->addTemplateVariable('ADDRESS', $value);
}
return $docx;
}
}
if(isset($_GET['style'])) {
$style = $_GET['style'];
} else {
$style = 1;
}
$test = new test($style);
$test->loop();
?>
[/code]