You are here

function theme_better_messages_admin_overview_list in Better Messages 7.2

Returns HTML for Better Messages skins overview form.

File

./better_messages.admin.inc, line 38

Code

function theme_better_messages_admin_overview_list($variables) {
  $form = $variables['form'];
  $rows = array();
  foreach ($form['name'] as $skin => $skin_settings) {

    // Do not take form control structures.
    if (is_array($skin_settings) && element_child($skin)) {
      $row = array();
      $settings = _better_messages_get_settings($skin);
      $title = drupal_render($form['name'][$skin]);
      $row[] = '<strong>' . $title . '</strong>';

      // Add invisible labels for radio buttons in the table for accessibility.
      $form['default_skin'][$skin]['#title'] = t('Set !title as default', array(
        '!title' => $title,
      ));
      $form['default_skin'][$skin]['#title_display'] = 'invisible';
      $row[] = drupal_render($form['default_skin'][$skin]);
      if ($settings[$skin]['admin']['storage'] == 'custom') {
        $row[] = t('Custom');
        $row[] = l(t('edit'), 'admin/config/user-interface/better-messages/edit/' . $skin);
        $row[] = l(t('clone'), 'admin/config/user-interface/better-messages/clone/' . $skin);
        $row[] = l(t('delete'), 'admin/config/user-interface/better-messages/delete/' . $skin);
      }
      else {
        if ($settings[$skin]['admin']['storage'] == 'overridden') {
          $row[] = t('Overridden');
          $row[] = l(t('edit'), 'admin/config/user-interface/better-messages/edit' . $skin);
          $row[] = l(t('clone'), 'admin/config/user-interface/better-messages/clone/' . $skin);
          $row[] = l(t('revert'), 'admin/config/user-interface/better-messages/revert/' . $skin);
        }
        else {
          $row[] = t('Default');
          $row[] = l(t('override'), 'admin/config/user-interface/better-messages/edit/' . $skin);
          $row[] = l(t('clone'), 'admin/config/user-interface/better-messages/clone/' . $skin);
          $row[] = '';
        }
      }
      $rows[] = $row;
    }
  }
  if (empty($rows)) {
    $rows[] = array(
      array(
        'colspan' => 4,
        'data' => t('There are currently no Better Messages skins. <a href="!url">Add a new one</a>.', array(
          '!url' => url('admin/config/user-interface/better-messages/add'),
        )),
      ),
    );
  }
  $header = array(
    array(
      'data' => t('Skin name'),
    ),
    array(
      'data' => t('Default'),
    ),
    array(
      'data' => t('Settings'),
    ),
    array(
      'data' => t('Operations'),
      'colspan' => 3,
    ),
  );
  $output = theme('table', array(
    'header' => $header,
    'rows' => $rows,
  ));
  $output .= drupal_render_children($form);
  return $output;
}