mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
database: log stanza_id and whether it is a muc message
This commit is contained in:
parent
d1d0ad8d1a
commit
5cc3b469a8
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user