You are here

function _customfilter_rules_tree_form in Custom filter 7.2

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

Return the rules tree form.

1 call to _customfilter_rules_tree_form()
customfilter_rules_form in ./customfilter.module
Return the list of replacement rules form.

File

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

Code

function _customfilter_rules_tree_form($rules, $level = 0) {
  $base = 'admin/config/content/customfilter';
  $form = array();
  foreach ($rules as $rule) {
    $fid = $rule['fid'];
    $rid = $rule['rid'];
    $form[$rid] = array(
      'name' => array(
        '#value' => l($rule['name'], "{$base}/{$fid}/{$rid}/edit"),
      ),
      'enabled' => array(
        '#type' => 'checkbox',
        '#default_value' => $rule['enabled'],
      ),
      'weight' => array(
        '#type' => 'weight',
        '#default_value' => $rule['weight'],
      ),
      'rid' => array(
        '#type' => 'hidden',
        '#value' => $rid,
      ),
      'prid' => array(
        '#type' => 'textfield',
        '#default_value' => $rule['prid'],
        '#size' => 4,
      ),
      'level' => array(
        '#type' => 'value',
        '#value' => $level,
      ),
    );
    $form[$rid]['operations'] = array(
      'add' => array(
        '#value' => l(t('add'), "{$base}/{$fid}/{$rid}/add"),
      ),
      'edit' => array(
        '#value' => l(t('edit'), "{$base}/{$fid}/{$rid}/edit"),
      ),
      'delete' => array(
        '#value' => l(t('delete'), "{$base}/{$fid}/{$rid}/delete"),
      ),
    );
    if ($rule['sub']) {
      $form += _customfilter_rules_tree_form($rule['sub'], $level + 1);
    }
  }
  return $form;
}