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

DocPropsApp::render()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 90
Code Lines 42

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 42
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 90
ccs 42
cts 42
cp 1
rs 8.5454
cc 1
eloc 42
nc 1
nop 0
crap 1

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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