From e4940acd7116c3fbfda4e00ea05ceaad939cb6d3 Mon Sep 17 00:00:00 2001
From: Katherine Bailey <katherine@katbailey.net>
Date: Fri, 30 Sep 2011 10:12:18 -0700
Subject: [PATCH] Issue #1295144: Make the search keys returned to facetapi alterable

---
 .../plugins/facetapi/adapter.inc                   |    1 +
 .../search_api_facetapi.api.php                    |   31 ++++++++++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 contrib/search_api_facetapi/search_api_facetapi.api.php

diff --git contrib/search_api_facetapi/plugins/facetapi/adapter.inc contrib/search_api_facetapi/plugins/facetapi/adapter.inc
index 3cb1a50..f89450b 100644
--- contrib/search_api_facetapi/plugins/facetapi/adapter.inc
+++ contrib/search_api_facetapi/plugins/facetapi/adapter.inc
@@ -172,6 +172,7 @@ class SearchApiFacetapiAdapter extends FacetapiAdapter {
       // without keys.
       $keys = '[' . t('all items') . ']';
     }
+    drupal_alter('search_api_facetapi_keys', $keys, $search[0]);
     return $keys;
   }
 
diff --git contrib/search_api_facetapi/search_api_facetapi.api.php contrib/search_api_facetapi/search_api_facetapi.api.php
new file mode 100644
index 0000000..733b87e
--- /dev/null
+++ contrib/search_api_facetapi/search_api_facetapi.api.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Hooks provided by the Search API FacetAPI module.
+ */
+
+/**
+ * @addtogroup hooks
+ * @{
+ */
+
+/**
+ * Lets modules alter the search keys that are returned to FacetAPI and used
+ * in the current search block and breadcrumb trail.
+ *
+ * @param string $keys
+ *   The string representing the user's current search query.
+ * @param SearchApiQuery $query
+ *   The SearchApiQuery object for the current search.
+ */
+function hook_search_api_facetapi_keys_alter(&$keys, $query) {
+  if ($keys == '[' . t('all items') . ']') {
+    // Change $keys to something else, perhaps based on filters in the query
+    // object.
+  }
+}
+
+/**
+ * @} End of "addtogroup hooks".
+ */
-- 
1.7.4.1

