(= flag-threshold* 30 flag-kill-threshold* 7 many-flags* 1) ; Un-flagging something doesn't unkill it, if it's now no longer ; over flag-kill-threshold. Ok, since arbitrary threshold anyway. (def flaglink (i user whence) (when (and user (isnt user i!by) (or (admin user) (> (karma user) flag-threshold*))) (pr bar*) (w/rlink (do (togglemem user i!flags) (when (and (~mem 'nokill i!keys) (len> i!flags flag-kill-threshold*) (~find admin:!2 i!vote)) (kill i 'flags)) whence) (pr "@(if (mem user i!flags) 'un)flag")) (when (and (admin user) (len> i!flags many-flags*)) (pr bar* (plural (len i!flags) "flag") " ") (w/rlink (do (togglemem 'nokill i!keys) (save-item i) whence) (pr (if (mem 'nokill i!keys) "un-notice" "noted"))))))