38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @file
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Implements hook_preprocess_HOOK() for block templates.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function help_preprocess_block(&$variables): void {
							 | 
						||
| 
								 | 
							
								  if ($variables['plugin_id'] == 'help_block') {
							 | 
						||
| 
								 | 
							
								    $variables['attributes']['role'] = 'complementary';
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Ensure that search is updated when extensions are installed or uninstalled.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param string[] $extensions
							 | 
						||
| 
								 | 
							
								 *   (optional) If modules are being uninstalled, the names of the modules
							 | 
						||
| 
								 | 
							
								 *   being uninstalled. For themes being installed/uninstalled, or modules
							 | 
						||
| 
								 | 
							
								 *   being installed, omit this parameter.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function _help_search_update(array $extensions = []): void {
							 | 
						||
| 
								 | 
							
								  // Early return if search is not installed or if we're uninstalling this
							 | 
						||
| 
								 | 
							
								  // module.
							 | 
						||
| 
								 | 
							
								  if (!\Drupal::hasService('plugin.manager.search') ||
							 | 
						||
| 
								 | 
							
								    in_array('help', $extensions)) {
							 | 
						||
| 
								 | 
							
								    return;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Ensure that topics for extensions that have been uninstalled are removed
							 | 
						||
| 
								 | 
							
								  // and that the index state variable is updated.
							 | 
						||
| 
								 | 
							
								  $help_search = \Drupal::service('plugin.manager.search')->createInstance('help_search');
							 | 
						||
| 
								 | 
							
								  $help_search->updateTopicList();
							 | 
						||
| 
								 | 
							
								  $help_search->updateIndexState();
							 | 
						||
| 
								 | 
							
								}
							 |