Merge pull request #6685 from mikee2/develop
Add macro replacement to ODT invoice lines
This commit is contained in:
commit
bb47c69283
@ -139,6 +139,8 @@ class Segment implements IteratorAggregate, Countable
|
|||||||
}
|
}
|
||||||
$reg = "/\[!--\sBEGIN\s$this->name\s--\](.*)\[!--\sEND\s$this->name\s--\]/sm";
|
$reg = "/\[!--\sBEGIN\s$this->name\s--\](.*)\[!--\sEND\s$this->name\s--\]/sm";
|
||||||
$this->xmlParsed = preg_replace($reg, '$1', $this->xmlParsed);
|
$this->xmlParsed = preg_replace($reg, '$1', $this->xmlParsed);
|
||||||
|
// Miguel Erill 09704/2017 - Add macro replacement to invoice lines
|
||||||
|
$this->xmlParsed = $this->macroReplace($this->xmlParsed);
|
||||||
$this->file->open($this->odf->getTmpfile());
|
$this->file->open($this->odf->getTmpfile());
|
||||||
foreach ($this->images as $imageKey => $imageValue) {
|
foreach ($this->images as $imageKey => $imageValue) {
|
||||||
if ($this->file->getFromName('Pictures/' . $imageValue) === false) {
|
if ($this->file->getFromName('Pictures/' . $imageValue) === false) {
|
||||||
@ -152,6 +154,29 @@ class Segment implements IteratorAggregate, Countable
|
|||||||
|
|
||||||
return $this->xmlParsed;
|
return $this->xmlParsed;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Function to replace macros for invoice short and long month, invoice year
|
||||||
|
*
|
||||||
|
* Substitution occur when the invoice is generated, not considering the invoice date
|
||||||
|
* so do not (re)generate in a diferent date than the one that the invoice belongs to
|
||||||
|
* Perhaps it would be better to use the invoice issued date but I still do not know
|
||||||
|
* how to get it here
|
||||||
|
*
|
||||||
|
* Miguel Erill 09/04/2017
|
||||||
|
*
|
||||||
|
* @param string $value String to convert
|
||||||
|
*/
|
||||||
|
public function macroReplace($text)
|
||||||
|
{
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
$patterns=array( '__CURRENTDAY__','__CURRENTDAYTEXT__','__CURRENTMONTHSHORT__','__CURRENTMONTH__','__CURRENTYEAR__' );
|
||||||
|
$values=array( date('j'), $langs->trans(date('l')), $langs->trans(date('M')), $langs->trans(date('F')), date('Y') );
|
||||||
|
|
||||||
|
$text=preg_replace($patterns, $values, $text);
|
||||||
|
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Analyse the XML code in order to find children
|
* Analyse the XML code in order to find children
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user