custom_search.install 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. /**
  3. * @file
  4. * Install, update, and uninstall functions for the custom search module.
  5. */
  6. /**
  7. * Implements hook_install().
  8. */
  9. function custom_search_install() {
  10. db_update('system')
  11. ->fields(array('weight' => 100))
  12. ->condition('name', 'custom_search')
  13. ->execute();
  14. }
  15. /**
  16. * Implements hook_uninstall().
  17. */
  18. function custom_search_uninstall() {
  19. variable_del('custom_search_label_visibility');
  20. variable_del('custom_search_label');
  21. variable_del('custom_search_text');
  22. variable_del('custom_search_size');
  23. variable_del('custom_search_max_length');
  24. variable_del('custom_search_submit_text');
  25. variable_del('custom_search_image_path');
  26. variable_del('custom_search_criteria_or_display');
  27. variable_del('custom_search_criteria_or_label');
  28. variable_del('custom_search_criteria_phrase_display');
  29. variable_del('custom_search_criteria_phrase_label');
  30. variable_del('custom_search_criteria_negative_display');
  31. variable_del('custom_search_criteria_negative_label');
  32. variable_del('custom_search_paths');
  33. variable_del('custom_search_paths_selector');
  34. variable_del('custom_search_paths_selector_label');
  35. variable_del('custom_search_paths_selector_label_visibility');
  36. variable_del('custom_search_search_box_weight');
  37. variable_del('custom_search_content_types_weight');
  38. variable_del('custom_search_criteria_or_weight');
  39. variable_del('custom_search_criteria_phrase_weight');
  40. variable_del('custom_search_criteria_negative_weight');
  41. variable_del('custom_search_custom_paths_weight');
  42. variable_del('custom_search_submit_button_weight');
  43. variable_del('custom_search_search_box_region');
  44. variable_del('custom_search_content_types_region');
  45. variable_del('custom_search_criteria_or_region');
  46. variable_del('custom_search_criteria_phrase_region');
  47. variable_del('custom_search_criteria_negative_region');
  48. variable_del('custom_search_custom_paths_region');
  49. variable_del('custom_search_submit_button_region');
  50. variable_del('custom_search_target');
  51. variable_del('custom_search_node_types');
  52. variable_del('custom_search_node_types_excluded');
  53. variable_del('custom_search_other');
  54. variable_del('custom_search_type_selector');
  55. variable_del('custom_search_type_selector_label');
  56. variable_del('custom_search_type_selector_label_visibility');
  57. variable_del('custom_search_type_selector_all');
  58. variable_del('custom_search_any_restricts');
  59. variable_del('custom_search_any_force');
  60. variable_del('custom_search_results_search');
  61. variable_del('custom_search_results_advanced_search');
  62. variable_del('custom_search_results_advanced_search_collapsible');
  63. variable_del('custom_search_results_advanced_search_collapsed');
  64. variable_del('custom_search_advanced_or_display');
  65. variable_del('custom_search_advanced_phrase_display');
  66. variable_del('custom_search_advanced_negative_display');
  67. $options = node_type_get_names();
  68. foreach ($options as $type => $name) variable_del('custom_search_advanced_type_' . $type . '_display');
  69. variable_del('custom_search_results_info_type');
  70. variable_del('custom_search_results_info_user');
  71. variable_del('custom_search_results_info_date');
  72. if (module_exists('comment')) variable_del('custom_search_results_info_comment');
  73. if (module_exists('upload')) variable_del('custom_search_results_info_upload');
  74. variable_del('custom_search_filter');
  75. variable_del('custom_search_filter_label');
  76. variable_del('custom_search_search_api_page');
  77. }
  78. /**
  79. * Implements hook_enable().
  80. */
  81. function custom_search_enable() {
  82. drupal_set_message(t('Custom Search enabled. Don\'t forget to <a href="@link">set permissions</a>.', array('@link' => url('admin/people/permissions', array('fragment' => 'module-custom_search')))));
  83. }
  84. /**
  85. * Increases the module weight.
  86. */
  87. function custom_search_update_7100() {
  88. db_update('system')
  89. ->fields(array('weight' => 100))
  90. ->condition('name', 'custom_search')
  91. ->execute();
  92. return t('Module\'s weight increased.');
  93. }
  94. /**
  95. * New sub-modules notice.
  96. */
  97. function custom_search_update_7101() {
  98. return t('Custom Search has been divided in multiple modules. Please re-enable the sub-modules you need.');
  99. }
  100. /**
  101. * Custom search paths upgrade.
  102. */
  103. function custom_search_update_7102() {
  104. if (variable_get('custom_search_path', '') != '') {
  105. variable_set('custom_search_paths', variable_get('custom_search_path', '') . '|Custom path');
  106. }
  107. variable_del('custom_search_path');
  108. return t('Custom search paths upgraded.');
  109. }
  110. /**
  111. * Changes in the advanced search form settings.
  112. */
  113. function custom_search_update_7103() {
  114. if (variable_get('custom_search_results_advanced_override', FALSE)) {
  115. variable_set('custom_search_advanced_or_display', variable_get('custom_search_criteria_or_display', FALSE));
  116. variable_set('custom_search_advanced_phrase_display', variable_get('custom_search_criteria_phrase_display', FALSE));
  117. variable_set('custom_search_advanced_negative_display', variable_get('custom_search_criteria_negative_display', FALSE));
  118. $types = array_keys(array_filter(variable_get('custom_search_node_types', array())));
  119. if (count($types)) {
  120. $names = array_keys(node_type_get_names());
  121. foreach ($names as $name) {
  122. if (!in_array($name, $types)) variable_set('custom_search_advanced_type_' . $name . '_display', FALSE);
  123. }
  124. }
  125. $vocabularies = taxonomy_get_vocabularies();
  126. foreach ($vocabularies as $voc) {
  127. if (variable_get('custom_search_voc' . $voc->vid . '_selector', 'disabled') == 'disabled') variable_set('custom_search_advanced_voc' . $voc->vid . '_display', FALSE);
  128. }
  129. }
  130. variable_del('custom_search_results_advanced_override');
  131. return t('Advanced search form settings changed.');
  132. }