diff --git a/CHANGELOG.md b/CHANGELOG.md index 3272cf7a8..843202b7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 0.8.0 - WIP ### Bugfix +- PowerPoint2007 Writer : Fixed the marker on line chart when symbol is none - @Napryc GH-211 - PowerPoint2007 Writer : The presentation need repairs on Mac @jrking4 GH-266 GH-276 - PowerPoint2007 Writer : Fix for PowerPoint2007 Writer (Need repair) @Progi1984 GH-266 GH-274 GH-276 GH-282 GH-302 diff --git a/src/PhpPresentation/Writer/PowerPoint2007/PptCharts.php b/src/PhpPresentation/Writer/PowerPoint2007/PptCharts.php index 7adea1b18..1bec446f0 100644 --- a/src/PhpPresentation/Writer/PowerPoint2007/PptCharts.php +++ b/src/PhpPresentation/Writer/PowerPoint2007/PptCharts.php @@ -196,9 +196,9 @@ public function writeChart(Chart $chart) /** * Write chart to XML format * - * @param PhpPresentation $presentation + * @param PhpPresentation $presentation * @param \PhpOffice\PhpPresentation\Shape\Chart $chart - * @param string $tempName + * @param string $tempName * @return string String output * @throws \Exception */ @@ -258,7 +258,7 @@ public function writeSpreadsheet(PhpPresentation $presentation, $chart, $tempNam // Load file in memory $returnValue = file_get_contents($tempName); if (@unlink($tempName) === false) { - throw new \Exception('The file '.$tempName.' could not removed.'); + throw new \Exception('The file ' . $tempName . ' could not removed.'); } return $returnValue; @@ -267,9 +267,9 @@ public function writeSpreadsheet(PhpPresentation $presentation, $chart, $tempNam /** * Write element with value attribute * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer - * @param string $elementName - * @param string $value + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param string $elementName + * @param string $value */ protected function writeElementWithValAttribute($objWriter, $elementName, $value) { @@ -281,10 +281,10 @@ protected function writeElementWithValAttribute($objWriter, $elementName, $value /** * Write single value or reference * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer - * @param boolean $isReference - * @param mixed $value - * @param string $reference + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param boolean $isReference + * @param mixed $value + * @param string $reference */ protected function writeSingleValueOrReference($objWriter, $isReference, $value, $reference) { @@ -313,10 +313,10 @@ protected function writeSingleValueOrReference($objWriter, $isReference, $value, /** * Write series value or reference * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer - * @param boolean $isReference - * @param mixed $values - * @param string $reference + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param boolean $isReference + * @param mixed $values + * @param string $reference */ protected function writeMultipleValuesOrReference($objWriter, $isReference, $values, $reference) { @@ -374,7 +374,7 @@ protected function writeMultipleValuesOrReference($objWriter, $isReference, $val /** * Write Title * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Title $subject * @throws \Exception */ @@ -473,9 +473,9 @@ protected function writeTitle(XMLWriter $objWriter, Title $subject) /** * Write Plot Area * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\PlotArea $subject - * @param \PhpOffice\PhpPresentation\Shape\Chart $chart + * @param \PhpOffice\PhpPresentation\Shape\Chart $chart * @throws \Exception */ protected function writePlotArea(XMLWriter $objWriter, PlotArea $subject, Chart $chart) @@ -522,7 +522,7 @@ protected function writePlotArea(XMLWriter $objWriter, PlotArea $subject, Chart /** * Write Legend * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Legend $subject * @throws \Exception */ @@ -622,7 +622,7 @@ protected function writeLegend(XMLWriter $objWriter, Legend $subject) * Write Layout * * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer - * @param mixed $subject + * @param mixed $subject * @throws \Exception */ protected function writeLayout(XMLWriter $objWriter, $subject) @@ -677,9 +677,9 @@ protected function writeLayout(XMLWriter $objWriter, $subject) /** * Write Type Area * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Area $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypeArea(XMLWriter $objWriter, Area $subject, $includeSheet = false) @@ -780,9 +780,9 @@ protected function writeTypeArea(XMLWriter $objWriter, Area $subject, $includeSh /** * Write Type Bar * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Bar $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypeBar(XMLWriter $objWriter, Bar $subject, $includeSheet = false) @@ -996,9 +996,9 @@ protected function writeTypeBar(XMLWriter $objWriter, Bar $subject, $includeShee /** * Write Type Bar3D * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Bar3D $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypeBar3D(XMLWriter $objWriter, Bar3D $subject, $includeSheet = false) @@ -1195,9 +1195,9 @@ protected function writeTypeBar3D(XMLWriter $objWriter, Bar3D $subject, $include /** * Write Type Pie * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Pie $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypePie(XMLWriter $objWriter, Pie $subject, $includeSheet = false) @@ -1355,9 +1355,9 @@ protected function writeTypePie(XMLWriter $objWriter, Pie $subject, $includeShee /** * Write Type Pie3D * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Pie3D $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypePie3D(XMLWriter $objWriter, Pie3D $subject, $includeSheet = false) @@ -1520,9 +1520,9 @@ protected function writeTypePie3D(XMLWriter $objWriter, Pie3D $subject, $include /** * Write Type Line * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Line $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypeLine(XMLWriter $objWriter, Line $subject, $includeSheet = false) @@ -1690,9 +1690,9 @@ protected function writeTypeLine(XMLWriter $objWriter, Line $subject, $includeSh /** * Write Type Scatter * - * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer + * @param \PhpOffice\Common\XMLWriter $objWriter XML Writer * @param \PhpOffice\PhpPresentation\Shape\Chart\Type\Scatter $subject - * @param boolean $includeSheet + * @param boolean $includeSheet * @throws \Exception */ protected function writeTypeScatter(XMLWriter $objWriter, Scatter $subject, $includeSheet = false) @@ -1858,6 +1858,7 @@ protected function writeTypeScatter(XMLWriter $objWriter, Scatter $subject, $inc $objWriter->endElement(); } + /** * Write chart relationships to XML format * @@ -1894,6 +1895,14 @@ public function writeChartRelationships(Chart $pChart) */ protected function writeSeriesMarker(XMLWriter $objWriter, Chart\Marker $oMarker) { + // c:marker + $objWriter->startElement('c:marker'); + // c:marker > c:symbol + $objWriter->startElement('c:symbol'); + $objWriter->writeAttribute('val', $oMarker->getSymbol()); + $objWriter->endElement(); + + // Size if different of none if ($oMarker->getSymbol() != Chart\Marker::SYMBOL_NONE) { $markerSize = (int)$oMarker->getSize(); if ($markerSize < 2) { @@ -1903,13 +1912,6 @@ protected function writeSeriesMarker(XMLWriter $objWriter, Chart\Marker $oMarker $markerSize = 72; } - // c:marker - $objWriter->startElement('c:marker'); - - // c:marker > c:symbol - $objWriter->startElement('c:symbol'); - $objWriter->writeAttribute('val', $oMarker->getSymbol()); - $objWriter->endElement(); /** * c:marker > c:size * Size in points @@ -1918,9 +1920,8 @@ protected function writeSeriesMarker(XMLWriter $objWriter, Chart\Marker $oMarker $objWriter->startElement('c:size'); $objWriter->writeAttribute('val', $markerSize); $objWriter->endElement(); - - $objWriter->endElement(); } + $objWriter->endElement(); } /** diff --git a/tests/PhpPresentation/Tests/Writer/PowerPoint2007/PptChartsTest.php b/tests/PhpPresentation/Tests/Writer/PowerPoint2007/PptChartsTest.php index 05eda2bc2..7863961d0 100644 --- a/tests/PhpPresentation/Tests/Writer/PowerPoint2007/PptChartsTest.php +++ b/tests/PhpPresentation/Tests/Writer/PowerPoint2007/PptChartsTest.php @@ -392,7 +392,7 @@ public function testTypeLineMarker() $oLine->setSeries(array($oSeries)); $oXMLDoc = TestHelperDOCX::getDocument($this->oPresentation, 'PowerPoint2007'); - $this->assertFalse($oXMLDoc->elementExists($expectedEltSymbol, 'ppt/charts/'.$oShape->getIndexedFilename())); + $this->assertTrue($oXMLDoc->elementExists($expectedEltSymbol, 'ppt/charts/' . $oShape->getIndexedFilename())); $this->assertFalse($oXMLDoc->elementExists($expectedElementSize, 'ppt/charts/'.$oShape->getIndexedFilename())); } @@ -644,7 +644,7 @@ public function testTypeScatterMarker() $oScatter->setSeries(array($oSeries)); $oXMLDoc = TestHelperDOCX::getDocument($this->oPresentation, 'PowerPoint2007'); - $this->assertFalse($oXMLDoc->elementExists($expectedEltSymbol, 'ppt/charts/'.$oShape->getIndexedFilename())); + $this->assertTrue($oXMLDoc->elementExists($expectedEltSymbol, 'ppt/charts/' . $oShape->getIndexedFilename())); $this->assertFalse($oXMLDoc->elementExists($expectedElementSize, 'ppt/charts/'.$oShape->getIndexedFilename())); }