543: function bindAttExtra() { 544- const box = $("#attExtra"); 545- if (!box) return; 546- const mode = C.attach_mode; 547- if (mode === "none") { box.innerHTML = ""; return; } 548- if (mode === "pdf") { 549- C.attach_pdf = true; 550- box.innerHTML = `` + 551- pickList("templates", C.attach_pdf_template_id, t => ({ v: t.id, main: t.name, sub: "" }), "attach_pdf_template_id", true); 552- bindPick("attach_pdf_template_id", true); 553- } else { 554- box.innerHTML = `` + 555- pickList("attachments", C.attachment_id, a => ({ v: a.id, main: a.name + " (" + a.kind + ")", sub: a.filename }), "attachment_id", true); 556- bindPick("attachment_id", true); 557- } ---REVIEW---
Campaign name
${esc(C.name) || "—"}
Recipient list
${list ? esc(list.name) + ` (${list.valid_count} valid of ${list.row_count})` : "—"}
Subjects
${subCount} selected · ${esc(C.subject_rotation)}
Templates
${tpls.length ? tpls.map(t => esc(t.name)).join(", ") : "—"} · ${esc(C.template_sequence_mode)}
Message type
${esc(C.message_type)}
Attachments
${C.attach_mode === "none" ? "none" : esc(C.attach_mode) +