+}
+
+
+/** RPC TKL Add */
+function rpc_tkl_add($name, $type, $expiry, $reason) : bool
+{
+ $rpc = new RPC();
+ $rpc->set_method("server_ban.add");
+ $rpc->set_params(["name" => $name, "type" => $type, "reason" => $reason, "duration_string" => $expiry]);
+ $rpc->execute();
+ $result = $rpc->fetch_assoc();
+ if (isset($result['error']))
+ {
+ $msg = "The $type could not be added: $name - ".$result['error']['message'] . " (" . $result['error']['code'] . ")";
+ Message::Fail($msg);
+ return false;
+ }
+ return true;
+}
+
+
+/** RPC TKL Delete */
+function rpc_tkl_del($name, $type) : bool
+{
+ $rpc = new RPC();
+ $rpc->set_method("server_ban.del");
+ $rpc->set_params(["name" => $name, "type" => $type]);
+ $rpc->execute();
+ $result = $rpc->fetch_assoc();
+ if (isset($result['error']))
+ {
+ $msg = "The $type could not be deleted: $name - ".$result['error']['message'] . " (" . $result['error']['code'] . ")";
+ Message::Fail($msg);
+ return false;
+ }
+ return true;
+}
+
+/** RPC Spamfilter Delete
+ *
+ */
+function rpc_sf_del($name, $mtype, $targets, $action) : bool
+{
+ $rpc = new RPC();
+ $rpc->set_method("spamfilter.del");
+ $rpc->set_params(["name" => $name, "match_type" => $mtype, "spamfilter_targets" => $targets, "ban_action" => $action, "set_by" => "YoMama"]);
+ $rpc->execute();
+ $result = $rpc->fetch_assoc();
+ if (isset($result['error']))
+ {
+ $msg = "The spamfilter entry could not be deleted: $name - ".$result['error']['message'] . " (" . $result['error']['code'] . ")";
+ Message::Fail($msg);
+ return false;
+ }
+ else
+ {
+ $r = $result['result']['tkl'];
+ Message::Success($r['name']." [type: ".$r['match_type']."] [targets: ".$r['spamfilter_targets']. "] [action: ".$r['ban_action']."] [reason: ".$r['reason']."] [set by: ".$r['set_by']."]");
+ }
+ return true;