about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2020-03-19 13:56:22 +0100
committerMichael Vetter <jubalh@iodoru.org>2020-04-06 10:50:20 +0200
commit5cc3b469a84233cf696530fb41ee0c648f9aaa92 (patch)
tree53efe1723ea1d9d997b8532b96f87014d879eaf9 /src
parentd1d0ad8d1a8e28690aa8723566dd64c1ccdcf9d6 (diff)
downloadprofani-tty-5cc3b469a84233cf696530fb41ee0c648f9aaa92.tar.gz
database: log stanza_id and whether it is a muc message
Diffstat (limited to 'src')
-rw-r--r--src/database.c8
-rw-r--r--src/database.h2
-rw-r--r--src/event/server_events.c16
3 files changed, 13 insertions, 13 deletions
diff --git a/src/database.c b/src/database.c
index 7c84ee33..adfbe912 100644
--- a/src/database.c
+++ b/src/database.c
@@ -66,7 +66,7 @@ log_database_init(void)
     }
 
     char *err_msg;
-	char *query = "CREATE TABLE IF NOT EXISTS `ChatLogs` ( `id` INTEGER PRIMARY KEY, `jid` TEXT NOT NULL, `message` TEXT, `timestamp` TEXT)";
+	char *query = "CREATE TABLE IF NOT EXISTS `ChatLogs` ( `id` INTEGER PRIMARY KEY, `jid` TEXT NOT NULL, `resource` TEXT, `message` TEXT, `timestamp` TEXT, `is_muc` INTEGER, `stanza_id` TEXT)";
     if( SQLITE_OK != sqlite3_exec(g_chatlog_database, query, NULL, 0, &err_msg)) {
         if (err_msg) {
             log_error("SQLite error: %s", err_msg);
@@ -91,14 +91,14 @@ log_database_close(void)
 }
 
 void
-log_database_add(ProfMessage *message) {
+log_database_add(ProfMessage *message, gboolean is_muc) {
     char *err_msg;
 	char *query;
 
     //gchar *date_fmt = g_date_time_format_iso8601(message->timestamp);
     gchar *date_fmt = g_date_time_format(message->timestamp, "%Y/%m/%d %H:%M:%S");
-    if (asprintf(&query, "INSERT INTO `ChatLogs` (`jid`, `message`, `timestamp`) VALUES ('%s', '%s', '%s')",
-                message->jid->barejid, message->plain, date_fmt) == -1) {
+    if (asprintf(&query, "INSERT INTO `ChatLogs` (`jid`, `resource`, `message`, `timestamp`, `is_muc`, `stanza_id`) VALUES ('%s', '%s', '%s', '%s', '%d', '%s')",
+                message->jid->barejid, message->jid->resourcepart, message->plain, date_fmt, is_muc, message->id) == -1) {
         log_error("log_database_add(): could not allocate memory");
         return;
     }
diff --git a/src/database.h b/src/database.h
index fc95b7d0..3e393707 100644
--- a/src/database.h
+++ b/src/database.h
@@ -38,7 +38,7 @@
 
 bool log_database_init(void);
 void log_database_close(void);
-void log_database_add(ProfMessage *message);
+void log_database_add(ProfMessage *message, gboolean is_muc);
 
 #endif // DATABASE_H
 
diff --git a/src/event/server_events.c b/src/event/server_events.c
index 6c7d0430..2728e811 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -325,7 +325,7 @@ sv_ev_room_message(ProfMessage *message)
     GList *triggers = prefs_message_get_triggers(message->plain);
 
     _clean_incoming_message(message);
-    log_database_add(message);
+    log_database_add(message, TRUE);
     mucwin_incoming_msg(mucwin, message, mentions, triggers, TRUE);
 
     g_slist_free(mentions);
@@ -399,7 +399,7 @@ sv_ev_incoming_private_message(ProfMessage *message)
     }
 
     _clean_incoming_message(message);
-    log_database_add(message);
+    log_database_add(message, FALSE);
     privwin_incoming_msg(privatewin, message);
     chat_log_msg_in(message);
 
@@ -423,7 +423,7 @@ sv_ev_delayed_private_message(ProfMessage *message)
     }
 
     _clean_incoming_message(message);
-    log_database_add(message);
+    log_database_add(message, FALSE);
     privwin_incoming_msg(privatewin, message);
     chat_log_msg_in(message);
 
@@ -536,7 +536,7 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
     if (message->plain) {
         message->enc = PROF_MSG_ENC_PGP;
         _clean_incoming_message(message);
-        log_database_add(message);
+        log_database_add(message, FALSE);
         chatwin_incoming_msg(chatwin, message, new_win);
         if (logit) {
             chat_log_pgp_msg_in(message);
@@ -552,7 +552,7 @@ _sv_ev_incoming_pgp(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
         message->enc = PROF_MSG_ENC_PLAIN;
         message->plain = strdup(message->body);
         _clean_incoming_message(message);
-        log_database_add(message);
+        log_database_add(message, FALSE);
         chatwin_incoming_msg(chatwin, message, new_win);
         chat_log_msg_in(message);
         chatwin->pgp_recv = FALSE;
@@ -575,7 +575,7 @@ _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message
         }
 
         _clean_incoming_message(message);
-        log_database_add(message);
+        log_database_add(message, FALSE);
         chatwin_incoming_msg(chatwin, message, new_win);
 
         chat_log_otr_msg_in(message);
@@ -591,7 +591,7 @@ static void
 _sv_ev_incoming_omemo(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message, gboolean logit)
 {
     _clean_incoming_message(message);
-    log_database_add(message);
+    log_database_add(message, FALSE);
     chatwin_incoming_msg(chatwin, message, new_win);
     if (logit) {
         chat_log_omemo_msg_in(message);
@@ -607,7 +607,7 @@ _sv_ev_incoming_plain(ProfChatWin *chatwin, gboolean new_win, ProfMessage *messa
         message->enc = PROF_MSG_ENC_PLAIN;
         message->plain = strdup(message->body);
         _clean_incoming_message(message);
-        log_database_add(message);
+        log_database_add(message, FALSE);
         chatwin_incoming_msg(chatwin, message, new_win);
         if (logit) {
             chat_log_msg_in(message);