123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace PhpOffice\PhpSpreadsheet\Writer\Ods;
- use PhpOffice\PhpSpreadsheet\Shared\XMLWriter;
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
- class Settings extends WriterPart
- {
- /**
- * Write settings.xml to XML format.
- *
- * @param Spreadsheet $spreadsheet
- *
- * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
- *
- * @return string XML Output
- */
- public function write(Spreadsheet $spreadsheet = null)
- {
- $objWriter = null;
- if ($this->getParentWriter()->getUseDiskCaching()) {
- $objWriter = new XMLWriter(XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
- } else {
- $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
- }
- // XML header
- $objWriter->startDocument('1.0', 'UTF-8');
- // Settings
- $objWriter->startElement('office:document-settings');
- $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0');
- $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
- $objWriter->writeAttribute('xmlns:config', 'urn:oasis:names:tc:opendocument:xmlns:config:1.0');
- $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office');
- $objWriter->writeAttribute('office:version', '1.2');
- $objWriter->startElement('office:settings');
- $objWriter->startElement('config:config-item-set');
- $objWriter->writeAttribute('config:name', 'ooo:view-settings');
- $objWriter->startElement('config:config-item-map-indexed');
- $objWriter->writeAttribute('config:name', 'Views');
- $objWriter->endElement();
- $objWriter->endElement();
- $objWriter->startElement('config:config-item-set');
- $objWriter->writeAttribute('config:name', 'ooo:configuration-settings');
- $objWriter->endElement();
- $objWriter->endElement();
- $objWriter->endElement();
- return $objWriter->getData();
- }
- }
|