workflow_search_api.module 917 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. /**
  3. * @file
  4. * Adds workflow state information to Search API index.
  5. *
  6. * This is only valid for Workflow Node, not Workflow Field.
  7. */
  8. /**
  9. * Implements hook_entity_property_info_alter().
  10. */
  11. function workflow_search_api_entity_property_info_alter(&$info) {
  12. $info['node']['properties']['workflow_state_name'] = array(
  13. 'type' => 'text',
  14. 'label' => t('Workflow state label'),
  15. 'sanitized' => TRUE,
  16. 'getter callback' => 'workflow_search_api_property_workflow_state_getter_callback',
  17. );
  18. }
  19. /**
  20. * Getter callback for workflow state defined in workflow_search_api_entity_property_info_alter.
  21. */
  22. function workflow_search_api_property_workflow_state_getter_callback($node) {
  23. // Get text value of workflow state. Only for Workflow Node.
  24. $field_name = ''; // An explicit var is needed.
  25. $sid = workflow_node_current_state($node, 'node', $field_name);
  26. return workflow_get_sid_label($sid);
  27. }