search_api_saved_searches_i18n.module 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * @file
  4. * Search API Saved Searches i18n integration module via entity API i18n support.
  5. *
  6. * @see EntityDefaultI18nController
  7. */
  8. /**
  9. * Implements hook_entity_info_alter().
  10. */
  11. function search_api_saved_searches_i18n_entity_info_alter(&$info) {
  12. // Enable i18n support via the entity API.
  13. $info['search_api_saved_searches_settings']['i18n controller class'] = 'SearchApiSavedSearchesSettingsI18nController';
  14. }
  15. /**
  16. * Implements hook_search_api_saved_searches_settings_insert().
  17. */
  18. function search_api_saved_searches_i18n_search_api_saved_searches_settings_insert(SearchApiSavedSearchesSettings $settings) {
  19. i18n_string_object_update('search_api_saved_searches_settings', $settings);
  20. }
  21. /**
  22. * Implements hook_search_api_saved_searches_update().
  23. */
  24. function search_api_saved_searches_i18n_search_api_saved_searches_settings_update(SearchApiSavedSearchesSettings $settings) {
  25. // Account for name changes.
  26. if ($settings->original->delta != $settings->delta) {
  27. i18n_string_update_context("search_api_saved_searches:search_api_saved_searches_settings:{$settings->original->delta}:*", "search_api_saved_searches:search_api_saved_searches_settings:{$settings->delta}:*");
  28. }
  29. i18n_string_object_update('search_api_saved_searches_settings', $settings);
  30. }
  31. /**
  32. * Implements hook_search_api_saved_searches_delete().
  33. */
  34. function search_api_saved_searches_i18n_search_api_saved_searches_settings_delete(SearchApiSavedSearchesSettings $settings) {
  35. if ($settings->hasStatus(ENTITY_IN_CODE)) {
  36. i18n_string_object_update('search_api_saved_searches_settings', $settings);
  37. }
  38. else {
  39. i18n_string_object_remove('search_api_saved_searches_settings', $settings);
  40. }
  41. }