1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
27:
28: 29: 30:
31: class PHPWord_Writer_Word2007_DocProps extends PHPWord_Writer_Word2007_WriterPart
32: {
33:
34: public function writeDocPropsApp(PHPWord $pPHPWord = null)
35: {
36:
37: $objWriter = null;
38: if ($this->getParentWriter()->getUseDiskCaching()) {
39: $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
40: } else {
41: $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_MEMORY);
42: }
43:
44:
45: $objWriter->startDocument('1.0', 'UTF-8', 'yes');
46:
47:
48: $objWriter->startElement('Properties');
49: $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties');
50: $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
51:
52:
53: $objWriter->writeElement('Application', 'Microsoft Office Word');
54:
55:
56: $objWriter->writeElement('ScaleCrop', 'false');
57:
58:
59: $objWriter->startElement('HeadingPairs');
60:
61:
62: $objWriter->startElement('vt:vector');
63: $objWriter->writeAttribute('size', '4');
64: $objWriter->writeAttribute('baseType', 'variant');
65:
66:
67: $objWriter->startElement('vt:variant');
68: $objWriter->writeElement('vt:lpstr', 'Theme');
69: $objWriter->endElement();
70:
71:
72: $objWriter->startElement('vt:variant');
73: $objWriter->writeElement('vt:i4', '1');
74: $objWriter->endElement();
75:
76:
77: $objWriter->startElement('vt:variant');
78: $objWriter->writeElement('vt:lpstr', 'Slide Titles');
79: $objWriter->endElement();
80:
81:
82: $objWriter->startElement('vt:variant');
83: $objWriter->writeElement('vt:i4', '1');
84: $objWriter->endElement();
85:
86: $objWriter->endElement();
87:
88: $objWriter->endElement();
89:
90:
91: $objWriter->startElement('TitlesOfParts');
92:
93:
94: $objWriter->startElement('vt:vector');
95: $objWriter->writeAttribute('size', '1');
96: $objWriter->writeAttribute('baseType', 'lpstr');
97:
98: $objWriter->writeElement('vt:lpstr', 'Office Theme');
99:
100: $objWriter->endElement();
101:
102: $objWriter->endElement();
103:
104:
105: $objWriter->writeElement('Company', $pPHPWord->getProperties()->getCompany());
106:
107:
108: $objWriter->writeElement('LinksUpToDate', 'false');
109:
110:
111: $objWriter->writeElement('SharedDoc', 'false');
112:
113:
114: $objWriter->writeElement('HyperlinksChanged', 'false');
115:
116:
117: $objWriter->writeElement('AppVersion', '12.0000');
118:
119: $objWriter->endElement();
120:
121:
122: return $objWriter->getData();
123: }
124:
125:
126: public function writeDocPropsCore(PHPWord $pPHPWord = null)
127: {
128:
129: $objWriter = null;
130: if ($this->getParentWriter()->getUseDiskCaching()) {
131: $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
132: } else {
133: $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_MEMORY);
134: }
135:
136:
137: $objWriter->startDocument('1.0', 'UTF-8', 'yes');
138:
139:
140: $objWriter->startElement('cp:coreProperties');
141: $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties');
142: $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
143: $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/');
144: $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/');
145: $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
146:
147:
148: $objWriter->writeElement('dc:creator', $pPHPWord->getProperties()->getCreator());
149:
150:
151: $objWriter->writeElement('cp:lastModifiedBy', $pPHPWord->getProperties()->getLastModifiedBy());
152:
153:
154: $objWriter->startElement('dcterms:created');
155: $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF');
156: $objWriter->writeRaw(date(DATE_W3C, $pPHPWord->getProperties()->getCreated()));
157: $objWriter->endElement();
158:
159:
160: $objWriter->startElement('dcterms:modified');
161: $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF');
162: $objWriter->writeRaw(date(DATE_W3C, $pPHPWord->getProperties()->getModified()));
163: $objWriter->endElement();
164:
165:
166: $objWriter->writeElement('dc:title', $pPHPWord->getProperties()->getTitle());
167:
168:
169: $objWriter->writeElement('dc:description', $pPHPWord->getProperties()->getDescription());
170:
171:
172: $objWriter->writeElement('dc:subject', $pPHPWord->getProperties()->getSubject());
173:
174:
175: $objWriter->writeElement('cp:keywords', $pPHPWord->getProperties()->getKeywords());
176:
177:
178: $objWriter->writeElement('cp:category', $pPHPWord->getProperties()->getCategory());
179:
180: $objWriter->endElement();
181:
182:
183: return $objWriter->getData();
184: }
185: }
186: