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

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

List of Issues faceted
public getIssuesFaceted ( $theme ) : array
Результат array
    public function getIssuesFaceted($theme)
    {
        $list = Analyzer::getThemeAnalyzers($theme);
        $list = '"' . join('", "', $list) . '"';
        $sqlQuery = <<<SQL
            SELECT fullcode, file, line, analyzer
                FROM results
                WHERE analyzer IN ({$list})

SQL;
        $result = $this->sqlite->query($sqlQuery);
        $items = array();
        while ($row = $result->fetchArray(\SQLITE3_ASSOC)) {
            $item = array();
            $ini = parse_ini_file($this->config->dir_root . '/human/en/' . $row['analyzer'] . '.ini');
            $item['analyzer'] = $ini['name'];
            $item['analyzer_md5'] = md5($ini['name']);
            $item['file'] = $row['file'];
            $item['file_md5'] = md5($row['file']);
            $item['code'] = $row['fullcode'];
            $item['code_detail'] = "<i class=\"fa fa-plus \"></i>";
            $item['code_plus'] = htmlentities($row['fullcode'], ENT_COMPAT | ENT_HTML401, 'UTF-8');
            $item['link_file'] = $row['file'];
            $item['line'] = $row['line'];
            $item['severity'] = "<i class=\"fa fa-warning " . $this->severities[$row['analyzer']] . "\"></i>";
            $item['complexity'] = "<i class=\"fa fa-cog " . $this->timesToFix[$row['analyzer']] . "\"></i>";
            $item['recipe'] = join(', ', $this->themesForAnalyzer[$row['analyzer']]);
            $lines = explode("\n", $ini['description']);
            $item['analyzer_help'] = $lines[0];
            $items[] = json_encode($item);
            $this->count();
        }
        return $items;
    }