You are here

function _patchinfo_get_info in PatchInfo 8

Same name and namespace in other branches
  1. 8.2 patchinfo.module \_patchinfo_get_info()
  2. 7 patchinfo.module \_patchinfo_get_info()

Get patch information from DB.

Parameters

bool $raw: If TRUE, uses an array containing url and info keys for each patch. If FALSE (default), either use info text only or, if a URL is available, a suitable link for each patch.

Return value

array Array of patches in DB keyed by machine readable module name.

3 calls to _patchinfo_get_info()
drush_patchinfo_list in ./patchinfo.drush.inc
Command callback for patchinfo-list command.
patchinfo_form_update_manager_update_form_alter in ./patchinfo.module
Implements hook_form_FORM_ID_alter() for update_manager_update_form().
patchinfo_preprocess_update_project_status in ./patchinfo.module
Implements hook_preprocess_HOOK() for update-project-status.html.twig.

File

./patchinfo.module, line 178
Patch Info primary module file.

Code

function _patchinfo_get_info($raw = FALSE) {
  $patch_info = [];
  $result = db_select('patchinfo', 'pi')
    ->fields('pi', [
    'module',
    'id',
    'url',
    'info',
  ])
    ->execute();
  foreach ($result as $row) {
    if (!isset($patch_info[$row->module])) {
      $patch_info[$row->module] = [];
    }
    if ($raw) {
      $patch_info[$row->module][$row->id]['url'] = $row->url;
      $patch_info[$row->module][$row->id]['info'] = $row->info;
    }
    else {
      if (!empty($row->url)) {
        $url = Url::fromUri($row->url);
        $patch_info[$row->module][$row->id] = Link::fromTextAndUrl($row->info, $url);
      }
      else {
        $patch_info[$row->module][$row->id] = Html::escape($row->info);
      }
    }
  }
  return $patch_info;
}