You are here

function checklistapi_get_checklist_info in Checklist API 8

Same name and namespace in other branches
  1. 7 checklistapi.module \checklistapi_get_checklist_info()

Gets checklist definitions.

Parameters

string $id: (optional) A checklist ID. Defaults to NULL.

Return value

array|false The definition of the specified checklist, or FALSE if no such checklist exists, or an array of all checklist definitions if none is specified.

7 calls to checklistapi_get_checklist_info()
ChecklistapiChecklist::saveProgress in src/ChecklistapiChecklist.php
Saves checklist progress.
ChecklistapiCommands::listCommand in src/Commands/ChecklistapiCommands.php
Get an overview of your installed checklists with progress details.
ChecklistapiController::report in src/Controller/ChecklistapiController.php
Returns the Checklists report.
ChecklistapiPermissions::perChecklistPermissions in src/ChecklistapiPermissions.php
Returns an array of per checklist permissions.
checklistapi_checklist_load in ./checklistapi.module
Loads a checklist object.

... See full list

1 string reference to 'checklistapi_get_checklist_info'
checklistapi_module_preinstall in ./checklistapi.module
Implements hook_module_preinstall().

File

./checklistapi.module, line 106
An API for creating fillable, persistent checklists.

Code

function checklistapi_get_checklist_info($id = NULL) {
  $definitions =& drupal_static(__FUNCTION__);
  if (!is_array($definitions)) {

    // Get definitions.
    $definitions = \Drupal::moduleHandler()
      ->invokeAll('checklistapi_checklist_info');
    foreach ($definitions as $key => $value) {
      $definitions[$key] = checklistapi_add_checklist_items($value);
    }
    $definitions = checklistapi_sort_array($definitions);

    // Let other modules alter them.
    \Drupal::moduleHandler()
      ->alter('checklistapi_checklist_info', $definitions);
    $definitions = checklistapi_sort_array($definitions);

    // Inject checklist IDs.
    foreach ($definitions as $key => $value) {
      $definitions[$key] = [
        '#id' => $key,
      ] + $definitions[$key];
    }
  }
  if (!empty($id)) {
    return !empty($definitions[$id]) ? $definitions[$id] : FALSE;
  }
  return $definitions;
}