Familienverwaltunt vereinfacht.
SetFamilie() und DeleteFamilie() erlauben das Setzen und Loeschen
von expliziten Familien-IDs ohne SQL zu bemuehen.
Change-Id: I25947075486f810b2044f7be347e36fd6ac9fbbc
diff --git a/secure/zweities.c b/secure/zweities.c
index 3501523..d5e8f8c 100644
--- a/secure/zweities.c
+++ b/secure/zweities.c
@@ -166,3 +166,43 @@
return erstie;
}
+public string SetFamilie(object|string pl, string familie)
+{
+ if (!ARCH_SECURITY)
+ return 0;
+
+ // Wenn Spielerobjekt, UUID ermitteln
+ if (objectp(pl) && query_once_interactive(pl))
+ pl = getuuid(pl);
+
+ sl_exec("INSERT OR REPLACE INTO familien(erstieuuid, familie) "
+ "VALUES(?1, ?2);", pl, familie);
+
+ mixed tmp = sl_exec("SELECT familie FROM familien WHERE "
+ "erstieuuid=?1", pl);
+ if (sizeof(tmp))
+ return tmp[0][0];
+
+ return 0;
+}
+
+public int DeleteFamilie(object|string pl)
+{
+ if (!ARCH_SECURITY)
+ return 0;
+
+ // Wenn Spielerobjekt, UUID ermitteln
+ if (objectp(pl) && query_once_interactive(pl))
+ pl = getuuid(pl);
+
+ sl_exec("DELETE FROM familien WHERE erstieuuid=?1;",
+ pl);
+
+ mixed tmp = sl_exec("SELECT familie FROM familien WHERE "
+ "erstieuuid=?1", pl);
+ if (sizeof(tmp))
+ return -1;
+
+ return 1;
+}
+