Index: remember_filter.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/remember_filter/remember_filter.module,v retrieving revision 1.3 diff -u -p -r1.3 remember_filter.module --- remember_filter.module 13 Jun 2006 22:50:30 -0000 1.3 +++ remember_filter.module 15 Nov 2006 14:06:48 -0000 @@ -11,14 +11,12 @@ /** * Implementation of hook_help(). */ -function remember_filter_help($section = '') { - $output = ''; +function remember_filter_help($section) { switch ($section) { case 'admin/modules#description': - $output = t("Remembers the last input filter used by a particular user"); + return t('Remembers the last input filter used by a particular user.'); break; } - return $output; } /** @@ -36,24 +34,59 @@ function remember_filter_nodeapi(&$node, case 'prepare': // Only operate on new nodes if (!isset($node->nid)) { - $last_format = db_result(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid)); - if (isset($last_format)) { - $node->format = $last_format; - } + $last_format = db_result(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid)); + if (isset($last_format)) { + $node->format = $last_format; + } } break; case 'insert': case 'update': if (isset($node->format)) { - if (db_num_rows(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid))) { - db_query("UPDATE {remember_filter} SET format = '%d' WHERE uid = '%d'", $node->format, $user->uid); - } - else { - db_query("INSERT INTO {remember_filter} (uid, format) VALUES ('%d', '%d')", $user->uid, $node->format); - } + if (db_num_rows(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid))) { + db_query("UPDATE {remember_filter} SET format = '%d' WHERE uid = '%d'", $node->format, $user->uid); + } + else { + db_query("INSERT INTO {remember_filter} (uid, format) VALUES ('%d', '%d')", $user->uid, $node->format); + } } break; } } -?> \ No newline at end of file +/** + * Implementation of hook_comment(). + */ +function remember_filter_comment($item, $op) { + global $user; + + // Don't proceed if there isn't a user + if (!$user->uid) { + return; + } + + switch ($op) { + case 'form': + // Only operate on new comments + if (isset($item['_author'])) { + $last_format = db_result(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid)); + if (isset($last_format)) { + $item['comment_filter']['format'] = filter_form($last_format); + + return $item; + } + } + break; + case 'insert': + case 'update': + if (isset($item['format'])) { + if (db_num_rows(db_query("SELECT format FROM {remember_filter} WHERE uid = '%d'", $user->uid))) { + db_query("UPDATE {remember_filter} SET format = '%d' WHERE uid = '%d'", $item['format'], $user->uid); + } + else { + db_query("INSERT INTO {remember_filter} (uid, format) VALUES ('%d', '%d')", $user->uid, $item['format']); + } + } + break; + } +}