You are here

function biblio_admin_types_add_form_submit in Bibliography Module 7

Same name and namespace in other branches
  1. 6.2 includes/biblio.admin.inc \biblio_admin_types_add_form_submit()
  2. 6 biblio.admin.inc \biblio_admin_types_add_form_submit()
  3. 7.2 includes/biblio.admin.inc \biblio_admin_types_add_form_submit()

_state

Parameters

$form:

File

includes/biblio.admin.inc, line 1592
biblio.admin.inc

Code

function biblio_admin_types_add_form_submit($form, &$form_state) {
  $values['name'] = $form_state['values']['name'];
  $values['description'] = $form_state['values']['description'];
  $values['tid'] = variable_get('biblio_max_user_tid', '999') + 1;
  db_insert('biblio_types')
    ->fields($values)
    ->execute();
  variable_set('biblio_max_user_tid', $values['tid']);
  $result = db_query('SELECT * FROM {biblio_field_type} WHERE tid=0', array(), array(
    'fetch' => PDO::FETCH_ASSOC,
  ));
  foreach ($result as $row) {
    $row['tid'] = $values['tid'];
    $row['visible'] = 1;
    db_insert('biblio_field_type')
      ->fields($row)
      ->execute();
  }

  // Fill contributor types. Use the first 4 defaults.
  for ($type = 1; $type <= 4; $type++) {
    $ct_vals = array(
      'auth_category' => $type,
      'biblio_type' => $values['tid'],
      'auth_type' => $type,
    );
    db_insert('biblio_contributor_type')
      ->fields($ct_vals)
      ->execute();
  }

  // Refresh publication type string for translation.
  biblio_locale_refresh_types($values['tid']);
  $form_state['redirect'] = 'admin/config/content/biblio/pubtype';
}