public function generate(ReportSummary $reportSummary)
    {
        if (!\extension_loaded('dom')) {
            throw new \RuntimeException('Cannot generate report! `ext-dom` is not available!');
        }

        $dom = new \DOMDocument('1.0', 'UTF-8');
        // new nodes should be added to this or existing children
        $root = $dom->createElement('report');
        $dom->appendChild($root);

        $filesXML = $dom->createElement('files');
        $root->appendChild($filesXML);

        $i = 1;
        foreach ($reportSummary->getChanged() as $file => $fixResult) {
            $fileXML = $dom->createElement('file');
            $fileXML->setAttribute('id', (string) $i++);
            $fileXML->setAttribute('name', $file);
            $filesXML->appendChild($fileXML);

            if ($reportSummary->shouldAddAppliedFixers()) {
                $fileXML->appendChild($this->createAppliedFixersElement($dom, $fixResult));
            }

            if (!empty($fixResult['diff'])) {
                $fileXML->appendChild($this->createDiffElement($dom, $fixResult));
            }
        }

        if (0 !== $reportSummary->getTime()) {
            $root->appendChild($this->createTimeElement($reportSummary->getTime(), $dom));
        }

        if (0 !== $reportSummary->getMemory()) {
            $root->appendChild($this->createMemoryElement($reportSummary->getMemory(), $dom));
        }

        $dom->formatOutput = true;

        return $reportSummary->isDecoratedOutput() ? OutputFormatter::escape($dom->saveXML()) : $dom->saveXML();
    }
public function generate(ReportSummary $reportSummary)
    {
        if (!\extension_loaded('dom')) {
            throw new \RuntimeException('Cannot generate report! `ext-dom` is not available!');
        }

        $dom = new \DOMDocument('1.0', 'UTF-8');
        
        $root = $dom->createElement('report');
        $dom->appendChild($root);

        $filesXML = $dom->createElement('files');
        $root->appendChild($filesXML);

        $i = 1;
        foreach ($reportSummary->getChanged() as $file => $fixResult) {
            $fileXML = $dom->createElement('file');
            $fileXML->setAttribute('id', (string) $i++);
            $fileXML->setAttribute('name', $file);
            $filesXML->appendChild($fileXML);

            if ($reportSummary->shouldAddAppliedFixers()) {
                $fileXML->appendChild($this->createAppliedFixersElement($dom, $fixResult));
            }

            if (!empty($fixResult['diff'])) {
                $fileXML->appendChild($this->createDiffElement($dom, $fixResult));
            }
        }

        if (0 !== $reportSummary->getTime()) {
            $root->appendChild($this->createTimeElement($reportSummary->getTime(), $dom));
        }

        if (0 !== $reportSummary->getMemory()) {
            $root->appendChild($this->createMemoryElement($reportSummary->getMemory(), $dom));
        }

        $dom->formatOutput = true;

        return $reportSummary->isDecoratedOutput() ? OutputFormatter::escape($dom->saveXML()) : $dom->saveXML();
    }
public function generate ( ReportSummary $ reportSummary ) { if ( ! \ extension_loaded ( 'dom' ) ) { throw new \ RuntimeException ( 'Cannot generate report! `ext-dom` is not available!' ) ; } $ dom = new \ DOMDocument ( '1.0' , 'UTF-8' ) ; // new nodes should be added to this or existing children $ root = $ dom -> createElement ( 'report' ) ; $ dom -> appendChild ( $ root ) ; $ filesXML = $ dom -> createElement ( 'files' ) ; $ root -> appendChild ( $ filesXML ) ; $ i = 1 ; foreach ( $ reportSummary -> getChanged ( ) as $ file => $ fixResult ) { $ fileXML = $ dom -> createElement ( 'file' ) ; $ fileXML -> setAttribute ( 'id' , ( string ) $ i ++ ) ; $ fileXML -> setAttribute ( 'name' , $ file ) ; $ filesXML -> appendChild ( $ fileXML ) ; if ( $ reportSummary -> shouldAddAppliedFixers ( ) ) { $ fileXML -> appendChild ( $ this -> createAppliedFixersElement ( $ dom , $ fixResult ) ) ; } if ( ! empty ( $ fixResult [ 'diff' ] ) ) { $ fileXML -> appendChild ( $ this -> createDiffElement ( $ dom , $ fixResult ) ) ; } } if ( 0 !== $ reportSummary -> getTime ( ) ) { $ root -> appendChild ( $ this -> createTimeElement ( $ reportSummary -> getTime ( ) , $ dom ) ) ; } if ( 0 !== $ reportSummary -> getMemory ( ) ) { $ root -> appendChild ( $ this -> createMemoryElement ( $ reportSummary -> getMemory ( ) , $ dom ) ) ; } $ dom -> formatOutput = true ; return $ reportSummary -> isDecoratedOutput ( ) ? OutputFormatter :: escape ( $ dom -> saveXML ( ) ) : $ dom -> saveXML ( ) ; }
{@inheritdoc}
{