You are here

function biblio_contributor_add_form in Bibliography Module 7.2

Build the contributor add form Called by the Form API

_state

Parameters

array $form:

object $contributor:

Return value

type

1 string reference to 'biblio_contributor_add_form'
biblio_contributor_add in ./biblio.module
hook_menu callback function for biblio/add/[publication-type]

File

./biblio.module, line 3486

Code

function biblio_contributor_add_form($form, &$form_state, $contributor) {

  // Save the biblio for later, in case we need it.
  $form['#contributor'] = $contributor;
  $form_state['contributor'] = $contributor;

  // Get all fields from the Field API
  field_attach_form('biblio_contributor', $contributor, $form, $form_state);

  // Add autocomplete to name field
  foreach ($form['field_author_name']['und'] as $key => $field_data) {
    if (is_numeric($key)) {
      $form['field_author_name']['und'][$key]['value']['#autocomplete_path'] = 'biblio/autocomplete/contributor';
    }
  }

  // Add the buttons.
  // Save button is always available
  $form['buttons'] = array();
  $form['buttons']['#weight'] = 100;
  $form['buttons']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
    '#weight' => 5,
    '#submit' => array(
      'biblio_contributor_form_submit',
    ),
  );

  // Delete button is available if we're editing an existing biblio.
  if (!empty($contributor->cid)) {
    $form['buttons']['delete'] = array(
      '#access' => user_access('delete biblios'),
      '#type' => 'submit',
      '#value' => t('Delete'),
      '#weight' => 15,
      '#submit' => array(
        'biblio_contributor_form_delete_submit',
      ),
    );
  }
  return $form;
}