Piwik\DataTable\Renderer\Xml::renderTable PHP Метод

renderTable() защищенный Метод

Computes the output for the given data table
protected renderTable ( DataTable | DataTable/Map $table, boolean $returnOnlyDataTableXml = false, string $prefixLines = '' ) : array | string
$table Piwik\DataTable | DataTable/Map
$returnOnlyDataTableXml boolean
$prefixLines string
Результат array | string
    protected function renderTable($table, $returnOnlyDataTableXml = false, $prefixLines = '')
    {
        $array = $this->getArrayFromDataTable($table);
        if ($table instanceof Map) {
            $out = $this->renderDataTableMap($table, $array, $prefixLines);
            if ($returnOnlyDataTableXml) {
                return $out;
            }
            $out = "<results>\n{$out}</results>";
            return $out;
        }
        // integer value of ZERO is a value we want to display
        if ($array != 0 && empty($array)) {
            if ($returnOnlyDataTableXml) {
                throw new Exception("Illegal state, what xml shall we return?");
            }
            $out = "<result />";
            return $out;
        }
        if ($table instanceof Simple) {
            if (is_array($array)) {
                $out = $this->renderDataTableSimple($array);
            } else {
                $out = $array;
            }
            if ($returnOnlyDataTableXml) {
                return $out;
            }
            if (is_array($array)) {
                $out = "<result>\n" . $out . "</result>";
            } else {
                $value = self::formatValueXml($out);
                if ($value === '') {
                    $out = "<result />";
                } else {
                    $out = "<result>" . $value . "</result>";
                }
            }
            return $out;
        }
        if ($table instanceof DataTable) {
            $out = $this->renderDataTable($array);
            if ($returnOnlyDataTableXml) {
                return $out;
            }
            $out = "<result>\n{$out}</result>";
            return $out;
        }
        if (is_array($array)) {
            $out = $this->renderArray($array, $prefixLines . "\t");
            if ($returnOnlyDataTableXml) {
                return $out;
            }
            return "<result>\n{$out}</result>";
        }
    }