PhpOffice\PhpPresentation\Reader\PowerPoint2007::loadLayoutSlide PHP Method

loadLayoutSlide() private method

private loadLayoutSlide ( $sPart, $baseFile, SlideMaster $oSlideMaster )
$oSlideMaster PhpOffice\PhpPresentation\Slide\SlideMaster
    private function loadLayoutSlide($sPart, $baseFile, SlideMaster $oSlideMaster)
    {
        $xmlReader = new XMLReader();
        if ($xmlReader->getDomFromString($sPart)) {
            // Core
            $oSlideLayout = new SlideLayout($oSlideMaster);
            $oSlideLayout->setRelsIndex('ppt/slideLayouts/_rels/' . $baseFile . '.rels');
            // Name
            $oElement = $xmlReader->getElement('/p:sldLayout/p:cSld');
            if ($oElement && $oElement->hasAttribute('name')) {
                $oSlideLayout->setLayoutName($oElement->getAttribute('name'));
            }
            // Background
            $oElement = $xmlReader->getElement('/p:sldLayout/p:cSld/p:bg');
            if ($oElement) {
                $this->loadSlideBackground($xmlReader, $oElement, $oSlideLayout);
            }
            // ColorMapping
            $oElement = $xmlReader->getElement('/p:sldLayout/p:clrMapOvr/a:overrideClrMapping');
            if ($oElement && $oElement->hasAttributes()) {
                $colorMap = array();
                foreach ($oElement->attributes as $attr) {
                    $colorMap[$attr->nodeName] = $attr->nodeValue;
                }
                $oSlideLayout->colorMap->setMapping($colorMap);
            }
            // Shapes
            $oElements = $xmlReader->getElements('/p:sldLayout/p:cSld/p:spTree/*');
            if ($oElements) {
                $this->loadSlideShapes($oSlideLayout, $oElements, $xmlReader);
            }
            $this->arraySlideLayouts[$baseFile] =& $oSlideLayout;
            return $oSlideLayout;
        }
        return null;
    }