1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-23 21:45:30 +00:00

database: log stanza_id and whether it is a muc message

This commit is contained in:
Michael Vetter 2020-03-19 13:56:22 +01:00
parent d1d0ad8d1a
commit 5cc3b469a8
3 changed files with 13 additions and 13 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -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);