protected function PatchInfoCommands::getTableData in PatchInfo 8.2
Returns table data for all patches in projects.
Parameters
string|null $projects: List of projects to include.
Return value
array Table data of all patches
2 calls to PatchInfoCommands::getTableData()
- PatchInfoCommands::list in src/
Commands/ PatchInfoCommands.php - Show a report of patches applied to Drupal core and contrib projects.
- PatchInfoDrupalorgCommands::list in modules/
patchinfo_drupalorg/ src/ Commands/ PatchInfoDrupalorgCommands.php - Show a report of patches applied to Drupal core and contrib projects.
File
- src/
Commands/ PatchInfoCommands.php, line 92
Class
- PatchInfoCommands
- A Drush commandfile for the patchinfo:list command.
Namespace
Drupal\patchinfo\CommandsCode
protected function getTableData(string $projects = NULL) {
$table = [];
$limit_projects = !empty($projects) ? explode(',', $projects) : [];
$patch_info = _patchinfo_get_info(TRUE);
if (count($patch_info) === 0) {
return $table;
}
// Get project information from update manager service.
$projects = $this->updateManager
->getProjects();
$has_limit_projects = count($limit_projects) > 0;
foreach ($projects as $project) {
if ($has_limit_projects && !in_array($project['name'], $limit_projects, TRUE)) {
continue;
}
$patches = _patchinfo_get_patches($patch_info, $project);
if (count($patches) > 0) {
$label = $project['info']['name'] . ' (' . $project['name'] . ')';
if ($project['name'] === 'drupal') {
$label = 'Drupal (drupal)';
}
foreach ($patches as $delta => $patch) {
$patchinfo_list_row = [
'name' => $project['name'],
'label' => $label,
'delta' => $delta,
'info' => chunk_split($patch['info']) . $patch['url'],
'url' => $patch['url'],
];
$table[$project['name'] . '-' . $delta] = $patchinfo_list_row;
}
}
}
return $table;
}