You are here

function theme_revision_deletion_auto_form in Revision Deletion 6

Same name and namespace in other branches
  1. 5 revision_deletion.module \theme_revision_deletion_auto_form()

Theme the form to list all auto-delete eligible revisions.

File

./revision_deletion.module, line 601
Node Revision Deletion, written by Greg Holsclaw

Code

function theme_revision_deletion_auto_form($form) {
  $element_children = element_children($form['vid']);

  // We build our own table so we can put the log message on a separate row and use
  // the merge-down and merge-up classes.
  $eo = array(
    'odd' => 'even',
    'even' => 'odd',
  );
  $class = 'even';
  $output = '<div id="revision-deletion-list"><table><tr>';
  foreach ($form['header']['#value'] as $index => $text) {
    if ($index == 0 && count($element_children) > 1) {
      drupal_add_js('misc/tableselect.js');
      $output .= '<th class="select-all">' . "{$text}</th>";
    }
    else {
      $output .= "<th>{$text}</th>";
    }
  }
  $output .= '</tr>';
  $found_some = FALSE;
  foreach ($element_children as $key) {
    $class = $eo[$class];
    $row_class = $class;
    if (isset($form['class'][$key])) {
      $row_class .= ' ' . $form['class'][$key]['#value'];
      unset($form['class'][$key]);
    }
    $log_present = !empty($form['log'][$key]['#value']);
    $output .= '<tr class="' . $row_class . ($log_present ? ' merge-down' : NULL) . '">';
    $output .= '<td align="center"' . ($form['select'][$key]['#default_value'] ? ' class="selected"' : '') . '">' . drupal_render($form['select'][$key]) . '</td>';
    $output .= '<td>' . drupal_render($form['title'][$key]) . '</td>';
    $output .= '<td align="center">' . drupal_render($form['vid'][$key]) . '</td>';
    $output .= '<td align="center">' . drupal_render($form['user'][$key]) . '</td>';
    $output .= '<td>' . drupal_render($form['timestamp'][$key]) . '</td>';
    $output .= '<td align="center">' . drupal_render($form['type'][$key]) . '</td>';
    $output .= '<td>' . drupal_render($form['status'][$key]) . '</td>';
    $output .= '<td>' . drupal_render($form['msg'][$key]) . '</td>';
    $output .= '<td>' . drupal_render($form['ops'][$key]) . '</td>';
    if ($log_present) {
      $output .= '</tr>';
      $output .= '<tr class="' . $row_class . ' merge-up">';
      $output .= '<td colspan="20" class="revision-log">' . drupal_render($form['log'][$key]) . '</td>';
    }
    $output .= '</tr>';
    $found_some = TRUE;
  }
  if (!$found_some) {
    $output .= '<tr><td colspan="20"><div class="messages error">' . t('No content with deletable revisions found.') . '</div></td></tr>';
  }
  $output .= '</table>';
  $output .= drupal_render($form);
  return $output . '</div>';
}