mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-22 13:25:04 +00:00
Editing a post doesn't lose the attachment and its alt text.
This commit is contained in:
parent
8f983d388a
commit
0577051f44
1 changed files with 46 additions and 14 deletions
50
html.c
50
html.c
|
@ -273,7 +273,8 @@ xs_html *html_note(snac *user, char *summary,
|
||||||
char *edit_id, char *actor_id,
|
char *edit_id, char *actor_id,
|
||||||
xs_val *cw_yn, char *cw_text,
|
xs_val *cw_yn, char *cw_text,
|
||||||
xs_val *mnt_only, char *redir,
|
xs_val *mnt_only, char *redir,
|
||||||
char *in_reply_to, int poll)
|
char *in_reply_to, int poll,
|
||||||
|
char *att_file, char *att_alt_text)
|
||||||
{
|
{
|
||||||
xs *action = xs_fmt("%s/admin/note", user->actor);
|
xs *action = xs_fmt("%s/admin/note", user->actor);
|
||||||
|
|
||||||
|
@ -359,19 +360,36 @@ xs_html *html_note(snac *user, char *summary,
|
||||||
xs_html_attr("name", "edit_id"),
|
xs_html_attr("name", "edit_id"),
|
||||||
xs_html_attr("value", edit_id)));
|
xs_html_attr("value", edit_id)));
|
||||||
|
|
||||||
|
/* attachment controls */
|
||||||
|
xs_html *att;
|
||||||
|
|
||||||
xs_html_add(form,
|
xs_html_add(form,
|
||||||
xs_html_tag("p", NULL),
|
xs_html_tag("p", NULL),
|
||||||
xs_html_tag("details",
|
att = xs_html_tag("details",
|
||||||
xs_html_tag("summary",
|
xs_html_tag("summary",
|
||||||
xs_html_text(L("Attachment..."))),
|
xs_html_text(L("Attachment..."))),
|
||||||
xs_html_tag("p", NULL),
|
xs_html_tag("p", NULL)));
|
||||||
|
|
||||||
|
if (att_file && *att_file)
|
||||||
|
xs_html_add(att,
|
||||||
|
xs_html_text(L("File:")),
|
||||||
|
xs_html_sctag("input",
|
||||||
|
xs_html_attr("type", "text"),
|
||||||
|
xs_html_attr("name", "attach_url"),
|
||||||
|
xs_html_attr("value", att_file)));
|
||||||
|
else
|
||||||
|
xs_html_add(att,
|
||||||
xs_html_sctag("input",
|
xs_html_sctag("input",
|
||||||
xs_html_attr("type", "file"),
|
xs_html_attr("type", "file"),
|
||||||
xs_html_attr("name", "attach")),
|
xs_html_attr("name", "attach")));
|
||||||
|
|
||||||
|
xs_html_add(att,
|
||||||
|
xs_html_text(" "),
|
||||||
xs_html_sctag("input",
|
xs_html_sctag("input",
|
||||||
xs_html_attr("type", "text"),
|
xs_html_attr("type", "text"),
|
||||||
xs_html_attr("name", "alt_text"),
|
xs_html_attr("name", "alt_text"),
|
||||||
xs_html_attr("placeholder", L("Attachment description")))));
|
xs_html_attr("value", att_alt_text),
|
||||||
|
xs_html_attr("placeholder", L("Attachment description"))));
|
||||||
|
|
||||||
/* add poll controls */
|
/* add poll controls */
|
||||||
if (poll) {
|
if (poll) {
|
||||||
|
@ -854,7 +872,7 @@ xs_html *html_top_controls(snac *snac)
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
xs_stock(XSTYPE_FALSE), "",
|
xs_stock(XSTYPE_FALSE), "",
|
||||||
xs_stock(XSTYPE_FALSE), NULL,
|
xs_stock(XSTYPE_FALSE), NULL,
|
||||||
NULL, 1),
|
NULL, 1, "", ""),
|
||||||
|
|
||||||
/** operations **/
|
/** operations **/
|
||||||
xs_html_tag("details",
|
xs_html_tag("details",
|
||||||
|
@ -1278,6 +1296,20 @@ xs_html *html_entry_controls(snac *snac, char *actor, const xs_dict *msg, const
|
||||||
xs *form_id = xs_fmt("%s_edit_form", md5);
|
xs *form_id = xs_fmt("%s_edit_form", md5);
|
||||||
xs *redir = xs_fmt("%s_entry", md5);
|
xs *redir = xs_fmt("%s_entry", md5);
|
||||||
|
|
||||||
|
char *att_file = "";
|
||||||
|
char *att_alt_text = "";
|
||||||
|
xs_list *att_list = xs_dict_get(msg, "attachment");
|
||||||
|
|
||||||
|
/* does it have an attachment? */
|
||||||
|
if (xs_type(att_list) == XSTYPE_LIST && xs_list_len(att_list)) {
|
||||||
|
xs_dict *d = xs_list_get(att_list, 0);
|
||||||
|
|
||||||
|
if (xs_type(d) == XSTYPE_DICT) {
|
||||||
|
att_file = xs_dict_get_def(d, "url", "");
|
||||||
|
att_alt_text = xs_dict_get_def(d, "name", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
xs_html_add(controls, xs_html_tag("div",
|
xs_html_add(controls, xs_html_tag("div",
|
||||||
xs_html_tag("p", NULL),
|
xs_html_tag("p", NULL),
|
||||||
html_note(snac, L("Edit..."),
|
html_note(snac, L("Edit..."),
|
||||||
|
@ -1286,7 +1318,7 @@ xs_html *html_entry_controls(snac *snac, char *actor, const xs_dict *msg, const
|
||||||
id, NULL,
|
id, NULL,
|
||||||
xs_dict_get(msg, "sensitive"), xs_dict_get(msg, "summary"),
|
xs_dict_get(msg, "sensitive"), xs_dict_get(msg, "summary"),
|
||||||
xs_stock(XSTYPE_FALSE), redir,
|
xs_stock(XSTYPE_FALSE), redir,
|
||||||
NULL, 0)),
|
NULL, 0, att_file, att_alt_text)),
|
||||||
xs_html_tag("p", NULL));
|
xs_html_tag("p", NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1305,7 +1337,7 @@ xs_html *html_entry_controls(snac *snac, char *actor, const xs_dict *msg, const
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
xs_dict_get(msg, "sensitive"), xs_dict_get(msg, "summary"),
|
xs_dict_get(msg, "sensitive"), xs_dict_get(msg, "summary"),
|
||||||
xs_stock(XSTYPE_FALSE), redir,
|
xs_stock(XSTYPE_FALSE), redir,
|
||||||
id, 0)),
|
id, 0, "", "")),
|
||||||
xs_html_tag("p", NULL));
|
xs_html_tag("p", NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2201,7 +2233,7 @@ xs_html *html_people_list(snac *snac, xs_list *list, char *header, char *t)
|
||||||
NULL, actor_id,
|
NULL, actor_id,
|
||||||
xs_stock(XSTYPE_FALSE), "",
|
xs_stock(XSTYPE_FALSE), "",
|
||||||
xs_stock(XSTYPE_FALSE), NULL,
|
xs_stock(XSTYPE_FALSE), NULL,
|
||||||
NULL, 0),
|
NULL, 0, "", ""),
|
||||||
xs_html_tag("p", NULL));
|
xs_html_tag("p", NULL));
|
||||||
|
|
||||||
xs_html_add(snac_post, snac_controls);
|
xs_html_add(snac_post, snac_controls);
|
||||||
|
|
Loading…
Reference in a new issue