function check_markup in Drupal 4
Same name and namespace in other branches
- 8 core/modules/filter/filter.module \check_markup()
- 5 modules/filter/filter.module \check_markup()
- 6 modules/filter/filter.module \check_markup()
- 7 modules/filter/filter.module \check_markup()
- 9 core/modules/filter/filter.module \check_markup()
Run all the enabled filters on a piece of text.
Parameters
$text: The text to be filtered.
$format: The format of the text to be filtered. Specify FILTER_FORMAT_DEFAULT for the default format.
$check: Whether to check the $format with filter_access() first. Defaults to TRUE. Note that this will check the permissions of the current user, so you should specify $check = FALSE when viewing other people's content. When showing content that is not (yet) stored in the database (eg. upon preview), set to TRUE so the user's permissions are checked.
6 calls to check_markup()
- block_block in modules/
block.module - Implementation of hook_block().
- comment_nodeapi in modules/
comment.module - Implementation of hook_nodeapi().
- node_prepare in modules/
node.module - Apply filters to a node in preparation for theming.
- profile_view_field in modules/
profile.module - theme_comment_view in modules/
comment.module
File
- modules/
filter.module, line 739 - Framework for handling filtering of content.
Code
function check_markup($text, $format = FILTER_FORMAT_DEFAULT, $check = TRUE) {
// When $check = true, do an access check on $format.
if (isset($text) && (!$check || filter_access($format))) {
$format = filter_resolve_format($format);
// Check for a cached version of this piece of text.
$id = 'filter:' . $format . ':' . md5($text);
if ($cached = cache_get($id)) {
return $cached->data;
}
// See if caching is allowed for this format.
$cache = filter_format_allowcache($format);
// Convert all Windows and Mac newlines to a single newline,
// so filters only need to deal with one possibility.
$text = str_replace(array(
"\r\n",
"\r",
), "\n", $text);
// Get a complete list of filters, ordered properly.
$filters = filter_list_format($format);
// Give filters the chance to escape HTML-like data such as code or formulas.
foreach ($filters as $filter) {
$text = module_invoke($filter->module, 'filter', 'prepare', $filter->delta, $format, $text);
}
// Perform filtering.
foreach ($filters as $filter) {
$text = module_invoke($filter->module, 'filter', 'process', $filter->delta, $format, $text);
}
// Store in cache with a minimum expiration time of 1 day.
if ($cache) {
cache_set($id, $text, time() + 60 * 60 * 24);
}
}
else {
$text = message_na();
}
return $text;
}