PhpOffice\PhpPresentation\Writer\PowerPoint2007\PptCharts::writeMultipleValuesOrReference PHP Method

writeMultipleValuesOrReference() protected method

Write series value or reference
protected writeMultipleValuesOrReference ( PhpOffice\Common\XMLWriter $objWriter, boolean $isReference, mixed $values, string $reference )
$objWriter PhpOffice\Common\XMLWriter XML Writer
$isReference boolean
$values mixed
$reference string
    protected function writeMultipleValuesOrReference($objWriter, $isReference, $values, $reference)
    {
        // c:strLit / c:numLit
        // c:strRef / c:numRef
        $referenceType = $isReference ? 'Ref' : 'Lit';
        $dataType = 'str';
        if (is_int($values[0]) || is_float($values[0])) {
            $dataType = 'num';
        }
        $objWriter->startElement('c:' . $dataType . $referenceType);
        $numValues = count($values);
        if (!$isReference) {
            // Value
            // c:ptCount
            $objWriter->startElement('c:ptCount');
            $objWriter->writeAttribute('val', count($values));
            $objWriter->endElement();
            // Add points
            for ($i = 0; $i < $numValues; $i++) {
                // c:pt
                $objWriter->startElement('c:pt');
                $objWriter->writeAttribute('idx', $i);
                $objWriter->writeElement('c:v', $values[$i]);
                $objWriter->endElement();
            }
        } else {
            // Reference
            $objWriter->writeElement('c:f', $reference);
            $objWriter->startElement('c:' . $dataType . 'Cache');
            // c:ptCount
            $objWriter->startElement('c:ptCount');
            $objWriter->writeAttribute('val', count($values));
            $objWriter->endElement();
            // Add points
            for ($i = 0; $i < $numValues; $i++) {
                // c:pt
                $objWriter->startElement('c:pt');
                $objWriter->writeAttribute('idx', $i);
                $objWriter->writeElement('c:v', $values[$i]);
                $objWriter->endElement();
            }
            $objWriter->endElement();
        }
        $objWriter->endElement();
    }