From 0a44b47485671e99b630392b77db3577f2d60810 Mon Sep 17 00:00:00 2001
From: Bob Vincent <bobvin@pillars.net>
Date: Wed, 16 Mar 2011 17:45:48 -0400
Subject: [PATCH] Issue #1095278 by pillars.net: Add filter support.

---
 transliteration.module |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/transliteration.module b/transliteration.module
index 2c71a2f..f45aa41 100644
--- a/transliteration.module
+++ b/transliteration.module
@@ -142,3 +142,50 @@ function transliteration_init() {
   }
 }
 
+/**
+ * Implements hook_filter_info().
+ */
+function transliteration_filter_info() {
+  return array(
+    'filter_transliteration' => array(
+      'title' => t('Transliteration'),
+      'description'=> t('Convert non-latin text to US-ASCII equivalents.'),
+      'default settings' => array('unknown' => '?'),
+      'process callback' => '_filter_transliteration_process',
+      'settings callback' => '_filter_transliteration_settings',
+      'tips callback' => '_filter_transliteration_tips',
+    ),
+  );
+}
+
+/**
+ * Implements hook_filter_FILTER_process().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_process($text, $filter, $format, $langcode, $cache, $cache_id) {
+  return transliteration_get($text, $filter->settings['unknown'], $langcode);
+}
+
+/**
+ * Implements hook_filter_FILTER_settings().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_settings($form, &$form_state, $filter, $format, $defaults, $filters) {
+  $filter->settings += $defaults;
+  return array(
+    'unknown' => array(
+      '#type' => 'textfield',
+      '#title' => t('Unknown character'),
+      '#description' => t('Replacement string for characters that do not have a suitable ASCII equivalent.'),
+      '#default_value' => $filter->settings['unknown'],
+    )
+  );
+}
+
+/**
+ * Implements hook_filter_FILTER_tips().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_tips($filter, $format, $long) {
+  return t('Non-latin text will be converted to US-ASCII equivalents.');
+}
-- 
1.7.1

