function tripal_bulk_loader_is_record_name_unique

2.x tripal_bulk_loader.DEPRECATED.inc tripal_bulk_loader_is_record_name_unique($new_record_name, $template_id, $template_array = NULL, $current_priority = NULL)
3.x tripal_bulk_loader.DEPRECATED.inc tripal_bulk_loader_is_record_name_unique($new_record_name, $template_id, $template_array = NULL, $current_priority = NULL)
1.x tripal_bulk_loader.api.templates.inc tripal_bulk_loader_is_record_name_unique($new_record_name, $template_id, $template_array = NULL, $current_priority = NULL)

Meant to be called from a form_validate function to ensure a newly added bulk loader record name is unique and not empty.

Parameters

$new_record_name: The record name to check for uniqueness

$template_id: The template_id of the template to add the record to

$template_array: The array describing the template. Optional -will be loaded using template_id if not provided

$current_priority: The priority of the already existing record -checks that the name only occurs on this particular record

Return value

TRUE if the record name is not empty and not already in the template_array; FALSE otherwise

Related topics

3 calls to tripal_bulk_loader_is_record_name_unique()
tripal_bulk_loader_add_template_field_form_validate in tripal_bulk_loader/includes/tripal_bulk_loader.admin.templates.inc
Implements hook_form_validate().
tripal_bulk_loader_edit_template_field_form_validate in tripal_bulk_loader/includes/tripal_bulk_loader.admin.templates.inc
Implements hook_form_validate().
tripal_bulk_loader_edit_template_record_form_validate in tripal_bulk_loader/includes/tripal_bulk_loader.admin.templates.inc
Implements hook_form_validate()

File

tripal_bulk_loader/api/tripal_bulk_loader.api.templates.inc, line 28
All functions in this file provide an API to administrative management of bulk loader templates

Code

function tripal_bulk_loader_is_record_name_unique($new_record_name, $template_id, $template_array = NULL, $current_priority = NULL) {

  // get the template array if it's not supplied
  if (empty($template_array)) {
    $template = db_fetch_object(db_query("SELECT * FROM {tripal_bulk_loader_template} WHERE template_id=%d", $template_id));
    $template_array = unserialize($template->template_array);
    if (!is_array($template_array)) {
      watchdog(
      'tripal_bulk_loader', 
      'Unable to retrieve template array from database where template_id=%template_id', 
      array('%template_id' => $template_id), 
      WATCHDOG_WARNING
      );
      return FALSE;
    }
  }

  // Check that the new record name is not empty
  if (empty($new_record_name)) {
    return FALSE;
  }

  // Check the new record name is unique
  foreach ($template_array as $priority => $t) {
    if (strcmp($t['record_id'], $new_record_name) == 0) {
      if (($priority != $current_priority) AND ($current_priority !== NULL)) {
        return FALSE;
      }
    }
  }
  return TRUE;
}