You are here

function theme_user_badges_badgelist_form in User Badges 7

Same name and namespace in other branches
  1. 6.2 user_badges.admin.inc \theme_user_badges_badgelist_form()
  2. 6 user_badges.admin.inc \theme_user_badges_badgelist_form()
  3. 7.2 user_badges.admin.inc \theme_user_badges_badgelist_form()
  4. 7.3 user_badges.admin.inc \theme_user_badges_badgelist_form()

Theme the badge list form.

Parameters

$form: An associative array containing the structure of the form.

File

./user_badges.admin.inc, line 157
@brief User Badges admin functions

Code

function theme_user_badges_badgelist_form($variables) {
  $form = $variables['form'];
  $output = '';

  // Loop through the array items in the name array to get all the bids for our listed badges.
  if (isset($form['name']) && is_array($form['name'])) {
    foreach (element_children($form['name']) as $key) {

      //We only want bids as values of $key
      if (!is_numeric($key)) {
        continue;
      }

      // Create the rows array for the table theme.
      $row = array();
      $row[] = $form['name'][$key]['#value'];
      $row[] = $form['badge'][$key]['#value'];
      $row[] = $form['weight'][$key]['#value'];
      $row[] = $form['options'][$key]['#value'];
      if (variable_get('user_badges_list_show_users', 0)) {
        $row[] = $form['users'][$key]['#value'];
      }
      $row[] = $form['edit'][$key]['#value'];
      $row[] = $form['delete'][$key]['#value'];
      $rows[] = $row;
    }

    // Add the submit button.
    $rows[] = array(
      array(
        'data' => drupal_render($form['submit']),
        'align' => 'center',
        'colspan' => '20',
      ),
    );
  }
  else {
    $rows[] = array(
      array(
        'data' => t('No badges available.'),
        'colspan' => '5',
      ),
    );
  }

  // Theme all that we have processed so far into a table.
  $output .= theme('table', array(
    'header' => $form['#header'],
    'rows' => $rows,
  ));

  // Create the table's pager.
  if ($form['pager']['#value']) {
    $output .= drupal_render($form['pager']);
  }
  return $output;
}