--- refresh.module-orig 2007-10-16 10:14:10.000000000 +0200 +++ refresh.module 2007-10-16 10:15:44.000000000 +0200 @@ -75,7 +75,7 @@ function refresh_nodeapi(&$node, $op, $t case 'submit': $result = db_query("SELECT seconds FROM {node_refresh} WHERE nid = %d AND vid = %d", $node->nid, $node->vid); - if (!db_num_rows($result) && ($node->nid > 0)) { + if (!db_result($result) && ($node->nid > 0)) { $result = db_query("INSERT INTO {node_refresh} (nid, vid, seconds) VALUES (%d, %d, %d)", $node->nid, $node->vid, (int) $node->refresh); } break; @@ -86,7 +86,13 @@ function refresh_nodeapi(&$node, $op, $t case 'update': if ((int) $node->refresh > 0) { - $result = db_query("UPDATE {node_refresh} SET seconds = %d WHERE nid = %d AND vid = %d", (int) $node->refresh, $node->nid, $node->vid); + $result = db_query("SELECT seconds FROM {node_refresh} WHERE nid = %d AND vid = %d", $node->nid, $node->vid); + if (!db_result($result)) { + $result = db_query("INSERT INTO {node_refresh} (nid, vid, seconds) VALUES (%d, %d, %d)", $node->nid, $node->vid, (int) $node->refresh); + } + else { + $result = db_query("UPDATE {node_refresh} SET seconds = %d WHERE nid = %d AND vid = %d", (int) $node->refresh, $node->nid, $node->vid); + } } else { $result = db_query("DELETE FROM {node_refresh} WHERE nid = %d AND vid = %d", $node->nid, $node->vid); @@ -98,4 +104,4 @@ function refresh_nodeapi(&$node, $op, $t break; } } -} \ No newline at end of file +}