diff options
| -rw-r--r-- | html.c | 35 |
1 files changed, 18 insertions, 17 deletions
| @@ -780,7 +780,7 @@ d_char *html_user_footer(snac *snac, d_char *s) | |||
| 780 | } | 780 | } |
| 781 | 781 | ||
| 782 | 782 | ||
| 783 | d_char *html_timeline(snac *snac, char *list, int local) | 783 | d_char *html_timeline(snac *snac, char *list, int local, int skip, int show, int show_more) |
| 784 | /* returns the HTML for the timeline */ | 784 | /* returns the HTML for the timeline */ |
| 785 | { | 785 | { |
| 786 | d_char *s = xs_str_new(NULL); | 786 | d_char *s = xs_str_new(NULL); |
| @@ -839,6 +839,15 @@ d_char *html_timeline(snac *snac, char *list, int local) | |||
| 839 | s = xs_str_cat(s, s1); | 839 | s = xs_str_cat(s, s1); |
| 840 | } | 840 | } |
| 841 | 841 | ||
| 842 | if (show_more) { | ||
| 843 | xs *s1 = xs_fmt( | ||
| 844 | "<p>" | ||
| 845 | "<a href=\"%s%s?skip=%d&show=%d\" name=\"snac-more\">%s</a>" | ||
| 846 | "</p>\n", local ? "" : "/admin", snac->actor, skip + show, show, L("More...")); | ||
| 847 | |||
| 848 | s = xs_str_cat(s, s1); | ||
| 849 | } | ||
| 850 | |||
| 842 | s = xs_str_cat(s, "</body>\n</html>\n"); | 851 | s = xs_str_cat(s, "</body>\n</html>\n"); |
| 843 | 852 | ||
| 844 | return s; | 853 | return s; |
| @@ -1006,7 +1015,7 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * | |||
| 1006 | cache = 0; | 1015 | cache = 0; |
| 1007 | 1016 | ||
| 1008 | int skip = 0; | 1017 | int skip = 0; |
| 1009 | int show = 50; | 1018 | int show = xs_number_get(xs_dict_get(srv_config, "max_timeline_entries")); |
| 1010 | char *q_vars = xs_dict_get(req, "q_vars"); | 1019 | char *q_vars = xs_dict_get(req, "q_vars"); |
| 1011 | if ((v = xs_dict_get(q_vars, "skip")) != NULL) | 1020 | if ((v = xs_dict_get(q_vars, "skip")) != NULL) |
| 1012 | skip = atoi(v), cache = 0, save = 0; | 1021 | skip = atoi(v), cache = 0, save = 0; |
| @@ -1026,14 +1035,10 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * | |||
| 1026 | } | 1035 | } |
| 1027 | else { | 1036 | else { |
| 1028 | xs *list = timeline_list(&snac, "public", skip, show); | 1037 | xs *list = timeline_list(&snac, "public", skip, show); |
| 1038 | xs *next = timeline_list(&snac, "public", skip + show, show); | ||
| 1039 | |||
| 1040 | *body = html_timeline(&snac, list, 1, skip, show, xs_list_len(next)); | ||
| 1029 | 1041 | ||
| 1030 | *body = html_timeline(&snac, list, 1); | ||
| 1031 | if (xs_list_len(list) == show) | ||
| 1032 | *body = xs_str_cat( | ||
| 1033 | *body, xs_fmt( | ||
| 1034 | "<p>" | ||
| 1035 | "<a href=\"%s?skip=%d&show=%d\" name=\"snac-more\">More…</a>" | ||
| 1036 | "</p>\n", snac.actor, skip + show, show)); | ||
| 1037 | *b_size = strlen(*body); | 1042 | *b_size = strlen(*body); |
| 1038 | status = 200; | 1043 | status = 200; |
| 1039 | 1044 | ||
| @@ -1059,14 +1064,10 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * | |||
| 1059 | snac_debug(&snac, 1, xs_fmt("building timeline")); | 1064 | snac_debug(&snac, 1, xs_fmt("building timeline")); |
| 1060 | 1065 | ||
| 1061 | xs *list = timeline_list(&snac, "private", skip, show); | 1066 | xs *list = timeline_list(&snac, "private", skip, show); |
| 1067 | xs *next = timeline_list(&snac, "private", skip + show, show); | ||
| 1068 | |||
| 1069 | *body = html_timeline(&snac, list, 0, skip, show, xs_list_len(next)); | ||
| 1062 | 1070 | ||
| 1063 | *body = html_timeline(&snac, list, 0); | ||
| 1064 | if (xs_list_len(list) == show) | ||
| 1065 | *body = xs_str_cat( | ||
| 1066 | *body, xs_fmt( | ||
| 1067 | "<p>" | ||
| 1068 | "<a href=\"%s/admin?skip=%d&show=%d\" name=\"snac-more\">More…</a>" | ||
| 1069 | "</p>\n", snac.actor, skip + show, show)); | ||
| 1070 | *b_size = strlen(*body); | 1071 | *b_size = strlen(*body); |
| 1071 | status = 200; | 1072 | status = 200; |
| 1072 | 1073 | ||
| @@ -1099,7 +1100,7 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * | |||
| 1099 | 1100 | ||
| 1100 | list = xs_list_append(list, md5); | 1101 | list = xs_list_append(list, md5); |
| 1101 | 1102 | ||
| 1102 | *body = html_timeline(&snac, list, 1); | 1103 | *body = html_timeline(&snac, list, 1, 0, 0, 0); |
| 1103 | *b_size = strlen(*body); | 1104 | *b_size = strlen(*body); |
| 1104 | status = 200; | 1105 | status = 200; |
| 1105 | } | 1106 | } |