You are here

function biblio_pm_form_biblio_node_form_alter in Bibliography Module 7

Same name and namespace in other branches
  1. 6.2 modules/pubmed/biblio_pm.module \biblio_pm_form_biblio_node_form_alter()
  2. 6 pubmed/biblio_pm.module \biblio_pm_form_biblio_node_form_alter()

File

modules/pubmed/biblio_pm.module, line 85

Code

function biblio_pm_form_biblio_node_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'biblio_node_form' && isset($form_state['biblio_fields'])) {
    if (isset($form_state['values']['biblio_pubmed_id'])) {
      $default_pubmed_id = $form_state['values']['biblio_pubmed_id'];
    }
    elseif (isset($form_state['node']->biblio_pubmed_id)) {
      $default_pubmed_id = $form_state['node']->biblio_pubmed_id;
    }
    else {
      $default_pubmed_id = '';
    }
    if (isset($form_state['values']['biblio_pmcid'])) {
      $default_pmcid = $form_state['values']['biblio_pmcid'];
    }
    elseif (isset($form_state['node']->biblio_pmcid)) {
      $default_pmcid = $form_state['node']->biblio_pmcid;
    }
    else {
      $default_pmcid = '';
    }
    $form['biblio_tabs'][4]['biblio_pubmed_id'] = array(
      '#type' => 'textfield',
      '#title' => t('PMID'),
      '#required' => FALSE,
      '#description' => t('PubMed ID'),
      '#default_value' => $default_pubmed_id,
      '#size' => 50,
      '#maxlength' => 50,
    );
    $form['biblio_tabs'][4]['biblio_pmcid'] = array(
      '#type' => 'textfield',
      '#title' => t('PMCID'),
      '#required' => FALSE,
      '#description' => t('PubMed Central ID'),
      '#default_value' => $default_pmcid,
      '#size' => 50,
      '#maxlength' => 50,
    );
  }
  if ((!isset($form_state['biblio_type']) || empty($form_state['biblio_type'])) && !isset($form_state['node']->nid)) {
    $form['biblio_pubmed_lookup'] = array(
      '#type' => 'fieldset',
      '#title' => t('PubMed Lookup'),
      '#weight' => -20,
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    $form['biblio_pubmed_lookup']['PMID'] = array(
      '#type' => 'textfield',
      '#title' => t('PubMed ID'),
      '#required' => FALSE,
      '#default_value' => '',
      '#description' => t('Enter a PubMed ID</b>'),
      '#size' => 60,
      '#maxlength' => 255,
      '#weight' => -4,
    );
    $form['biblio_pubmed_lookup']['pubmed_submit'] = array(
      '#type' => 'submit',
      '#value' => t('Populate using PubMed'),
      '#submit' => array(
        'biblio_pm_form_biblio_node_form_submit',
      ),
    );

    // $form['#submit'] = array_merge(array('biblio_pm_form_biblio_node_form_submit'), isset($form['#submit'])?$form['#submit']:array()); // put my validator first.
  }
  if (isset($form_state['values']['biblio_pubmed_id'])) {
    $form['biblio_pubmed_id'] = array(
      '#type' => 'value',
      '#value' => $form_state['values']['biblio_pubmed_id'],
    );
  }
  if (isset($form_state['values']['biblio_pubmed_md5'])) {
    $form['biblio_pubmed_md5'] = array(
      '#type' => 'value',
      '#value' => $form_state['values']['biblio_pubmed_md5'],
    );
  }
  if (isset($form_state['values']['biblio_pmcid'])) {
    $form['biblio_pmcid'] = array(
      '#type' => 'value',
      '#value' => $form_state['values']['biblio_pmcid'],
    );
  }
  if (isset($form_state['values']['biblio_pubmed_grants'])) {
    $form['biblio_pubmed_grants'] = array(
      '#type' => 'value',
      '#value' => $form_state['values']['biblio_pubmed_grants'],
    );
  }
}