# HG changeset patch # User Matti Hamalainen # Date 1315663222 -10800 # Node ID cd9fd4ec82a91e6e2228b7603059f231e0483ab4 # Parent 7b03971c6d286738b7d9ec6c10091a8ed7df75b9 quotedb: Add in +n flag override for deleting and updating quotes. diff -r 7b03971c6d28 -r cd9fd4ec82a9 quotedb.tcl --- a/quotedb.tcl Thu Sep 08 22:26:52 2011 +0300 +++ b/quotedb.tcl Sat Sep 10 17:00:22 2011 +0300 @@ -200,12 +200,20 @@ qdb_msg $upublic $unick $uchan "$ucmd del " return 0 } + + set qoverride [matchattr $uhand n] + set usql "SELECT utime AS utime FROM $utable WHERE id=$unum" + if {$qoverride == 0} { + set usql "$usql AND user='[qdb_escape $uhand]'" + set qextra "" + } else { + set qextra " (owner/time override)" + } - set usql "SELECT utime AS utime FROM $utable WHERE id=$unum AND user='[qdb_escape $uhand]'" quotedb eval $usql { set udiff [expr [unixtime] - $utime] - if {$udiff < $maxdiff} { - set usql "DELETE FROM $utable WHERE id=$unum AND user='[qdb_escape $uhand]'" + if {$udiff < $maxdiff || $qoverride} { + set usql "DELETE FROM $utable WHERE id=$unum" if {![qdb_sql_exec $upublic $unick $uchan $usql]} { return 0 } else { @@ -213,7 +221,7 @@ if {![qdb_sql_exec $upublic $unick $uchan $usql]} { return 0 } - qdb_msg $upublic $unick $uchan "$utable #$unum poistettu." + qdb_msg $upublic $unick $uchan "$utable #$unum poistettu$qextra." return 1 } } else { @@ -242,15 +250,23 @@ return 0 } - set usql "SELECT utime AS utime FROM $utable WHERE id=$unum AND user='[qdb_escape $uhand]'" + set qoverride [matchattr $uhand n] + set usql "SELECT utime AS utime FROM $utable WHERE id=$unum" + if {$qoverride == 0} { + set usql "$usql AND user='[qdb_escape $uhand]'" + set qextra "" + } else { + set qextra " (owner/time override)" + } + quotedb eval $usql { set udiff [expr [unixtime] - $utime] - if {$udiff < $maxdiff} { + if {$udiff < $maxdiff || $qoverride} { set usql "UPDATE $utable SET utext='[qdb_escape $uquote]', utime=[unixtime] WHERE id=$unum" if {![qdb_sql_exec $upublic $unick $uchan $usql]} { return 0 } else { - qdb_msg $upublic $unick $uchan "$utable #$unum päivitetty." + qdb_msg $upublic $unick $uchan "$utable #$unum päivitetty$qextra." return 1 } } else {