You are here

function theme_emaillog_admin_settings in Logging and alerts 6.2

Same name and namespace in other branches
  1. 8 emaillog/emaillog.module \theme_emaillog_admin_settings()
  2. 7.2 emaillog/emaillog.admin.inc \theme_emaillog_admin_settings()
  3. 2.0.x emaillog/emaillog.module \theme_emaillog_admin_settings()

Themes admin settings form.

File

emaillog/emaillog.admin.inc, line 123
Admin callbacks for the Email Logging and Alerts module.

Code

function theme_emaillog_admin_settings($form) {
  $severity_levels = watchdog_severity_levels();
  foreach (element_children($form['debug_info']['variable']) as $key) {
    $row = array();

    // Permission row.
    $row[] = array(
      'data' => drupal_render($form['debug_info']['variable'][$key]),
      'class' => 'variable',
    );
    foreach (array_keys($severity_levels) as $level_id) {
      $element = $form['debug_info'][$level_id];
      $row[] = array(
        'data' => drupal_render($form['debug_info'][$level_id][$key]),
        'class' => 'checkbox',
        'title' => $element['#title'] . ' : ' . $form['debug_info']['variable'][$key]['#value'],
      );
    }
    $rows[] = $row;
  }
  $header = array(
    '',
  );
  foreach (array_keys($severity_levels) as $level_id) {
    $element = $form['debug_info'][$level_id];
    $header[] = array(
      'data' => $element['#title'],
      'class' => 'checkbox',
    );

    // Mark the checkboxes parent as rendered
    $form['debug_info'][$level_id]['#printed'] = TRUE;
  }

  // Put the table with all checkboxes inside a fieldset.
  $form['debug_info']['variables'] = array(
    '#type' => 'markup',
    '#value' => theme('table', $header, $rows, array(
      'id' => 'debug_info',
    )),
  );

  // Render and return all remaining elements.
  return drupal_render($form);
}