--- C:/Users/zmove/Desktop/old/wordfilter.module	Tue Jul 15 17:55:32 2008
+++ C:/Users/zmove/Desktop/new/wordfilter.module	Tue Jul 15 17:56:59 2008
@@ -339,7 +339,12 @@
 function _wordfilter_list($refresh = 0) {
   static $list = NULL;
   if (is_null($list) || $refresh) {
-    $result = db_query('SELECT * FROM {wordfilter}');
+		$node_language = db_result(db_query("SELECT language FROM {node} WHERE nid = %d", arg(1)));
+		if (empty($node_language)) {
+    	$result = db_query('SELECT * FROM {wordfilter} WHERE language = "all"');
+		} else {
+    	$result = db_query('SELECT * FROM {wordfilter} WHERE language = "all" OR language = "%s"', $node_language);
+		}
     $list = array();
     while ($a = db_fetch_object($result)) {
       $list[] = $a;
@@ -367,7 +372,8 @@
  */
 function wordfilter_admin_list() {
   $header = array(
-    array('data' => t('Word to filter'), 'field' => 'words', 'sort' => 'asc'),
+		array('data' => t('Language'), 'field' => 'language', 'sort' => 'asc'),	
+    array('data' => t('Word to filter'), 'field' => 'words'),
     array('data' => t('Replacement text'), 'field' => 'replacement'),
     array('data' => t('Standalone'), 'field' => 'standalone'),
     array('data' => t('Operations'), 'colspan' => 2)
@@ -376,6 +382,7 @@
   $list = _wordfilter_admin_list($header);
   foreach ($list as $word) {
     $rows[] = array(
+			check_plain($word->language),		
       check_plain($word->words),
       ($word->replacement) ? $word->replacement : variable_get('wordfilter_default_replacement', '[filtered word]'),
       ($word->standalone) ? t('Yes') : t('No'),
@@ -403,7 +410,13 @@
     '#type' => 'hidden',
     '#value' => $word->id,
   );
-
+	$form['language'] = array(
+		'#type' => 'select',
+		'#title' => t('Language'),
+		'#default_value' => $word->language,
+		'#options' => wordfilter_get_language_list(),
+		'#description' => t('Choose for which language you want to apply the word replacement. If all selected, no language restrictions'),
+	);
   $form['words'] = array(
     '#type' => 'textfield',
     '#title' => t('Word to filter'),
@@ -447,9 +460,9 @@
 }
 
 function wordfilter_admin_edit_form_submit($form, &$form_state) {
-  db_query("UPDATE {wordfilter} SET words = '%s', replacement = '%s', standalone = %d WHERE id = %d", $form_state['values']['words'], $form_state['values']['replacement'], $form_state['values']['standalone'], $form_state['values']['id']);
-  watchdog('wordfilter', 'Updated filter for:'. $form_state['values']['words']);
-  drupal_set_message(t('Updated filter for:') . $form_state['values']['words']);
+  db_query("UPDATE {wordfilter} SET language = '%s', words = '%s', replacement = '%s', standalone = %d WHERE id = %d", $form_state['values']['language'], $form_state['values']['words'], $form_state['values']['replacement'], $form_state['values']['standalone'], $form_state['values']['id']);
+	watchdog('wordfilter', t('Updated filter for <em>%word</em> in <em>%language</em> language', array('%word' => $word, '%language' => $form['language']['#options'][$form_state['values']['language']])));
+  drupal_set_message(t('Updated filter for <em>%word</em> in <em>%language</em> language', array('%word' => $word, '%language' => $form['language']['#options'][$form_state['values']['language']])));
   $form_state['redirect'] = 'admin/settings/wordfilter';
 }
 
@@ -459,6 +472,13 @@
 function wordfilter_admin_add_form() {
   $form = array();
 
+	$form['language'] = array(
+		'#type' => 'select',
+		'#title' => t('Language'),
+		'#options' => wordfilter_get_language_list(),
+		'#description' => t('Choose for which language you want to apply the word replacement. If all selected, no language restrictions'),
+	);
+
   $form['help'] = array(
     '#type' => 'markup',
     '#value' => t("Enter a word or phrase you want to filter followed by '|' and the replacement word or phrase. You can enter multiple word and replacement word pairs by hitting return and adding more word pairs. Any word or phrases that do not have a replacement word or phrase will use the default replacement word below."),
@@ -510,10 +530,21 @@
     list($word, $replacement) = explode('|', $pair);
     if (!$replacement) {
       $replacement = $form_state['values']['replacement'];
-    }
-    db_query("INSERT INTO {wordfilter} (words, replacement, standalone) VALUES ('%s', '%s', %d)", $word, $replacement, $form_state['values']["standalone"]);
-    watchdog('wordfilter', 'Added filter for:'. $word);
-    drupal_set_message(t('Added filter for:') . $word);
+    }		
+		
+    db_query("INSERT INTO {wordfilter} (language, words, replacement, standalone) VALUES ('%s', '%s', '%s', %d)", $form_state['values']['language'], $word, $replacement, $form_state['values']["standalone"]);
+		watchdog('wordfilter', t('Added filter for <em>%word</em> in <em>%language</em> language', array('%word' => $word, '%language' => $form['language']['#options'][$form_state['values']['language']])));
+		drupal_set_message(t('Added filter for <em>%word</em> in <em>%language</em> language', array('%word' => $word, '%language' => $form['language']['#options'][$form_state['values']['language']])));
   }
   return 'admin/settings/wordfilter';
 }
+
+function wordfilter_get_language_list() {
+	$language_list = array(
+		'all' => t('All')
+	);
+	foreach(language_list() as $language) {
+		$language_list[$language->language] = $language->name;
+	}
+	return $language_list;
+}
\ No newline at end of file
