You are here

function biblio_crossref_form_biblio_node_form_alter in Bibliography Module 7

Same name and namespace in other branches
  1. 6.2 modules/crossref/biblio_crossref.module \biblio_crossref_form_biblio_node_form_alter()
  2. 7.2 modules/crossref/biblio_crossref.module \biblio_crossref_form_biblio_node_form_alter()

File

modules/crossref/biblio_crossref.module, line 10

Code

function biblio_crossref_form_biblio_node_form_alter(&$form, &$form_state) {
  global $user;
  if (phpversion() > 5 && !$form_state['submitted'] && !isset($form['#node']->nid)) {
    $form['biblio_doi_lookup'] = array(
      '#type' => 'fieldset',
      '#title' => t('DOI Lookup'),
      '#weight' => -20,
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    $have_pid = variable_get('biblio_crossref_pid', '');
    $user_pid = isset($user->data['biblio_crossref_pid']) && !empty($user->data['biblio_crossref_pid']) ? $user->data['biblio_crossref_pid'] : '';
    if (variable_get('biblio_show_crossref_profile_form', '1') && !empty($user_pid)) {
      $have_pid = $user_pid;
    }
    if (empty($have_pid)) {
      $form['biblio_doi_lookup']['doi_register'] = array(
        '#prefix' => '<p><b>',
        '#suffix' => '</b></p>',
        '#markup' => t('!url1 and then enter your CrossRef UserID in the "<i>CrossRef Login Information</i>" section of your account profile !url2', array(
          '!url1' => l(t('You need to register with CrossRef'), 'http://www.crossref.org/requestaccount/', array(
            'attributes' => array(
              'target' => '_blank',
            ),
            'absolue' => TRUE,
          )),
          '!url2' => l(t('here...'), "user/{$user->uid}/edit"),
        )),
      );
    }
    $form['biblio_doi_lookup']['doi_data'] = array(
      '#type' => 'textfield',
      '#title' => t('DOI'),
      '#required' => FALSE,
      '#default_value' => isset($form_state['values']['doi_data']) ? $form_state['values']['doi_data'] : '',
      '#description' => t('Enter a DOI name in the form: <b>10.1000/123456</b>'),
      '#disabled' => empty($have_pid),
      '#size' => 60,
      '#maxlength' => 255,
      '#weight' => -4,
    );
    $form['biblio_doi_lookup']['doi_submit'] = array(
      '#type' => 'submit',
      '#disabled' => empty($have_pid),
      '#value' => t('Populate using DOI'),
      '#submit' => array(
        'biblio_crossref_form_biblio_node_form_submit',
      ),
    );
  }
  $biblio_crossref_id = isset($form_state['values']['biblio_crossref_id']) ? $form_state['values']['biblio_crossref_id'] : '';
  $biblio_crossref_md5 = isset($form_state['values']['biblio_crossref_md5']) ? $form_state['values']['biblio_crossref_md5'] : '';
  $form['biblio_crossref_id'] = array(
    '#type' => 'value',
    '#value' => $biblio_crossref_id,
  );
  $form['biblio_crossref_md5'] = array(
    '#type' => 'value',
    '#value' => $biblio_crossref_md5,
  );
}