--- filter.module.orig 2005-06-30 01:11:00.000000000 +0000 +++ filter.module 2005-06-30 01:02:30.000000000 +0000 @@ -249,6 +249,32 @@ } /** + * Implementation of hook_user(). + */ +function filter_user($type, &$edit, &$user, $category = NULL) { + if ($type == 'form' && $category == 'account' && user_access('access content')) { + $user_status = $edit['input_format'] != NULL ? $edit['input_format'] : ($user->input_format != NULL ? $user->input_format : variable_get('filter_default_format', 1)); + $form = ''; + if ($user_status == 0) { + $user_status = variable_get('filter_default_format', 1); + } + $form = filter_form('input_format', $user_status); + if (preg_match('/type="hidden"/', $form)) { + return ''; + } else { + return array(array('title' => t('Preferred input format'), 'data' => $form)); + } + } + if ($type == 'validate') { + return array('input_format' => $edit['input_format']); + } + if ($type == 'update') { + $input_format = $edit['input_format']; + db_query("UPDATE {users} SET input_format = %d WHERE uid = %d", $input_format, $user->uid); + } +} + +/** * Implementation of hook_perm(). */ function filter_perm() { @@ -706,8 +732,13 @@ * HTML for the form element. */ function filter_form($name = 'format', $value = FILTER_FORMAT_DEFAULT) { + global $user; if ($value == FILTER_FORMAT_DEFAULT) { - $value = variable_get('filter_default_format', 1); + if ($user->input_format) { + $value = $user->input_format; + } else { + $value = variable_get('filter_default_format', 1); + } } $formats = filter_formats();