search_api_test_hooks.search_api.inc 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /**
  3. * @file
  4. * Tests all the hooks defined by the Search API module.
  5. */
  6. use Drupal\search_api\IndexInterface;
  7. use Drupal\search_api\Query\QueryInterface;
  8. use Drupal\search_api\Query\ResultSetInterface;
  9. use Drupal\search_api\ServerInterface;
  10. /**
  11. * Implements hook_search_api_backend_info_alter().
  12. */
  13. function search_api_test_hooks_search_api_backend_info_alter(array &$backend_info) {
  14. $backend_info['search_api_test']['label'] = 'Slims return';
  15. }
  16. /**
  17. * Implements hook_search_api_datasource_info_alter().
  18. */
  19. function search_api_test_hooks_search_api_datasource_info_alter(array &$infos) {
  20. if (isset($infos['entity:node'])) {
  21. $infos['entity:node']['label'] = 'Distant land';
  22. }
  23. }
  24. /**
  25. * Implements hook_search_api_parse_mode_info_alter().
  26. */
  27. function search_api_test_hooks_search_api_parse_mode_info_alter(array &$parse_modes) {
  28. $parse_modes['direct']['label'] = 'Song for My Father';
  29. }
  30. /**
  31. * Implements hook_search_api_server_features_alter().
  32. */
  33. function search_api_test_hooks_search_api_server_features_alter(array &$features, ServerInterface $server) {
  34. if ($server->id() == 'webtest_server') {
  35. $features[] = 'welcome_to_the_jungle';
  36. }
  37. }
  38. /**
  39. * Implements hook_search_api_processor_info_alter().
  40. */
  41. function search_api_test_hooks_search_api_processor_info_alter(array &$processors) {
  42. $processors['content_access']['label'] = 'Mystic bounce';
  43. }
  44. /**
  45. * Implements hook_search_api_tracker_info_alter().
  46. */
  47. function search_api_test_hooks_search_api_tracker_info_alter(array &$tracker_info) {
  48. $tracker_info['search_api_test']['label'] = 'Good luck';
  49. }
  50. /**
  51. * Implements hook_search_api_displays_alter().
  52. */
  53. function search_api_test_hooks_search_api_displays_alter(array &$displays) {
  54. if (isset($displays['views_page:search_api_test_view__page_1'])) {
  55. $displays['views_page:search_api_test_view__page_1']['label'] = 'Some funny label for testing';
  56. }
  57. }
  58. /**
  59. * Implements hook_search_api_index_items_alter().
  60. */
  61. function search_api_test_hooks_search_api_index_items_alter(IndexInterface $index, array &$items) {
  62. unset($items['entity:node/1:en']);
  63. drupal_set_message('Stormy');
  64. }
  65. /**
  66. * Implements hook_search_api_items_indexed().
  67. */
  68. function search_api_test_hooks_search_api_items_indexed(IndexInterface $index, array $item_ids) {
  69. drupal_set_message('Please set me at ease');
  70. }
  71. /**
  72. * Implements hook_search_api_query_alter().
  73. */
  74. function search_api_test_hooks_search_api_query_alter(QueryInterface &$query) {
  75. drupal_set_message('Funky blue note');
  76. drupal_set_message(sprintf('Search id: %s', $query->getSearchId(FALSE)));
  77. $query->addTag('andrew_hill');
  78. }
  79. /**
  80. * Implements hook_search_api_results_alter().
  81. */
  82. function search_api_test_hooks_search_api_results_alter(ResultSetInterface &$results) {
  83. drupal_set_message('Stepping into tomorrow');
  84. }
  85. /**
  86. * Implements hook_search_api_index_reindex().
  87. */
  88. function search_api_test_hooks_search_api_index_reindex(IndexInterface $index, $clear = FALSE) {
  89. drupal_set_message('Montara');
  90. }
  91. /**
  92. * Implements hook_search_api_data_type_info_alter().
  93. */
  94. function search_api_test_hooks_search_api_data_type_info_alter(array &$data_type_definitions) {
  95. if (isset($data_type_definitions['text'])) {
  96. $data_type_definitions['text']['label'] = 'Peace/Dolphin dance';
  97. }
  98. }
  99. /**
  100. * Implements hook_search_api_field_type_mapping_alter().
  101. */
  102. function search_api_test_hooks_search_api_field_type_mapping_alter(array &$mapping) {
  103. $mapping['datetime_iso8601'] = FALSE;
  104. $mapping['timestamp'] = FALSE;
  105. }