Same name and namespace in other branches
  1. 4.7.x modules/book.module \theme_book_admin_table()
  2. 5.x modules/book/book.module \theme_book_admin_table()
  3. 7.x modules/book/book.admin.inc \theme_book_admin_table()

Theme function for the book administration page form.

See also

book_admin_table()

Related topics

1 theme call to theme_book_admin_table()
_book_admin_table in modules/book/book.admin.inc
Build the table portion of the form for the book administration page.

File

modules/book/book.admin.inc, line 213
Admin page callbacks for the book module.

Code

function theme_book_admin_table($form) {
  drupal_add_tabledrag('book-outline', 'match', 'parent', 'book-plid', 'book-plid', 'book-mlid', TRUE, MENU_MAX_DEPTH - 2);
  drupal_add_tabledrag('book-outline', 'order', 'sibling', 'book-weight');
  $header = array(
    t('Title'),
    t('Weight'),
    t('Parent'),
    array(
      'data' => t('Operations'),
      'colspan' => '3',
    ),
  );
  $rows = array();
  $destination = drupal_get_destination();
  $access = user_access('administer nodes');
  foreach (element_children($form) as $key) {
    $nid = $form[$key]['nid']['#value'];
    $href = $form[$key]['href']['#value'];

    // Add special classes to be used with tabledrag.js.
    $form[$key]['plid']['#attributes']['class'] = 'book-plid';
    $form[$key]['mlid']['#attributes']['class'] = 'book-mlid';
    $form[$key]['weight']['#attributes']['class'] = 'book-weight';
    $data = array(
      theme('indentation', $form[$key]['depth']['#value'] - 2) . drupal_render($form[$key]['title']),
      drupal_render($form[$key]['weight']),
      drupal_render($form[$key]['plid']) . drupal_render($form[$key]['mlid']),
      l(t('view'), $href),
      $access ? l(t('edit'), 'node/' . $nid . '/edit', array(
        'query' => $destination,
      )) : '&nbsp',
      $access ? l(t('delete'), 'node/' . $nid . '/delete', array(
        'query' => $destination,
      )) : '&nbsp',
    );
    $row = array(
      'data' => $data,
    );
    if (isset($form[$key]['#attributes'])) {
      $row = array_merge($row, $form[$key]['#attributes']);
    }
    $row['class'] = empty($row['class']) ? 'draggable' : $row['class'] . ' draggable';
    $rows[] = $row;
  }
  return theme('table', $header, $rows, array(
    'id' => 'book-outline',
  ));
}