You are here

public function ModalHelpController::index in Modal 5.0.x

Same name and namespace in other branches
  1. 8.3 src/Controller/ModalHelpController.php \Drupal\modal_page\Controller\ModalHelpController::index()
  2. 8.2 src/Controller/ModalHelpController.php \Drupal\modal_page\Controller\ModalHelpController::index()
  3. 4.0.x src/Controller/ModalHelpController.php \Drupal\modal_page\Controller\ModalHelpController::index()
  4. 4.1.x src/Controller/ModalHelpController.php \Drupal\modal_page\Controller\ModalHelpController::index()
1 string reference to 'ModalHelpController::index'
modal_page.routing.yml in ./modal_page.routing.yml
modal_page.routing.yml

File

src/Controller/ModalHelpController.php, line 55

Class

ModalHelpController
Controller routines for help routes.

Namespace

Drupal\modal_page\Controller

Code

public function index() {
  $build = [];
  $name = 'modal_page';
  $project_name = $this
    ->moduleHandler()
    ->getName($name);
  $build['#title'] = 'Modal Page Help';
  $temp = $this
    ->moduleHandler()
    ->invoke($name, 'help', [
    "help.page.{$name}",
    $this->routeMatch,
  ]);
  if (!is_array($temp)) {
    $temp = [
      '#markup' => $temp,
    ];
  }
  $build['top'] = $temp;

  // Only print list of administration pages if the project in question has
  // any such pages associated with it.
  $admin_tasks = system_get_module_admin_tasks($name, $this->extensionListModule
    ->getExtensionInfo($name));
  if (!empty($admin_tasks)) {
    $links = [];
    foreach ($admin_tasks as $task) {
      $link['url'] = $task['url'];
      $link['title'] = $task['title'];
      if ($link['url']
        ->getRouteName() === 'modal_page.settings') {
        $link['title'] = 'Modal Settings';
      }
      $links[] = $link;
    }
    $build['links'] = [
      '#theme' => 'links__help',
      '#heading' => [
        'level' => 'h3',
        'text' => $this
          ->t('@project_name administration pages', [
          '@project_name' => $project_name,
        ]),
      ],
      '#links' => $links,
    ];
  }
  return $build;
}