You are here

public function SiteAuditCommands::list in Site Audit 8.3

List of all available reports.

@field-labels report_id: Report ID report_name: Report Name report_description : Report Description check_id: Check ID check_name: Check Name check_description: Check Description @default-fields report_id,report_name,check_name,check_description

@command site_audit:list @aliases audit-list

Return value

\Consolidation\OutputFormatters\StructuredData\RowsOfFields

File

src/Commands/SiteAuditCommands.php, line 230

Class

SiteAuditCommands
SiteAudit Drush commandfile.

Namespace

Drupal\site_audit\Commands

Code

public function list() {
  $reportDefinitions = $this->auditReportManager
    ->getDefinitions();
  $checkDefinitions = $this->auditCheckManager
    ->getDefinitions();
  $rows = [];
  $report_id = '';
  foreach ($reportDefinitions as $report) {
    if ($report_id != $report['id'] && !empty($report_id)) {
      $rows[] = [];
    }
    $thisReport = $this->auditReportManager
      ->createInstance($report['id']);
    $checks = $thisReport
      ->getChecksList();
    foreach ($checks as $check) {
      $rows[] = [
        'report_id' => $report_id == $report['id'] ? '' : $report['id'],
        'report_name' => $report_id == $report['id'] ? '' : $report['name'],
        'report_description' => $report_id == $report['id'] ? '' : $report['description'],
        'check_id' => $checkDefinitions[$check]['id'],
        'check_name' => $checkDefinitions[$check]['name'],
        'check_description' => $checkDefinitions[$check]['description'],
      ];
      $report_id = $report['id'];
    }
  }
  return new RowsOfFields($rows);
}