Community Documentation

filter_form

5 filter.module filter_form($value = FILTER_FORMAT_DEFAULT, $weight = NULL, $parents = array('format'))
6 filter.module filter_form($value = FILTER_FORMAT_DEFAULT, $weight = NULL, $parents = array('format'))

Generate a selector for choosing a format in a form.

Parameters

$value: The ID of the format that is currently selected.

$weight: The weight of the input format.

$parents: Required when defining multiple input formats on a single node or having a different parent than 'format'.

Return value

HTML for the form element.

▾ 7 functions call filter_form()

block_box_form in modules/block/block.module
blog_form in modules/blog/blog.module
Implementation of hook_form().
book_form in modules/book/book.module
Implementation of hook_form().
comment_form in modules/comment/comment.module
forum_form in modules/forum/forum.module
Implementation of hook_form().
node_content_form in modules/node/node.module
Implementation of hook_form().
node_example_form in developer/examples/node_example.module
Implementation of hook_form().

File

modules/filter/filter.module, line 817
Framework for handling filtering of content.

Code

<?php
function filter_form($value = FILTER_FORMAT_DEFAULT, $weight = NULL, $parents = array('format')) {
  $value = filter_resolve_format($value);
  $formats = filter_formats();

  $extra = theme('filter_tips_more_info');

  if (count($formats) > 1) {
    $form = array(
      '#type' => 'fieldset', 
      '#title' => t('Input format'), 
      '#collapsible' => TRUE, 
      '#collapsed' => TRUE, 
      '#weight' => $weight, 
      '#validate' => array('filter_form_validate' => array()),
    );
    // Multiple formats available: display radio buttons with tips.
    foreach ($formats as $format) {
      $form[$format->format] = array(
        '#type' => 'radio', 
        '#title' => $format->name, 
        '#default_value' => $value, 
        '#return_value' => $format->format, 
        '#parents' => $parents, 
        '#description' => theme('filter_tips', _filter_tips($format->format, FALSE)),
      );
    }
  }
  else {
    // Only one format available: use a hidden form item and only show tips.
    $format = array_shift($formats);
    $form[$format->format] = array(
      '#type' => 'value',
      '#value' => $format->format,
      '#parents' => $parents,
    );
    $tips = _filter_tips(variable_get('filter_default_format', 1), FALSE);
    $form['format']['guidelines'] = array(
      '#title' => t('Formatting guidelines'), 
      '#value' => theme('filter_tips', $tips, FALSE, $extra),
    );
  }
  $form[] = array('#value' => $extra);
  return $form;
}
?>
Login or register to post comments