Index: remember_filter.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/remember_filter/remember_filter.module,v retrieving revision 1.3.4.1 diff -u -r1.3.4.1 remember_filter.module --- remember_filter.module 9 Dec 2007 21:02:54 -0000 1.3.4.1 +++ remember_filter.module 25 Jun 2008 11:09:18 -0000 @@ -23,24 +23,59 @@ 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; } } -?> +/** + * 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; + } +}