You are here

function theme_front_page_admin_arrange_form in Front Page 7.2

Same name and namespace in other branches
  1. 8 front_page.module \theme_front_page_admin_arrange_form()
  2. 6.2 front_page.admin.inc \theme_front_page_admin_arrange_form()
  3. 9.1.x front_page.module \theme_front_page_admin_arrange_form()

Returns HTML for the front page arrange form into a table.

Parameters

$variables: An associative array containing:

  • form: A render element representing the form.

File

./front_page.admin.inc, line 302
Admin page callbacks for the front page module.

Code

function theme_front_page_admin_arrange_form($variables) {
  $form = $variables['form'];
  drupal_add_tabledrag('front-page-arrange', 'order', 'sibling', 'front-page-weight');
  $header = array(
    t('Role'),
    t('Mode'),
    t('Preview'),
    t('Enabled'),
    t('Weight'),
  );
  $rows = array();
  foreach (element_children($form['roles']) as $rid) {
    $element =& $form['roles'][$rid];

    // Add special classes to be used for tabledrag.js.
    $element['weight']['#attributes']['class'] = array(
      'front-page-weight',
    );
    $row = array();
    $row[] = drupal_render($element['title']);
    $row[] = drupal_render($element['mode']);
    $row[] = drupal_render($element['preview']);
    $row[] = drupal_render($element['enabled']);
    $row[] = drupal_render($element['weight']);
    $row = array_merge(array(
      'data' => $row,
    ), $element['#attributes']);
    $row['class'][] = 'draggable';
    $rows[] = $row;
  }
  $output = '';
  if (empty($rows)) {
    $rows[] = array(
      array(
        'data' => 'no roles',
        'colspan' => '5',
      ),
    );
  }
  $output .= theme('table', array(
    'header' => $header,
    'rows' => $rows,
    'attributes' => array(
      'id' => 'front-page-arrange',
    ),
  ));
  $output .= drupal_render_children($form);
  return $output;
}