You are here

function _workflow_get_workflow_creation_sid in Workflow 7.2

Gets the creation sid for a given $entity and $field_name.

1 call to _workflow_get_workflow_creation_sid()
workflow_node_previous_state in ./workflow.module
Gets the previous state ID of a given entity.

File

./workflow.module, line 977
Support workflows made up of arbitrary states.

Code

function _workflow_get_workflow_creation_sid($entity_type, $entity, $field_name) {
  $sid = 0;
  $wid = 0;
  if ($field_name) {

    // A new Node with Workflow Field.
    $field = field_info_field($field_name);

    // $field['settings']['wid'] can be numeric or named.
    $wid = $field['settings']['wid'];
    $workflow = workflow_load_single($wid);
  }
  else {

    // A new Node with Workflow Node.
    list(, , $entity_bundle) = entity_extract_ids($entity_type, $entity);
    $workflow = workflow_get_workflows_by_type($entity_bundle, $entity_type);
  }
  if ($workflow) {
    $sid = $workflow
      ->getCreationSid();
  }
  else {
    drupal_set_message(t('Workflow !wid cannot be loaded. Contact your system administrator.', array(
      '!wid' => $wid,
    )), 'error');
  }
  return $sid;
}