config export
This commit is contained in:
parent
a246fde0e2
commit
ffd74d88e4
|
@ -542,6 +542,28 @@ class PDFStructure {
|
||||||
|
|
||||||
private $sections = array();
|
private $sections = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array representation of the structure.
|
||||||
|
*
|
||||||
|
* @return array export data
|
||||||
|
*/
|
||||||
|
public function export() {
|
||||||
|
$data = array();
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
$data['foldingMarks'] = $this->foldingMarks;
|
||||||
|
$data['logo'] = $this->logo;
|
||||||
|
$data['sections'] = array();
|
||||||
|
foreach($this->sections as $section) {
|
||||||
|
$type = ($section instanceof PDFTextSection) ? 'text' : 'entry';
|
||||||
|
$sectionData = $section->export();
|
||||||
|
$data['sections'][] = array(
|
||||||
|
'type' => $type,
|
||||||
|
'data' => $sectionData
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the logo file path.
|
* Returns the logo file path.
|
||||||
*
|
*
|
||||||
|
@ -634,6 +656,15 @@ class PDFTextSection {
|
||||||
$this->text = $text;
|
$this->text = $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Exports the section.
|
||||||
|
*
|
||||||
|
* @return string text
|
||||||
|
*/
|
||||||
|
public function export() {
|
||||||
|
return $this->getText();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the text.
|
* Returns the text.
|
||||||
*
|
*
|
||||||
|
@ -664,6 +695,21 @@ class PDFEntrySection {
|
||||||
$this->title = $title;
|
$this->title = $title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Exports the section.
|
||||||
|
*
|
||||||
|
* @return array export data
|
||||||
|
*/
|
||||||
|
public function export() {
|
||||||
|
$data = array();
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
$data['entries'] = array();
|
||||||
|
foreach($this->getEntries() as $entry) {
|
||||||
|
$data['entries'][] = $entry->getKey();
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns if the title is an attribute value.
|
* Returns if the title is an attribute value.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use LAM\PDF\PDFSectionEntry;
|
||||||
use LAM\PDF\PDFTextSection;
|
use LAM\PDF\PDFTextSection;
|
||||||
use LAM\PDF\PDFEntrySection;
|
use LAM\PDF\PDFEntrySection;
|
||||||
use LAM\PDF\PDFStructureReader;
|
use LAM\PDF\PDFStructureReader;
|
||||||
|
@ -26,7 +28,7 @@ use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include_once 'lam/lib/pdfstruct.inc';
|
include_once __DIR__ . '/../../lib/pdfstruct.inc';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads a sample PDF structure.
|
* Reads a sample PDF structure.
|
||||||
|
@ -114,4 +116,83 @@ class ReadStructureTest extends TestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests PDFTextSection
|
||||||
|
*/
|
||||||
|
class PDFTextSectionTest extends TestCase {
|
||||||
|
|
||||||
|
public function testExport() {
|
||||||
|
$section = new PDFTextSection('sometext');
|
||||||
|
|
||||||
|
$data = $section->export();
|
||||||
|
|
||||||
|
$this->assertEquals('sometext', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests PDFEntrySection
|
||||||
|
*/
|
||||||
|
class PDFEntrySectionTest extends TestCase {
|
||||||
|
|
||||||
|
public function testExport() {
|
||||||
|
$section = new PDFEntrySection('mytitle');
|
||||||
|
$section->setEntries(array(new PDFSectionEntry('key1'), new PDFSectionEntry('key2')));
|
||||||
|
|
||||||
|
$data = $section->export();
|
||||||
|
|
||||||
|
$expected = array(
|
||||||
|
'title' => 'mytitle',
|
||||||
|
'entries' => array('key1', 'key2')
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertEquals($expected, $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests PDFStructure
|
||||||
|
*/
|
||||||
|
class PDFStructureTest extends TestCase {
|
||||||
|
|
||||||
|
public function testExport() {
|
||||||
|
$structure = new PDFStructure();
|
||||||
|
$structure->setFoldingMarks(PDFStructure::FOLDING_STANDARD);
|
||||||
|
$structure->setLogo('somelogo');
|
||||||
|
$structure->setTitle('mytitle');
|
||||||
|
$entrySection = new PDFEntrySection('sometitle');
|
||||||
|
$entrySection->setEntries(array(new PDFSectionEntry('key1')));
|
||||||
|
$structure->setSections(array(
|
||||||
|
new PDFTextSection('sometext'),
|
||||||
|
$entrySection
|
||||||
|
));
|
||||||
|
|
||||||
|
$data = $structure->export();
|
||||||
|
|
||||||
|
$expected = array(
|
||||||
|
'title' => 'mytitle',
|
||||||
|
'foldingMarks' => PDFStructure::FOLDING_STANDARD,
|
||||||
|
'logo' => 'somelogo',
|
||||||
|
'sections' => array(
|
||||||
|
array(
|
||||||
|
'type' => 'text',
|
||||||
|
'data' => 'sometext'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'type' => 'entry',
|
||||||
|
'data' => array(
|
||||||
|
'title' => 'sometitle',
|
||||||
|
'entries' => array('key1')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertEquals($expected, $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
Loading…
Reference in New Issue