--- filter.inc 2008-09-23 00:13:46.000000000 -0400 +++ filter.inc.new 2009-04-21 19:21:10.000000000 -0400 @@ -61,5 +61,10 @@ function install_remove_filter($format_i * The weight to be applied to this filter. */ function install_add_filter($format_id, $module, $delta = 0, $weight = 0) { - db_query("INSERT INTO {filters} (`format`, `module`, `delta`, `weight`) VALUES (%d, '%s', %d, %d)", $format_id, $module, $delta, $weight); + if (!db_result(db_query("select count(*) from {filters} where format=%d and module='%s' and delta=%d", $format_id, $module, $delta))) { + db_query("INSERT INTO {filters} (`format`, `module`, `delta`, `weight`) VALUES (%d, '%s', %d, %d)", $format_id, $module, $delta, $weight); + } + else { + db_query("UPDATE {filters} SET weight = %d WHERE `format` = %d AND `module` = '%s' AND delta=%d", $weight, $format_id, $module, $delta); + } }