filter.pages.inc

User page callbacks for the Filter module.

File

modules/filter/filter.pages.inc

View source
<?php


/**
 * @file
 * User page callbacks for the Filter module.
 */

/**
 * Page callback: Displays a page with long filter tips.
 *
 * @return string
 *   An HTML-formatted string.
 *
 * @see filter_menu()
 * @see theme_filter_tips()
 */
function filter_tips_long($format = NULL) {
    if (!empty($format)) {
        $output = theme('filter_tips', array(
            'tips' => _filter_tips($format->format, TRUE),
            'long' => TRUE,
        ));
    }
    else {
        $output = theme('filter_tips', array(
            'tips' => _filter_tips(-1, TRUE),
            'long' => TRUE,
        ));
    }
    return $output;
}

/**
 * Returns HTML for a set of filter tips.
 *
 * @param $variables
 *   An associative array containing:
 *   - tips: An array containing descriptions and a CSS ID in the form of
 *     'module-name/filter-id' (only used when $long is TRUE) for each
 *     filter in one or more text formats. Example:
 *     @code
 *       array(
 *         'Full HTML' => array(
 *           0 => array(
 *             'tip' => 'Web page addresses and e-mail addresses turn into links automatically.',
 *             'id' => 'filter/2',
 *           ),
 *         ),
 *       );
 *     @endcode
 *   - long: (optional) Whether the passed-in filter tips contain extended
 *     explanations, i.e. intended to be output on the path 'filter/tips'
 *     (TRUE), or are in a short format, i.e. suitable to be displayed below a
 *     form element. Defaults to FALSE.
 *
 * @see _filter_tips()
 * @ingroup themeable
 */
function theme_filter_tips($variables) {
    $tips = $variables['tips'];
    $long = $variables['long'];
    $output = '';
    $multiple = count($tips) > 1;
    if ($multiple) {
        $output = '<h2>' . t('Text Formats') . '</h2>';
    }
    if (count($tips)) {
        if ($multiple) {
            $output .= '<div class="compose-tips">';
        }
        foreach ($tips as $name => $tiplist) {
            if ($multiple) {
                $output .= '<div class="filter-type filter-' . drupal_html_class($name) . '">';
                $output .= '<h3>' . check_plain($name) . '</h3>';
            }
            if (count($tiplist) > 0) {
                $output .= '<ul class="tips">';
                foreach ($tiplist as $tip) {
                    $output .= '<li' . ($long ? ' id="filter-' . str_replace("/", "-", $tip['id']) . '">' : '>') . $tip['tip'] . '</li>';
                }
                $output .= '</ul>';
            }
            if ($multiple) {
                $output .= '</div>';
            }
        }
        if ($multiple) {
            $output .= '</div>';
        }
    }
    return $output;
}

Functions

Title Deprecated Summary
filter_tips_long Page callback: Displays a page with long filter tips.
theme_filter_tips Returns HTML for a set of filter tips.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.