Exakat\Reports\Ambassador::getSeverityBreakdown PHP Метод

getSeverityBreakdown() публичный Метод

Severity Breakdown
    public function getSeverityBreakdown()
    {
        $list = Analyzer::getThemeAnalyzers($this->themesToShow);
        $list = '"' . join('", "', $list) . '"';
        $query = <<<SQL
                SELECT severity, count(*) AS number
                    FROM results
                    WHERE analyzer IN ({$list})
                    GROUP BY severity
                    ORDER BY number DESC
SQL;
        $result = $this->sqlite->query($query);
        $data = array();
        while ($row = $result->fetchArray()) {
            $data[] = array('label' => $row['severity'], 'value' => $row['number']);
        }
        $html = '';
        $dataScript = '';
        foreach ($data as $key => $value) {
            $html .= '<div class="clearfix">
                   <div class="block-cell">' . $value['label'] . '</div>
                   <div class="block-cell text-center">' . $value['value'] . '</div>
                 </div>';
            $dataScript .= $dataScript ? ', {label: "' . $value['label'] . '", value: ' . $value['value'] . '}' : '{label: "' . $value['label'] . '", value: ' . $value['value'] . '}';
        }
        $nb = 4 - count($data);
        for ($i = 0; $i < $nb; ++$i) {
            $html .= '<div class="clearfix">
                   <div class="block-cell">&nbsp;</div>
                   <div class="block-cell text-center">&nbsp;</div>
                 </div>';
        }
        return array('html' => $html, 'script' => $dataScript);
    }