diff --git a/lam/lib/pdf.inc b/lam/lib/pdf.inc index de2120d2..cdf8f54a 100644 --- a/lam/lib/pdf.inc +++ b/lam/lib/pdf.inc @@ -61,7 +61,7 @@ include_once('pdfstruct.inc'); function createModulePDF($accounts, $pdf_structure, $font, $returnAsString = false) { $account_type = $accounts[0]->get_type(); // Get PDF structure from xml file - $reader = new PDFStructureReader(); + $reader = new PDFStructureReader($_SESSION['config']->getName()); $structure = $reader->read($account_type->getId(), $pdf_structure); // get list of PDF keys $pdfKeys = array(); diff --git a/lam/lib/pdfstruct.inc b/lam/lib/pdfstruct.inc index 3a17cb5b..db46732b 100644 --- a/lam/lib/pdfstruct.inc +++ b/lam/lib/pdfstruct.inc @@ -203,7 +203,7 @@ function deletePDFLogo($name, $serverProfileName) { // check if still in use $typeManager = new \LAM\TYPES\TypeManager(); $activeTypes = $typeManager->getConfiguredTypes(); - $reader = new PDFStructureReader(); + $reader = new PDFStructureReader($serverProfileName); foreach ($activeTypes as $type) { $structures = getPDFStructures($type->getId(), $serverProfileName); foreach ($structures as $structure) { @@ -301,6 +301,17 @@ function installPDFTemplates() { */ class PDFStructureReader { + private $serverProfileName; + + /** + * Constructor. + * + * @param $serverProfileName server profile name + */ + public function __construct($serverProfileName) { + $this->serverProfileName = $serverProfileName; + } + /** * Reads a PDF structure. * @@ -324,7 +335,7 @@ class PDFStructureReader { * @return string file name */ protected function getFileName($typeId, $name) { - return dirname(__FILE__) . '/../config/pdf/' . $_SESSION['config']->getName() . '/' . $name . '.' . $typeId . '.xml'; + return dirname(__FILE__) . '/../config/pdf/' . $this->serverProfileName . '/' . $name . '.' . $typeId . '.xml'; } /** diff --git a/lam/templates/pdfedit/pdfpage.php b/lam/templates/pdfedit/pdfpage.php index 9d715473..061fb726 100644 --- a/lam/templates/pdfedit/pdfpage.php +++ b/lam/templates/pdfedit/pdfpage.php @@ -105,7 +105,7 @@ if(isset($_GET['abort'])) { // Load PDF structure from file if it is not defined in session if(!isset($_SESSION['currentPDFStructure'])) { // Load structure file to be edit - $reader = new PDFStructureReader(); + $reader = new PDFStructureReader($_SESSION['config']->getName()); try { if(isset($_GET['edit'])) { $_SESSION['currentPDFStructure'] = $reader->read($type->getId(), $_GET['edit']); diff --git a/lam/tests/lib/pdfstructTest.php b/lam/tests/lib/pdfstructTest.php index bf0ba93d..c7906b72 100644 --- a/lam/tests/lib/pdfstructTest.php +++ b/lam/tests/lib/pdfstructTest.php @@ -41,6 +41,7 @@ class ReadStructureTest extends TestCase { */ public function testRead() { $reader = $this->getMockBuilder('\LAM\PDF\PDFStructureReader') + ->setConstructorArgs(array('test')) ->setMethods(array('getFileName')) ->getMock(); $reader->method('getFileName')->willReturn($this->getTestFileName('test.xml')); @@ -99,6 +100,7 @@ class ReadStructureTest extends TestCase { fclose($fileHandle); // read structure $reader = $this->getMockBuilder('\LAM\PDF\PDFStructureReader') + ->setConstructorArgs(array('test')) ->setMethods(array('getFileName')) ->getMock(); $reader->method('getFileName')->willReturn($file);