function FilterID::getSourceFilterType

Same name and namespace in other branches
  1. 8.9.x core/modules/filter/src/Plugin/migrate/process/FilterID.php \Drupal\filter\Plugin\migrate\process\FilterID::getSourceFilterType()
  2. 10 core/modules/filter/src/Plugin/migrate/process/FilterID.php \Drupal\filter\Plugin\migrate\process\FilterID::getSourceFilterType()
  3. 11.x core/modules/filter/src/Plugin/migrate/process/FilterID.php \Drupal\filter\Plugin\migrate\process\FilterID::getSourceFilterType()

Gets the Drupal 8 filter type for a Drupal 7 filter.

Parameters

string $filter_id: A Drupal 7 filter ID.

Return value

int One of:

See also

\Drupal\filter\Plugin\FilterInterface::getType()

1 call to FilterID::getSourceFilterType()
FilterID::transform in core/modules/filter/src/Plugin/migrate/process/FilterID.php
Performs the associated process.

File

core/modules/filter/src/Plugin/migrate/process/FilterID.php, line 116

Class

FilterID
Plugin annotation @MigrateProcessPlugin( id = "filter_id" )

Namespace

Drupal\filter\Plugin\migrate\process

Code

protected static function getSourceFilterType($filter_id) {
    switch ($filter_id) {
        // Drupal 7 core filters.
        // - https://git.drupalcode.org/project/drupal/blob/7.69/modules/filter/filter.module#L1229
        // - https://git.drupalcode.org/project/drupal/blob/7.69/modules/php/php.module#L139
        case 'filter_html':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        case 'filter_url':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        case 'filter_autop':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        case 'filter_htmlcorrector':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        case 'filter_html_escape':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        case 'php_code':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // Drupal 7 contrib filters.
        // https://www.drupal.org/project/abbrfilter
        case 'abbrfilter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/ace_editor
        case 'ace_editor':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/adsense
        case 'adsense':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/api
        case 'api_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/api_tokens
        case 'api_tokens':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/autofloat
        case 'filter_autofloat':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/bbcode
        case 'bbcode':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/biblio
        case 'biblio_filter_reference':
        case 'biblio_filter_inline_reference':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/caption
        case 'caption':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/caption_filter
        case 'caption_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/cincopa
        case 'filter_cincopa':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/ckeditor_blocks
        case 'ckeditor_blocks':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/ckeditor_filter
        case 'ckeditor_filter':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/ckeditor_link
        case 'ckeditor_link_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/ckeditor_swf
        case 'ckeditor_swf_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/codefilter
        case 'codefilter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/collapse_text
        case 'collapse_text_filter':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/columns_filter
        case 'columns_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/commonmark
        case 'commonmark':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/commons_hashtags
        case 'filter_hashtags':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/deepzoom
        case 'deepzoom':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/editor
        case 'editor_align':
        case 'editor_caption':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/elf
        case 'elf':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/emogrifier
        case 'filter_emogrifier':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/emptyparagraphkiller
        case 'emptyparagraphkiller':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/entity_embed
        case 'entity_embed':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        case 'filter_align':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/ext_link_page
        case 'ext_link_page':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/filter_html_image_secure
        case 'filter_html_image_secure':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/filter_transliteration
        case 'filter_transliteration':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/flickr
        case 'flickr_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/float_filter
        case 'float_filter':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/footnotes
        case 'filter_footnotes':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/forena
        case 'forena_report':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/g2
        case 'filter_g2':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/geo_filter
        case 'geo_filter_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/google_analytics_counter
        case 'filter_google_analytics_counter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/google_analytics_referrer
        case 'filter_google_analytics_referrer':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/gotwo
        case 'gotwo_link':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/h5p
        case 'h5p_content':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/highlightjs
        case 'highlight_js':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/htmLawed
        case 'htmLawed':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/htmlpurifier
        case 'htmlpurifier_basic':
        case 'htmlpurifier_advanced':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/htmltidy
        case 'htmltidy':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/icon
        case 'icon_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/iframe_filter
        case 'iframe':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/image_resize_filter
        case 'image_resize_filter':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/insert_view
        case 'insert_view':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/intlinks
        case 'intlinks title':
        case 'intlinks hide bad':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/jquery_ui_filter
        case 'accordion':
        case 'dialog':
        case 'tabs':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/language_sections
        case 'language_sections':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/lazy
        case 'lazy_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/lazyloader_filter
        case 'lazyloader_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/link_node
        case 'filter_link_node':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/linktitle
        case 'linktitle':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/markdown
        case 'filter_markdown':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/media_wysiwyg
        case 'media_filter':
        case 'media_filter_paragraph_fix':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/mentions
        case 'filter_mentions':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/menu_filter
        case 'menu_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/mobile_codes
        case 'mobile_codes':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/multicolumn
        case 'multicolumn':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/multilink
        case 'multilink_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/mytube
        case 'mytube':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/node_embed
        case 'node_embed':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/node_field_embed
        case 'node_field_embed':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/noindex_external_links
        case 'external_links':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/noreferrer
        case 'noreferrer':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/oembed
        case 'oembed':
        case 'oembed_legacy':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/office_html
        case 'office_html_strip':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        case 'office_html_convert':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/openlayers_filters
        case 'openlayers':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/opengraph_filter
        case 'opengraph_filter':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/pathologic
        case 'pathologic':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/popup
        case 'popup_tags':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/prettify
        case 'prettify':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/rel_to_abs
        case 'rel_to_abs':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/rollover_filter
        case 'rollover_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/sanitizable
        case 'sanitizable':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/smart_paging
        case 'smart_paging_filter':
        case 'smart_paging_filter_autop':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/spamspan
        case 'spamspan':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/scald
        case 'mee_scald_widgets':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/script_filter
        case 'script_filter':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/shortcode
        case 'shortcode':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        case 'shortcode_text_corrector':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/smiley
        case 'smiley':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/svg_embed
        case 'filter_svg_embed':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/spoiler
        case 'spoiler':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/tableofcontents
        case 'filter_toc':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/tables
        case 'filter_tables':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/target_filter_url
        case 'target_filter_url':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/textile
        case 'textile':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
        // https://www.drupal.org/project/theme_filter
        case 'theme_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/token_filter
        case 'filter_tokens':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/transliteration
        case 'transliteration':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/typogrify
        case 'typogrify':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/uuid_link
        case 'uuid_link_filter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/wysiwyg
        case 'wysiwyg':
        case 'wysiwyg_template_cleanup':
            return FilterInterface::TYPE_HTML_RESTRICTOR;
        // https://www.drupal.org/project/word_link
        case 'word_link':
            return FilterInterface::TYPE_TRANSFORM_REVERSIBLE;
        // https://www.drupal.org/project/wordfilter
        case 'wordfilter':
            return FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE;
        // https://www.drupal.org/project/xbbcode
        case 'xbbcode':
            return FilterInterface::TYPE_MARKUP_LANGUAGE;
    }
    return NULL;
}

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