PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.3
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 / phpexcel / Classes / PHPExcel / Writer / Excel2007 / DocProps.php

DocProps.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.0.3, at vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php

273 lines 8.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PHPExcel
4 *
5 * Copyright (c) 2006 - 2014 PHPExcel
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 *
21 * @category PHPExcel
22 * @package PHPExcel_Writer_Excel2007
23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25 * @version ##VERSION##, ##DATE##
26 */
27
28
29 /**
30 * PHPExcel_Writer_Excel2007_DocProps
31 *
32 * @category PHPExcel
33 * @package PHPExcel_Writer_Excel2007
34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36 class PHPExcel_Writer_Excel2007_DocProps extends PHPExcel_Writer_Excel2007_WriterPart
37 {
38 /**
39 * Write docProps/app.xml to XML format
40 *
41 * @param PHPExcel $pPHPExcel
42 * @return string XML Output
43 * @throws PHPExcel_Writer_Exception
44 */
45 public function writeDocPropsApp(PHPExcel $pPHPExcel = null)
46 {
47 // Create XML writer
48 $objWriter = null;
49 if ($this->getParentWriter()->getUseDiskCaching()) {
50 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
51 } else {
52 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
53 }
54
55 // XML header
56 $objWriter->startDocument('1.0','UTF-8','yes');
57
58 // Properties
59 $objWriter->startElement('Properties');
60 $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties');
61 $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
62
63 // Application
64 $objWriter->writeElement('Application', 'Microsoft Excel');
65
66 // DocSecurity
67 $objWriter->writeElement('DocSecurity', '0');
68
69 // ScaleCrop
70 $objWriter->writeElement('ScaleCrop', 'false');
71
72 // HeadingPairs
73 $objWriter->startElement('HeadingPairs');
74
75 // Vector
76 $objWriter->startElement('vt:vector');
77 $objWriter->writeAttribute('size', '2');
78 $objWriter->writeAttribute('baseType', 'variant');
79
80 // Variant
81 $objWriter->startElement('vt:variant');
82 $objWriter->writeElement('vt:lpstr', 'Worksheets');
83 $objWriter->endElement();
84
85 // Variant
86 $objWriter->startElement('vt:variant');
87 $objWriter->writeElement('vt:i4', $pPHPExcel->getSheetCount());
88 $objWriter->endElement();
89
90 $objWriter->endElement();
91
92 $objWriter->endElement();
93
94 // TitlesOfParts
95 $objWriter->startElement('TitlesOfParts');
96
97 // Vector
98 $objWriter->startElement('vt:vector');
99 $objWriter->writeAttribute('size', $pPHPExcel->getSheetCount());
100 $objWriter->writeAttribute('baseType', 'lpstr');
101
102 $sheetCount = $pPHPExcel->getSheetCount();
103 for ($i = 0; $i < $sheetCount; ++$i) {
104 $objWriter->writeElement('vt:lpstr', $pPHPExcel->getSheet($i)->getTitle());
105 }
106
107 $objWriter->endElement();
108
109 $objWriter->endElement();
110
111 // Company
112 $objWriter->writeElement('Company', $pPHPExcel->getProperties()->getCompany());
113
114 // Company
115 $objWriter->writeElement('Manager', $pPHPExcel->getProperties()->getManager());
116
117 // LinksUpToDate
118 $objWriter->writeElement('LinksUpToDate', 'false');
119
120 // SharedDoc
121 $objWriter->writeElement('SharedDoc', 'false');
122
123 // HyperlinksChanged
124 $objWriter->writeElement('HyperlinksChanged', 'false');
125
126 // AppVersion
127 $objWriter->writeElement('AppVersion', '12.0000');
128
129 $objWriter->endElement();
130
131 // Return
132 return $objWriter->getData();
133 }
134
135 /**
136 * Write docProps/core.xml to XML format
137 *
138 * @param PHPExcel $pPHPExcel
139 * @return string XML Output
140 * @throws PHPExcel_Writer_Exception
141 */
142 public function writeDocPropsCore(PHPExcel $pPHPExcel = null)
143 {
144 // Create XML writer
145 $objWriter = null;
146 if ($this->getParentWriter()->getUseDiskCaching()) {
147 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
148 } else {
149 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
150 }
151
152 // XML header
153 $objWriter->startDocument('1.0','UTF-8','yes');
154
155 // cp:coreProperties
156 $objWriter->startElement('cp:coreProperties');
157 $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties');
158 $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
159 $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/');
160 $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/');
161 $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
162
163 // dc:creator
164 $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator());
165
166 // cp:lastModifiedBy
167 $objWriter->writeElement('cp:lastModifiedBy', $pPHPExcel->getProperties()->getLastModifiedBy());
168
169 // dcterms:created
170 $objWriter->startElement('dcterms:created');
171 $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF');
172 $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getCreated()));
173 $objWriter->endElement();
174
175 // dcterms:modified
176 $objWriter->startElement('dcterms:modified');
177 $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF');
178 $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getModified()));
179 $objWriter->endElement();
180
181 // dc:title
182 $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle());
183
184 // dc:description
185 $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription());
186
187 // dc:subject
188 $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject());
189
190 // cp:keywords
191 $objWriter->writeElement('cp:keywords', $pPHPExcel->getProperties()->getKeywords());
192
193 // cp:category
194 $objWriter->writeElement('cp:category', $pPHPExcel->getProperties()->getCategory());
195
196 $objWriter->endElement();
197
198 // Return
199 return $objWriter->getData();
200 }
201
202 /**
203 * Write docProps/custom.xml to XML format
204 *
205 * @param PHPExcel $pPHPExcel
206 * @return string XML Output
207 * @throws PHPExcel_Writer_Exception
208 */
209 public function writeDocPropsCustom(PHPExcel $pPHPExcel = null)
210 {
211 $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties();
212 if (empty($customPropertyList)) {
213 return;
214 }
215
216 // Create XML writer
217 $objWriter = null;
218 if ($this->getParentWriter()->getUseDiskCaching()) {
219 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
220 } else {
221 $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
222 }
223
224 // XML header
225 $objWriter->startDocument('1.0','UTF-8','yes');
226
227 // cp:coreProperties
228 $objWriter->startElement('Properties');
229 $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties');
230 $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
231
232
233 foreach($customPropertyList as $key => $customProperty) {
234 $propertyValue = $pPHPExcel->getProperties()->getCustomPropertyValue($customProperty);
235 $propertyType = $pPHPExcel->getProperties()->getCustomPropertyType($customProperty);
236
237 $objWriter->startElement('property');
238 $objWriter->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}');
239 $objWriter->writeAttribute('pid', $key+2);
240 $objWriter->writeAttribute('name', $customProperty);
241
242 switch($propertyType) {
243 case 'i' :
244 $objWriter->writeElement('vt:i4', $propertyValue);
245 break;
246 case 'f' :
247 $objWriter->writeElement('vt:r8', $propertyValue);
248 break;
249 case 'b' :
250 $objWriter->writeElement('vt:bool', ($propertyValue) ? 'true' : 'false');
251 break;
252 case 'd' :
253 $objWriter->startElement('vt:filetime');
254 $objWriter->writeRawData(date(DATE_W3C, $propertyValue));
255 $objWriter->endElement();
256 break;
257 default :
258 $objWriter->writeElement('vt:lpwstr', $propertyValue);
259 break;
260 }
261
262 $objWriter->endElement();
263 }
264
265
266 $objWriter->endElement();
267
268 // Return
269 return $objWriter->getData();
270 }
271
272 }
273