123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- <?php
- function hook_filter_info() {
- $filters['filter_html'] = array(
- 'title' => t('Limit allowed HTML tags'),
- 'description' => t('Allows you to restrict the HTML tags the user can use. It will also remove harmful content such as JavaScript events, JavaScript URLs and CSS styles from those tags that are not removed.'),
- 'process callback' => '_filter_html',
- 'settings callback' => '_filter_html_settings',
- 'default settings' => array(
- 'allowed_html' => '<a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>',
- 'filter_html_help' => 1,
- 'filter_html_nofollow' => 0,
- ),
- 'tips callback' => '_filter_html_tips',
- );
- $filters['filter_autop'] = array(
- 'title' => t('Convert line breaks'),
- 'description' => t('Converts line breaks into HTML (i.e. <br> and <p>) tags.'),
- 'process callback' => '_filter_autop',
- 'tips callback' => '_filter_autop_tips',
- );
- return $filters;
- }
- function hook_filter_info_alter(&$info) {
-
-
- $info['php_code']['process callback'] = 'my_module_php_evaluator';
-
- $info['filter_url']['default settings'] = array(
- 'filter_url_length' => 100,
- );
- }
- function callback_filter_settings($form, &$form_state, $filter, $format, $defaults, $filters) {
- $filter->settings += $defaults;
- $elements = array();
- $elements['nofollow'] = array(
- '#type' => 'checkbox',
- '#title' => t('Add rel="nofollow" to all links'),
- '#default_value' => $filter->settings['nofollow'],
- );
- return $elements;
- }
- function callback_filter_prepare($text, $filter, $format, $langcode, $cache, $cache_id) {
-
- $text = preg_replace('|<code>(.+?)</code>|se', "[codefilter_code]$1[/codefilter_code]", $text);
- return $text;
- }
- function callback_filter_process($text, $filter, $format, $langcode, $cache, $cache_id) {
- $text = preg_replace('|\[codefilter_code\](.+?)\[/codefilter_code\]|se', "<pre>$1</pre>", $text);
- return $text;
- }
- function callback_filter_tips($filter, $format, $long) {
- if ($long) {
- return t('Lines and paragraphs are automatically recognized. The <br /> line break, <p> paragraph and </p> close paragraph tags are inserted automatically. If paragraphs are not recognized simply add a couple blank lines.');
- }
- else {
- return t('Lines and paragraphs break automatically.');
- }
- }
- function hook_filter_format_insert($format) {
- mymodule_cache_rebuild();
- }
- function hook_filter_format_update($format) {
- mymodule_cache_rebuild();
- }
- function hook_filter_format_disable($format) {
- mymodule_cache_rebuild();
- }
|