You are here

function rules_page_top in Rules 8.3

Implements hook_page_top().

File

./rules.module, line 34
Hook implementations for the Rules module.

Code

function rules_page_top(array &$page_top) {
  $debug_log = \Drupal::service('logger.rules_debug_log');
  $markup = $debug_log
    ->render();

  // If debugging is turned off $markup will be empty.
  if (!empty($markup)) {
    if (\Drupal::currentUser()
      ->hasPermission('access rules debug')) {

      // Send debug output to the screen.
      \Drupal::service('messenger')
        ->addError($markup);
    }

    // Log debugging information to logger.channel.rules only if the rules
    // system logging setting 'debug_log.system_debug' is enabled.
    // These logs get sent to the system dblog, end up in the Drupal database,
    // and are viewable at /admin/reports/dblog.
    if (\Drupal::config('rules.settings')
      ->get('debug_log.system_debug')) {
      \Drupal::service('logger.channel.rules')
        ->log(LogLevel::DEBUG, $markup, []);
    }
  }

  // Remove logs already rendered.
  $debug_log
    ->clearLogs();
}