ReadmeHelpController.php in README Help 8
File
src/Controller/ReadmeHelpController.php
View source
<?php
namespace Drupal\readmehelp\Controller;
use Drupal\help\Controller\HelpController;
class ReadmeHelpController extends HelpController {
public function helpPage($name) {
$build = [];
$self = $name == 'readmehelp';
$info = \Drupal::service('extension.list.module')
->getExtensionInfo($name);
$dependencies = isset($info['dependencies']) ? $info['dependencies'] : [];
$depender = $self || in_array('readmehelp', $dependencies) || in_array('drupal:readmehelp', $dependencies);
if ($depender && !$this
->moduleHandler()
->implementsHook($name, 'readmehelp')) {
$converter = \Drupal::service('readmehelp.markdown_converter');
$build['top'] = [
'#attached' => [
'library' => [
'readmehelp/page',
],
],
'#markup' => $converter
->convertMarkdownFile($name),
];
$admin_tasks = system_get_module_admin_tasks($name, $info);
if (!empty($admin_tasks)) {
$module_name = $this
->moduleHandler()
->getName($name);
$links = [];
foreach ($admin_tasks as $task) {
$link['url'] = $task['url'];
$link['title'] = $task['title'];
$links[] = $link;
}
$build['links'] = [
'#theme' => 'links__help',
'#heading' => [
'level' => 'h3',
'text' => $this
->t('@module administration pages', [
'@module' => $module_name,
]),
],
'#links' => $links,
];
}
return $build;
}
else {
return parent::helpPage($name);
}
}
}