You are here

function theme_customfilter_rules_form in Custom filter 7

Same name and namespace in other branches
  1. 6 customfilter.admin.inc \theme_customfilter_rules_form()
  2. 7.2 customfilter.module \theme_customfilter_rules_form()

Theme for draggable tree of replacement rules.

See also

customfilter_rules_form().

File

./customfilter.module, line 1372
Allows the users with the right permission to define custom filters.

Code

function theme_customfilter_rules_form($vars) {
  $form = $vars['form'];
  $rows = array();
  if (isset($form['rules'])) {
    foreach (element_children($form['rules']) as $rid) {
      $row = array();
      $element =& $form['rules'][$rid];
      $element['prid']['#attributes']['class'] = array(
        'rule-prid',
      );
      $element['rid']['#attributes']['class'] = array(
        'rule-rid',
      );
      $element['weight']['#attributes']['class'] = array(
        'rule-weight',
      );
      $row[] = theme('indentation', array(
        'size' => $element['level']['#value'],
      )) . $element['name']['#value'];
      $row[] = drupal_render($element['rid']) . drupal_render($element['prid']) . drupal_render($element['weight']);
      $row[] = drupal_render($element['enabled']);
      $row[] = $element['operations']['add']['#value'];
      $row[] = $element['operations']['edit']['#value'];
      $row[] = $element['operations']['delete']['#value'];
      $rows[] = array(
        'data' => $row,
        'class' => array(
          'draggable',
        ),
      );
    }
  }
  if (!count($rows)) {
    $rows[] = array(
      array(
        'data' => t('There are no replacement rules currently defined.'),
        'colspan' => '6',
      ),
    );
  }
  $header[] = t('Name');
  $header[] = t('Weight');
  $header[] = t('Enabled');
  $header[] = array(
    'data' => t('Operations'),
    'colspan' => '3',
  );
  drupal_add_tabledrag('customfilter-rules-tree', 'order', 'sibling', 'rule-weight', NULL, NULL, TRUE);
  drupal_add_tabledrag('customfilter-rules-tree', 'match', 'parent', 'rule-prid', 'rule-prid', 'rule-rid', TRUE);
  $args['header'] = $header;
  $args['rows'] = $rows;
  $args['attributes'] = array(
    'id' => 'customfilter-rules-tree',
  );
  $args['caption'] = null;
  $args['colgroups'] = array();
  $args['sticky'] = false;
  $args['empty'] = null;
  return theme('table', $args) . drupal_render_children($form);
}