You are here

function node_revision_delete_form_node_revision_delete_confirm_alter in Node Revision Delete 7.3

Same name and namespace in other branches
  1. 8 node_revision_delete.module \node_revision_delete_form_node_revision_delete_confirm_alter()

Implements hook_form_FORM_ID_alter().

File

./node_revision_delete.module, line 293

Code

function node_revision_delete_form_node_revision_delete_confirm_alter(&$form, &$form_state, $form_id) {
  $revisions = _node_revision_delete_get_previous_revisions($form['#node_revision']->nid, $form['#node_revision']->vid);
  $revisions_number = count($revisions);
  if ($revisions_number > 0) {
    $form['revision_list'] = array(
      '#type' => 'fieldset',
      '#title' => t('Delete prior revisions'),
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    $form['revision_list']['delete_prior_revisions'] = array(
      '#type' => 'checkbox',
      '#title' => t('Also delete %revs_no revisions prior to this one.', array(
        '%revs_no' => $revisions_number,
      )),
    );

    // Read more about the empty class attribute in HTML at:
    // https://stackoverflow.com/q/30748847/3653989 .
    $class = array();
    if (module_exists('responsive_tables')) {
      $class[] = RESPONSIVE_PRIORITY_MEDIUM;
    }

    // The table header.
    $header = array(
      array(
        'data' => t('Revision'),
        // Hiding the title on narrow width devices.
        'class' => $class,
      ),
      t('Revision ID'),
    );
    foreach ($revisions as $revision) {
      $rows[] = [
        t('!date by !username', [
          '!date' => l(format_date($revision->timestamp, 'short'), "node/{$form['#node_revision']->nid}/revisions/{$revision->vid}/view"),
          '!username' => theme('username', [
            'account' => $revision,
          ]),
        ]) . ($revision->log != '' ? '<p class="revision-log">' . filter_xss($revision->log) . '</p>' : ''),
        $revision->vid,
      ];
    }
    $form['revision_list']['table_markup'] = array(
      '#theme' => 'table',
      '#rows' => $rows,
      '#header' => $header,
    );
    $form['#submit'][] = '_node_revision_delete_node_revision_delete_confirm_submit';

    // Adding the donation text.
    $form['#prefix'] = _node_revision_delete_get_donation_text();
  }
}