--- Sites/drupal/sites/all/modules/filter_default/filter_default.module	2007-09-12 15:58:16.000000000 -0500
+++ sites/drupal6/sites/all/modules/filter_default/filter_default.module	2008-04-25 17:18:29.000000000 -0500
@@ -1,19 +1,18 @@
 <?php
 // $Id: filter_default.module,v 1.4 2007/09/12 20:58:16 bjaspan Exp $
 
-function filter_default_menu($may_cache) {
+function filter_default_menu() {
   $items = array();
-  if ($may_cache) {
-    $items[] = array(
-      'path' => 'admin/settings/filters/default',
-      'title' => t('Defaults'),
-      'callback' => 'drupal_get_form',
-      'callback arguments' => 'filter_default_admin_defaults_form',
-      'type' => MENU_LOCAL_TASK,
-      'weight' => 0.5,
-      'access' => user_access('administer filters'),
-      );
-  }
+
+  $items['admin/settings/filters/default'] = array(
+    'title' => 'Defaults',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('filter_default_admin_defaults_form'),
+    'type' => MENU_LOCAL_TASK,
+    'weight' => 0.5,
+    'access arguments' => array('administer filters'),
+    );
+
   return $items;
 }
 
@@ -31,25 +30,33 @@ function filter_default_admin_defaults_f
       array('%list_link' => l('list tab', 'admin/filters'))));
 
   for ($i = 1; $i < count($roles); $i++) {
-    list($def_role, $def_format) = variable_get('filter_default_'.$i,
+    list($def_role, $def_format) = variable_get('filter_default_'. $i,
       array());
 
-    $form['role_'.$i] = array(
+    $form['role_'. $i] = array(
       '#type' => 'select',
       '#options' => $roles,
       '#default_value' => $def_role);
-    $form['format_'.$i] = array(
+    $form['format_'. $i] = array(
       '#type' => 'select',
       '#options' => $format_list,
       '#default_value' => $def_format);
   }
   $form['submit'] = array(
-    '#type' => 'submit', 
+    '#type' => 'submit',
     '#value' => t('Save default roles'));
 
   return $form;
 }
 
+function filter_default_theme() {
+  return array(
+    'filter_default_admin_defaults_form' => array(
+      'arguments' => array('form'),
+    ),
+  );
+}
+
 function theme_filter_default_admin_defaults_form($form) {
   $roles = user_roles();
 
@@ -59,8 +66,8 @@ function theme_filter_default_admin_defa
   for ($i = 1; $i < count($roles)+1; $i++) {
     $row = array();
     $row[] = $i;
-    $row[] = drupal_render($form['role_'.$i]);
-    $row[] = drupal_render($form['format_'.$i]);
+    $row[] = drupal_render($form['role_'. $i]);
+    $row[] = drupal_render($form['format_'. $i]);
     $rows[] = $row;
   }
 
@@ -70,45 +77,47 @@ function theme_filter_default_admin_defa
   return $output;
 }
 
-function filter_default_admin_defaults_form_validate($form_id, $form) {
+function filter_default_admin_defaults_form_validate($form, &$form_state) {
   $roles = user_roles();
   $formats = filter_formats();
 
   for ($i = 1; $i < count($roles)+1; $i++) {
-    if ($form['role_'.$i] > 0 &&
-      (strpos($formats[$form['format_'.$i]]->roles,
-        ','.$roles[$form['role_'.$i]].',') === FALSE &&
-        strpos($formats[$form['format_'.$i]]->roles,
-          ','.$form['role_'.$i].',') === FALSE)) {
-      form_set_error('format_'.$i,
+    if ($form_state['values']['role_'. $i] > 0 &&
+      (strpos($formats[$form_state['values']['format_'. $i]]->roles,
+        ','. $roles[$form_state['values']['role_'. $i]] .',') === FALSE &&
+        strpos($formats[$form_state['values']['format_'. $i]]->roles,
+          ','. $form_state['values']['role_'. $i] .',') === FALSE)) {
+      form_set_error('format_'. $i,
         t('Role %role is not allowed to use format %format.',
-          array('%role' => $roles[$form['role_'.$i]],
-            '%format' => $formats[$form['format_'.$i]]->name)));
+          array('%role' => $roles[$form_state['values']['role_'. $i]],
+            '%format' => $formats[$form_state['values']['format_'. $i]]->name)));
     }
   }
 }
 
-function filter_default_admin_defaults_form_submit($form_id, $form) {
+function filter_default_admin_defaults_form_submit($form, &$form_state) {
   $roles = user_roles();
   for ($i = 1; $i < count($roles)+1; $i++) {
-    if ($form['role_'.$i] > 0) {
-      variable_set('filter_default_'.$i,
-        array($form['role_'.$i], $form['format_'.$i]));
-    } else {
-      variable_del('filter_default_'.$i);
+    if ($form_state['values']['role_'. $i] > 0) {
+      variable_set('filter_default_'. $i,
+        array($form_state['values']['role_'. $i], $form_state['values']['format_'. $i]));
+    }
+    else {
+      variable_del('filter_default_'. $i);
     }
   }
 }
   
-function _filter_default_form_alter_filters($format_new, &$form) {
-  if (isset($form['#validate']) && is_array($form['#validate']) &&
-    array_key_exists('filter_form_validate', $form['#validate'])) {
+function _filter_default_form_alter_filters($format_new, &$form, &$form_state) {
+  if (isset($form['#element_validate']) && is_array($form['#element_validate']) &&
+    array_search('filter_form_validate', $form['#element_validate']) !== FALSE) {
     
     foreach (element_children($form) as $el) {
+    
       // Until admin/settings/filters is submitted,
       // filter_default_format is not set.  Assume Filtered HTML.
       $default = variable_get('filter_default_format', 1);
-      if ($form[$el]['#type'] == 'radio' && 
+      if ($form[$el]['#type'] == 'radio' &&
         $form[$el]['#default_value'] == $default) {
         $form[$el]['#default_value'] = $format_new;
       }
@@ -116,7 +125,7 @@ function _filter_default_form_alter_filt
   }
   if (is_array($form)) {
     foreach (element_children($form) as $el) {
-      _filter_default_form_alter_filters($format_new, $form[$el]);
+      _filter_default_form_alter_filters($format_new, $form[$el], $form_state);
     }
   }
 }
@@ -135,14 +144,14 @@ function _filter_default_is_new($form_id
   return FALSE;
 }
 
-function filter_default_form_alter($form_id, &$form) {
+function filter_default_form_alter(&$form, &$form_state, $form_id) {
   if (_filter_default_is_new($form_id, $form)) {
     global $user;
     $roles = user_roles();
     for ($i = 1; $i < count($roles)+1; $i++) {
-      list($role, $format) = variable_get('filter_default_'.$i, array());
+      list($role, $format) = variable_get('filter_default_'. $i, array());
       if (array_key_exists($role, $user->roles)) {
-        _filter_default_form_alter_filters($format, $form);
+        _filter_default_form_alter_filters($format, $form, $form_state);
         break;
       }
     }
