PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.11.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.11.0
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / phpoffice / phpspreadsheet / src / PhpSpreadsheet / Writer / Ods / Meta.php

Meta.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.11.0, at vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php

78 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PhpOffice\PhpSpreadsheet\Writer\Ods;
4
5 use PhpOffice\PhpSpreadsheet\Shared\XMLWriter;
6 use PhpOffice\PhpSpreadsheet\Spreadsheet;
7
8 class Meta extends WriterPart
9 {
10 /**
11 * Write meta.xml to XML format.
12 *
13 * @param Spreadsheet $spreadsheet
14 *
15 * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
16 *
17 * @return string XML Output
18 */
19 public function write(Spreadsheet $spreadsheet = null)
20 {
21 if (!$spreadsheet) {
22 $spreadsheet = $this->getParentWriter()->getSpreadsheet();
23 }
24
25 $objWriter = null;
26 if ($this->getParentWriter()->getUseDiskCaching()) {
27 $objWriter = new XMLWriter(XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
28 } else {
29 $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
30 }
31
32 // XML header
33 $objWriter->startDocument('1.0', 'UTF-8');
34
35 // Meta
36 $objWriter->startElement('office:document-meta');
37
38 $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0');
39 $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
40 $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
41 $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0');
42 $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office');
43 $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#');
44 $objWriter->writeAttribute('office:version', '1.2');
45
46 $objWriter->startElement('office:meta');
47
48 $objWriter->writeElement('meta:initial-creator', $spreadsheet->getProperties()->getCreator());
49 $objWriter->writeElement('dc:creator', $spreadsheet->getProperties()->getCreator());
50 $objWriter->writeElement('meta:creation-date', date(DATE_W3C, $spreadsheet->getProperties()->getCreated()));
51 $objWriter->writeElement('dc:date', date(DATE_W3C, $spreadsheet->getProperties()->getCreated()));
52 $objWriter->writeElement('dc:title', $spreadsheet->getProperties()->getTitle());
53 $objWriter->writeElement('dc:description', $spreadsheet->getProperties()->getDescription());
54 $objWriter->writeElement('dc:subject', $spreadsheet->getProperties()->getSubject());
55 $keywords = explode(' ', $spreadsheet->getProperties()->getKeywords());
56 foreach ($keywords as $keyword) {
57 $objWriter->writeElement('meta:keyword', $keyword);
58 }
59
60 //<meta:document-statistic meta:table-count="XXX" meta:cell-count="XXX" meta:object-count="XXX"/>
61 $objWriter->startElement('meta:user-defined');
62 $objWriter->writeAttribute('meta:name', 'Company');
63 $objWriter->writeRaw($spreadsheet->getProperties()->getCompany());
64 $objWriter->endElement();
65
66 $objWriter->startElement('meta:user-defined');
67 $objWriter->writeAttribute('meta:name', 'category');
68 $objWriter->writeRaw($spreadsheet->getProperties()->getCategory());
69 $objWriter->endElement();
70
71 $objWriter->endElement();
72
73 $objWriter->endElement();
74
75 return $objWriter->getData();
76 }
77 }
78