safedelete-1.0.0/modules/safedelete_menu_report/safedelete_menu_report.install
modules/safedelete_menu_report/safedelete_menu_report.install
<?php
use Drupal\Core\Link;
use Drupal\Core\Url;
use Drupal\Core\Render\Markup;
use Drupal\Component\Utility\Html;
/**
* Implements hook_requirements().
*/
function safedelete_menu_report_requirements($phase) {
$requirements = [];
if ($phase === 'runtime') {
$title = 'Safedelete Menu Report';
$requirements['safedelete_menu_report_snapshot'] = [
'title' => $title,
'severity' => REQUIREMENT_OK,
'value' => t('No issues detected.'),
];
$fs = \Drupal::service('file_system');
$lm = \Drupal::languageManager();
$real = $fs->realpath('public://safedelete_menu_report.txt');
if ($real && is_file($real)) {
$txt = @file_get_contents($real) ?: '';
$txt = trim($txt);
if ($txt !== '') {
$lang = $lm->getCurrentLanguage();
$url = Url::fromRoute('safedelete_menu_report.report', [], ['language' => $lang]);
$link = Link::fromTextAndUrl(t('Click here to see the full report'), $url)->toString();
$msg = 'Safedelete menu report has identified children needing a new parent. ' . $link . ' (Last updated: ' . Html::escape($txt) . ')';
$requirements['safedelete_menu_report_snapshot']['severity'] = REQUIREMENT_WARNING;
$requirements['safedelete_menu_report_snapshot']['value'] = Markup::create($msg);
}
}
}
return $requirements;
}
