Search API 1.0, dev (xx/xx/xxxx):
---------------------------------
+- #1161532 by drunken monkey: Fixed discerning between delete and revert in
+ hook_*_delete().
Search API 1.0, Beta 10 (06/20/2011):
-------------------------------------
+-------------------------------------
API changes:
- #1068342 by drunken monkey: Added a 'fields to run on' option for processors.
* Implements hook_search_api_index_delete().
*/
function search_api_facets_search_api_index_delete(SearchApiIndex $index) {
+ // Only react on real delete, not revert.
+ if ($index->status & ENTITY_IN_CODE) {
+ return;
+ }
+
db_delete('search_api_facet')
->condition('index_id', $index->machine_name)
->execute();
* Implements hook_search_api_index_delete().
*/
function search_api_page_search_api_index_delete(SearchApiIndex $index) {
+ // Only react on real delete, not revert.
+ if ($index->status & ENTITY_IN_CODE) {
+ return;
+ }
+
foreach (search_api_page_load_multiple(FALSE, array('index_id' => $index->machine_name, 'enabled' => 1)) as $page) {
search_api_page_delete($page->id);
}
function search_api_search_api_server_delete(SearchApiServer $server) {
$server->preDelete();
- foreach (search_api_index_load_multiple(FALSE, array('server' => $server->machine_name)) as $index) {
- $index->update(array('server' => NULL, 'enabled' => FALSE));
+
+ // Only react on real delete, not revert.
+ if ($server->status & ENTITY_IN_CODE == 0) {
+ foreach (search_api_index_load_multiple(FALSE, array('server' => $server->machine_name)) as $index) {
+ $index->update(array('server' => NULL, 'enabled' => FALSE));
+ }
}
$tasks = variable_get('search_api_tasks', array());