You are here

function print_pdf_form_alter in Printer, email and PDF versions 5.x

Same name and namespace in other branches
  1. 5.4 print_pdf/print_pdf.module \print_pdf_form_alter()
  2. 5.3 print_pdf/print_pdf.module \print_pdf_form_alter()
  3. 6 print_pdf/print_pdf.module \print_pdf_form_alter()
  4. 7.2 print_pdf/print_pdf.module \print_pdf_form_alter()
  5. 7 print_pdf/print_pdf.module \print_pdf_form_alter()

Implementation of hook_form_alter().

File

print_pdf/print_pdf.module, line 328
Displays Printer-friendly versions of Drupal pages.

Code

function print_pdf_form_alter(&$form, $form_state, $form_id) {

  // Add the node-type settings option to activate the PDF version link
  if ((user_access('administer print') || user_access('node-specific print configuration')) && ($form_id == 'node_type_form' || isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id)) {
    $form['print']['pdf_label'] = array(
      '#type' => 'markup',
      '#value' => '<p><strong>' . t('PDF version') . '</strong></p>',
    );
    $form['print']['print_pdf_display'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show link'),
    );
    $form['print']['print_pdf_display_comment'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show link in individual comments'),
    );
    $form['print']['print_pdf_display_urllist'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Printer-friendly URLs list'),
    );
    if ($form_id == 'node_type_form') {
      $form['print']['print_pdf_display']['#default_value'] = variable_get('print_pdf_display_' . $form['#node_type']->type, PRINT_TYPE_SHOW_LINK_DEFAULT);
      $form['print']['print_pdf_display_comment']['#default_value'] = variable_get('print_pdf_display_comment_' . $form['#node_type']->type, PRINT_TYPE_COMMENT_LINK_DEFAULT);
      $form['print']['print_pdf_display_urllist']['#default_value'] = variable_get('print_pdf_display_urllist_' . $form['#node_type']->type, PRINT_TYPE_URLLIST_DEFAULT);
    }
    else {
      $node = $form['#node'];
      $form['print']['print_pdf_display']['#default_value'] = isset($node->print_pdf_display) ? $node->print_pdf_display : variable_get('print_pdf_display_' . $node->type, PRINT_TYPE_SHOW_LINK_DEFAULT);
      $form['print']['print_pdf_display_comment']['#default_value'] = isset($node->print_pdf_display_comment) ? $node->print_pdf_display_comment : variable_get('print_pdf_display_comment_' . $node->type, PRINT_TYPE_COMMENT_LINK_DEFAULT);
      $form['print']['print_pdf_display_urllist']['#default_value'] = isset($node->print_pdf_display_urllist) ? $node->print_pdf_display_urllist : variable_get('print_pdf_display_urllist_' . $node->type, PRINT_TYPE_URLLIST_DEFAULT);
    }
  }
}