#include #include #include #include #include #include #include #include #include #include #include void AddAdminCallback(XMPPCommandManager *m, char *from, XMLElement *form, XMLElement *out) { ParseeData *data = XMPPGetManagerCookie(m); char *trimmed = ParseeTrimJID(from); char *glob = NULL; DbRef *ref; Array *admins; GetFieldValue(glob, "glob", form); if (!ParseeIsAdmin(data, trimmed)) { SetNote("error", "User is not authorised to execute command."); Free(trimmed); return; } if (!glob) { SetNote("error", "No glob found."); Free(trimmed); return; } Free(trimmed); SetNote("info", "Glob sucessfully added."); ref = DbLock(data->db, 1, "admins"); admins = GrabArray(DbJson(ref), 1, "admins"); ArrayAdd(admins, JsonValueString(glob)); DbUnlock(data->db, ref); }