Completed
Pull Request — develop (#186)
by
unknown
07:55
created

DocPropsApp   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 96
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
c 1
b 0
f 0
lcom 1
cbo 4
dl 0
loc 96
ccs 42
cts 42
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B render() 0 90 1
1
<?php
2
3
namespace PhpOffice\PhpPresentation\Writer\PowerPoint2007;
4
5
use PhpOffice\Common\XMLWriter;
6
7
class DocPropsApp extends AbstractDecoratorWriter
8
{
9
    /*
10
     *
11
     */
12 75
    public function render()
13
    {
14
        // Create XML writer
15 75
        $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
16
17
        // XML header
18 75
        $objWriter->startDocument('1.0', 'UTF-8', 'yes');
19
20
        // Properties
21 75
        $objWriter->startElement('Properties');
22 75
        $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties');
23 75
        $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
24
25
        // Application
26 75
        $objWriter->writeElement('Application', 'Microsoft Office PowerPoint');
27
28
        // Slides
29 75
        $objWriter->writeElement('Slides', $this->getPresentation()->getSlideCount());
30
31
        // ScaleCrop
32 75
        $objWriter->writeElement('ScaleCrop', 'false');
33
34
        // HeadingPairs
35 75
        $objWriter->startElement('HeadingPairs');
36
37
        // Vector
38 75
        $objWriter->startElement('vt:vector');
39 75
        $objWriter->writeAttribute('size', '4');
40 75
        $objWriter->writeAttribute('baseType', 'variant');
41
42
        // Variant
43 75
        $objWriter->startElement('vt:variant');
44 75
        $objWriter->writeElement('vt:lpstr', 'Theme');
45 75
        $objWriter->endElement();
46
47
        // Variant
48 75
        $objWriter->startElement('vt:variant');
49 75
        $objWriter->writeElement('vt:i4', '1');
50 75
        $objWriter->endElement();
51
52
        // Variant
53 75
        $objWriter->startElement('vt:variant');
54 75
        $objWriter->writeElement('vt:lpstr', 'Slide Titles');
55 75
        $objWriter->endElement();
56
57
        // Variant
58 75
        $objWriter->startElement('vt:variant');
59 75
        $objWriter->writeElement('vt:i4', '1');
60 75
        $objWriter->endElement();
61
62 75
        $objWriter->endElement();
63
64 75
        $objWriter->endElement();
65
66
        // TitlesOfParts
67 75
        $objWriter->startElement('TitlesOfParts');
68
69
        // Vector
70 75
        $objWriter->startElement('vt:vector');
71 75
        $objWriter->writeAttribute('size', '1');
72 75
        $objWriter->writeAttribute('baseType', 'lpstr');
73
74 75
        $objWriter->writeElement('vt:lpstr', 'Office Theme');
75
76 75
        $objWriter->endElement();
77
78 75
        $objWriter->endElement();
79
80
        // Company
81 75
        $objWriter->writeElement('Company', $this->getPresentation()->getDocumentProperties()->getCompany());
82
83
        // LinksUpToDate
84 75
        $objWriter->writeElement('LinksUpToDate', 'false');
85
86
        // SharedDoc
87 75
        $objWriter->writeElement('SharedDoc', 'false');
88
89
        // HyperlinksChanged
90 75
        $objWriter->writeElement('HyperlinksChanged', 'false');
91
92
        // AppVersion
93 75
        $objWriter->writeElement('AppVersion', '12.0000');
94
95 75
        $objWriter->endElement();
96
97 75
        $this->oZip->addFromString('docProps/app.xml', $objWriter->getData());
98
99
        // Return
100 75
        return $this->oZip;
101
    }
102
}
103