summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c13
-rw-r--r--html.c7
-rw-r--r--snac.h2
3 files changed, 20 insertions, 2 deletions
diff --git a/data.c b/data.c
index f9acfa0..de2f25b 100644
--- a/data.c
+++ b/data.c
@@ -1366,6 +1366,19 @@ d_char *history_list(snac *snac)
1366} 1366}
1367 1367
1368 1368
1369void lastlog_write(snac *snac)
1370/* writes the last time and date the user logged in */
1371{
1372 xs *fn = xs_fmt("%s/lastlog.txt", snac->basedir);
1373 FILE *f;
1374
1375 if ((f = fopen(fn, "w")) != NULL) {
1376 fprintf(f, "%lf\n", ftime());
1377 fclose(f);
1378 }
1379}
1380
1381
1369/** inbox collection **/ 1382/** inbox collection **/
1370 1383
1371void inbox_add(const char *inbox) 1384void inbox_add(const char *inbox)
diff --git a/html.c b/html.c
index 48672dd..9850dfd 100644
--- a/html.c
+++ b/html.c
@@ -13,11 +13,11 @@
13 13
14#include "snac.h" 14#include "snac.h"
15 15
16int login(snac *snac, char *headers) 16int login(snac *snac, const xs_dict *headers)
17/* tries a login */ 17/* tries a login */
18{ 18{
19 int logged_in = 0; 19 int logged_in = 0;
20 char *auth = xs_dict_get(headers, "authorization"); 20 const char *auth = xs_dict_get(headers, "authorization");
21 21
22 if (auth && xs_startswith(auth, "Basic ")) { 22 if (auth && xs_startswith(auth, "Basic ")) {
23 int sz; 23 int sz;
@@ -33,6 +33,9 @@ int login(snac *snac, char *headers)
33 } 33 }
34 } 34 }
35 35
36 if (logged_in)
37 lastlog_write(snac);
38
36 return logged_in; 39 return logged_in;
37} 40}
38 41
diff --git a/snac.h b/snac.h
index 3096904..6477040 100644
--- a/snac.h
+++ b/snac.h
@@ -132,6 +132,8 @@ d_char *history_get(snac *snac, char *id);
132int history_del(snac *snac, char *id); 132int history_del(snac *snac, char *id);
133d_char *history_list(snac *snac); 133d_char *history_list(snac *snac);
134 134
135void lastlog_write(snac *snac);
136
135void inbox_add(const char *inbox); 137void inbox_add(const char *inbox);
136void inbox_add_by_actor(const xs_dict *actor); 138void inbox_add_by_actor(const xs_dict *actor);
137xs_list *inbox_list(void); 139xs_list *inbox_list(void);