mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-10 18:23:28 +00:00
Implemented smiley bar
SVN revision: 1373
This commit is contained in:
parent
42676a43c8
commit
422aa20ecb
541
src/elogd.c
541
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.662 2005/05/16 20:02:39 ritt
|
||||||
|
Implemented smiley bar
|
||||||
|
|
||||||
Revision 1.661 2005/05/15 12:43:30 ritt
|
Revision 1.661 2005/05/15 12:43:30 ritt
|
||||||
Implemented url and img tags
|
Implemented url and img tags
|
||||||
|
|
||||||
@ -6015,19 +6018,23 @@ typedef struct {
|
|||||||
PATTERN_LIST pattern_list[] = {
|
PATTERN_LIST pattern_list[] = {
|
||||||
|
|
||||||
/* smileys */
|
/* smileys */
|
||||||
{ ":))","<img src=\"icons/happy.png\">" },
|
{ ":))", "<img src=\"icons/happy.png\">" },
|
||||||
{ ":)", "<img src=\"icons/smile.png\">" },
|
{ ":-))","<img src=\"icons/happy.png\">" },
|
||||||
{ ":(", "<img src=\"icons/frown.png\">" },
|
{ ":)", "<img src=\"icons/smile.png\">" },
|
||||||
{ ";)", "<img src=\"icons/wink.png\">" },
|
{ ":-)", "<img src=\"icons/smile.png\">" },
|
||||||
{ ":D", "<img src=\"icons/biggrin.png\">" },
|
{ ":(", "<img src=\"icons/frown.png\">" },
|
||||||
{ "?)", "<img src=\"icons/confused.png\">" },
|
{ ":-(" "<img src=\"icons/frown.png\">" },
|
||||||
{ ";(", "<img src=\"icons/crying.png\">" },
|
{ ";)", "<img src=\"icons/wink.png\">" },
|
||||||
{ ":]", "<img src=\"icons/pleased.png\">" },
|
{ ";-)", "<img src=\"icons/wink.png\">" },
|
||||||
{ ":O", "<img src=\"icons/yawn.png\">" },
|
{ ":D", "<img src=\"icons/biggrin.png\">" },
|
||||||
{ "8)", "<img src=\"icons/cool.png\">" },
|
{ "?)", "<img src=\"icons/confused.png\">" },
|
||||||
{ "8o", "<img src=\"icons/eek.png\">" },
|
{ ";(", "<img src=\"icons/crying.png\">" },
|
||||||
{ "X(", "<img src=\"icons/mad.png\">" },
|
{ ":]", "<img src=\"icons/pleased.png\">" },
|
||||||
{ ":P", "<img src=\"icons/tongue.png\">" },
|
{ ":O", "<img src=\"icons/yawn.png\">" },
|
||||||
|
{ "8)", "<img src=\"icons/cool.png\">" },
|
||||||
|
{ "8o", "<img src=\"icons/eek.png\">" },
|
||||||
|
{ "X(", "<img src=\"icons/mad.png\">" },
|
||||||
|
{ ":P", "<img src=\"icons/tongue.png\">" },
|
||||||
|
|
||||||
/* formatting */
|
/* formatting */
|
||||||
{ "[b]", "<b>" },
|
{ "[b]", "<b>" },
|
||||||
@ -6043,6 +6050,8 @@ PATTERN_LIST pattern_list[] = {
|
|||||||
{ "[/color]", "</font>" },
|
{ "[/color]", "</font>" },
|
||||||
{ "[size=", "<font size=\"%s\">" },
|
{ "[size=", "<font size=\"%s\">" },
|
||||||
{ "[/size]", "</font>" },
|
{ "[/size]", "</font>" },
|
||||||
|
{ "[font=", "<font face=\"%s\">" },
|
||||||
|
{ "[/font]", "</font>" },
|
||||||
{ "[code]", "<code>" },
|
{ "[code]", "<code>" },
|
||||||
{ "[/code]", "</code>" },
|
{ "[/code]", "</code>" },
|
||||||
|
|
||||||
@ -6064,9 +6073,10 @@ PATTERN_LIST pattern_list[] = {
|
|||||||
{ "[/img]", "" },
|
{ "[/img]", "" },
|
||||||
|
|
||||||
/* quote */
|
/* quote */
|
||||||
{ "[quote=", "*" },
|
{ "[quote=", "<table class=\"quotetable\" align=\"center\" cellspacing=\"1\"><tr><td class=\"quotetitle\">%s:</td></tr><br /><tr><td class=\"quote\">" },
|
||||||
{ "[quote]", "*" },
|
{ "[quote]", "<table class=\"quotetable\" align=\"center\" cellspacing=\"1\"><tr><td class=\"quotetitle\">%s:</td></tr><br /><tr><td class=\"quote\">" },
|
||||||
{ "[/quote]", "</td></tr></table><p />" },
|
{ "[/quote]\r", "</td></tr></table><p />" },
|
||||||
|
{ "[/quote]", "</td></tr></table><p />" },
|
||||||
|
|
||||||
{ "", "" }
|
{ "", "" }
|
||||||
};
|
};
|
||||||
@ -6192,12 +6202,34 @@ void rsputs_elcode(const char *str)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (l = 0; pattern_list[l].pattern[0] ; l++) {
|
for (l = 0; pattern_list[l].pattern[0] ; l++) {
|
||||||
if (strncmp(str + i, pattern_list[l].pattern, strlen(pattern_list[l].pattern)) == 0) {
|
if (strnicmp(str + i, pattern_list[l].pattern, strlen(pattern_list[l].pattern)) == 0) {
|
||||||
|
|
||||||
if (strstr(pattern_list[l].subst, "%#")) {
|
if (stristr(pattern_list[l].pattern, "[quote")) {
|
||||||
|
if (pattern_list[l].pattern[strlen(pattern_list[l].pattern)-1] == '=') {
|
||||||
|
i += strlen(pattern_list[l].pattern);
|
||||||
|
strextract(str+i, ']', attrib, sizeof(attrib));
|
||||||
|
i += strlen(attrib)+1;
|
||||||
|
|
||||||
|
if (attrib[0] == '\"')
|
||||||
|
strcpy(attrib, attrib+1);
|
||||||
|
if (attrib[strlen(attrib)-1] == '\"')
|
||||||
|
attrib[strlen(attrib)-1] = 0;
|
||||||
|
|
||||||
|
sprintf(value, loc("%s wrote"), attrib);
|
||||||
|
sprintf(return_buffer + j, pattern_list[l].subst, value);
|
||||||
|
j += strlen(return_buffer + j);
|
||||||
|
} else {
|
||||||
|
sprintf(return_buffer + j, pattern_list[l].subst, loc("Quote"));
|
||||||
|
j += strlen(return_buffer + j);
|
||||||
|
i += strlen(pattern_list[l].pattern) - 1; // 1 gets added in for loop...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (strstr(pattern_list[l].subst, "%#")) {
|
||||||
|
|
||||||
/* special substitutions */
|
/* special substitutions */
|
||||||
if (pattern_list[l].pattern[strlen(pattern_list[l].pattern)-1] == '=') {
|
if (pattern_list[l].pattern[strlen(pattern_list[l].pattern)-1] == '=') {
|
||||||
|
|
||||||
i += strlen(pattern_list[l].pattern);
|
i += strlen(pattern_list[l].pattern);
|
||||||
strextract(str+i, ']', attrib, sizeof(attrib));
|
strextract(str+i, ']', attrib, sizeof(attrib));
|
||||||
i += strlen(attrib)+1;
|
i += strlen(attrib)+1;
|
||||||
@ -6210,15 +6242,22 @@ void rsputs_elcode(const char *str)
|
|||||||
strlcpy(subst, pattern_list[l].subst, sizeof(subst));
|
strlcpy(subst, pattern_list[l].subst, sizeof(subst));
|
||||||
*strchr(subst, '#') = 's';
|
*strchr(subst, '#') = 's';
|
||||||
sprintf(return_buffer + j, subst, hattrib, value);
|
sprintf(return_buffer + j, subst, hattrib, value);
|
||||||
|
|
||||||
j += strlen(return_buffer + j);
|
j += strlen(return_buffer + j);
|
||||||
|
|
||||||
} else if (pattern_list[l].pattern[strlen(pattern_list[l].pattern)-1] != '=') {
|
} else if (pattern_list[l].pattern[strlen(pattern_list[l].pattern)-1] != '=') {
|
||||||
|
|
||||||
i += strlen(pattern_list[l].pattern);
|
i += strlen(pattern_list[l].pattern);
|
||||||
strextract(str+i, '[', attrib, sizeof(attrib));
|
strextract(str+i, '[', attrib, sizeof(attrib));
|
||||||
i += strlen(attrib)-1;
|
i += strlen(attrib)-1;
|
||||||
strlcpy(hattrib, attrib, sizeof(hattrib));
|
strlcpy(hattrib, attrib, sizeof(hattrib));
|
||||||
|
|
||||||
|
/* change /x to id/x for images */
|
||||||
|
if (strnicmp(attrib, "elog:/", 6) == 0)
|
||||||
|
sprintf(hattrib, "%d%s", _current_message_id, attrib+5);
|
||||||
|
|
||||||
/* add http:// if missing */
|
/* add http:// if missing */
|
||||||
if (strncmp(attrib, "http://", 7) != 0 &&
|
else if (strnicmp(attrib, "http://", 7) != 0 &&
|
||||||
strstr(pattern_list[l].subst, "mailto") == NULL &&
|
strstr(pattern_list[l].subst, "mailto") == NULL &&
|
||||||
strstr(pattern_list[l].subst, "img") == NULL )
|
strstr(pattern_list[l].subst, "img") == NULL )
|
||||||
sprintf(hattrib, "http://%s", attrib);
|
sprintf(hattrib, "http://%s", attrib);
|
||||||
@ -6250,7 +6289,7 @@ void rsputs_elcode(const char *str)
|
|||||||
if (pattern_list[l].pattern[0])
|
if (pattern_list[l].pattern[0])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (strncmp(str + i, "<br>", 4) == 0) {
|
if (strnicmp(str + i, "<br>", 4) == 0) {
|
||||||
strcpy(return_buffer + j, "<br />");
|
strcpy(return_buffer + j, "<br />");
|
||||||
j += 6;
|
j += 6;
|
||||||
i += 3;
|
i += 3;
|
||||||
@ -8332,18 +8371,42 @@ void attrib_from_param(int n_attr, char attrib[MAX_N_ATTR][NAME_LENGTH])
|
|||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void ricon(char *name, char *comment, char *elcode)
|
||||||
|
{
|
||||||
|
rsprintf("<img align=\"middle\" name=\"%s\" src=\"icons/elc_%s.png\" alt=\"%s\" title=\"%s\" border=\"0\"",
|
||||||
|
name, name, comment, comment);
|
||||||
|
rsprintf(" onclick=\"elcode(document.form1.Text, '%s','')\"", elcode);
|
||||||
|
rsprintf(" onmousedown=\"document.images.%s.src='icons/eld_%s.png'\"", name, name);
|
||||||
|
rsprintf(" onmouseup=\"document.images.%s.src='icons/elc_%s.png'\"", name, name);
|
||||||
|
rsprintf(" onmouseover=\"this.style.cursor='hand';\" />");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void rsicon(char *name, char *comment, char *elcode)
|
||||||
|
{
|
||||||
|
rsprintf("<img align=\"middle\" name=\"%s\" src=\"icons/elc_%s.png\" alt=\"%s\" title=\"%s\" border=\"0\"",
|
||||||
|
name, name, comment, comment);
|
||||||
|
rsprintf(" onclick=\"elcode(document.form1.Text, '','%s')\"", elcode);
|
||||||
|
rsprintf(" onmousedown=\"document.images.%s.src='icons/eld_%s.png'\"", name, name);
|
||||||
|
rsprintf(" onmouseup=\"document.images.%s.src='icons/elc_%s.png'\"", name, name);
|
||||||
|
rsprintf(" onmouseover=\"this.style.cursor='hand';\" />");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL bupload, BOOL breedit,
|
void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL bupload, BOOL breedit,
|
||||||
BOOL bduplicate)
|
BOOL bduplicate, BOOL preview)
|
||||||
{
|
{
|
||||||
int i, j, n, index, aindex, size, width, height, fh, length, input_size, input_maxlen,
|
int i, j, n, index, aindex, size, width, height, fh, length, input_size, input_maxlen,
|
||||||
format_flags[MAX_N_ATTR], year, month, day, hour, min, sec, n_attr, n_disp_attr,
|
format_flags[MAX_N_ATTR], year, month, day, hour, min, sec, n_attr, n_disp_attr,
|
||||||
attr_index[MAX_N_ATTR], enc_selected;
|
attr_index[MAX_N_ATTR], enc_selected, show_smileys;
|
||||||
char str[2 * NAME_LENGTH], preset[2 * NAME_LENGTH], *p, *pend, star[80], comment[10000], reply_string[256],
|
char str[2 * NAME_LENGTH], preset[2 * NAME_LENGTH], *p, *pend, star[80], comment[10000], reply_string[256],
|
||||||
list[MAX_N_ATTR][NAME_LENGTH], file_name[256], *buffer, format[256], date[80],
|
list[MAX_N_ATTR][NAME_LENGTH], file_name[256], *buffer, format[256], date[80],
|
||||||
attrib[MAX_N_ATTR][NAME_LENGTH], *text, orig_tag[80], reply_tag[MAX_REPLY_TO * 10],
|
attrib[MAX_N_ATTR][NAME_LENGTH], *text, orig_tag[80], reply_tag[MAX_REPLY_TO * 10],
|
||||||
att[MAX_ATTACHMENTS][256], encoding[80], slist[MAX_N_ATTR + 10][NAME_LENGTH],
|
att[MAX_ATTACHMENTS][256], encoding[80], slist[MAX_N_ATTR + 10][NAME_LENGTH],
|
||||||
svalue[MAX_N_ATTR + 10][NAME_LENGTH], owner[256], locked_by[256], class_value[80], class_name[80],
|
svalue[MAX_N_ATTR + 10][NAME_LENGTH], owner[256], locked_by[256], class_value[80], class_name[80],
|
||||||
condition[256], ua[NAME_LENGTH], mid[80], title[256], login_name[256];
|
condition[256], ua[NAME_LENGTH], mid[80], title[256], login_name[256], cookie[256];
|
||||||
time_t now, ltime;
|
time_t now, ltime;
|
||||||
char fl[8][NAME_LENGTH];
|
char fl[8][NAME_LENGTH];
|
||||||
struct tm *pts;
|
struct tm *pts;
|
||||||
@ -8402,6 +8465,36 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Determine encoding */
|
||||||
|
enc_selected = 0; /*Default is ELCode */
|
||||||
|
/* Overwrite from config file */
|
||||||
|
if (getcfg(lbs->name, "Default Encoding", str, sizeof(str)))
|
||||||
|
enc_selected = atoi(str);
|
||||||
|
|
||||||
|
/* detrmine if smiley bar should be displayed */
|
||||||
|
show_smileys = 1;
|
||||||
|
cookie[0] = 0;
|
||||||
|
if (isparam("hsm") && atoi(getparam("hsm")) == 1) /* cookie */
|
||||||
|
show_smileys = 0;
|
||||||
|
if (isparam("smcmd") && strieq(getparam("smcmd"), "hsm")) { /* turn off */
|
||||||
|
show_smileys = 0;
|
||||||
|
strcpy(cookie, "hsm=1");
|
||||||
|
}
|
||||||
|
if (isparam("smcmd") && strieq(getparam("smcmd"), "ssm")) { /* turn on */
|
||||||
|
show_smileys = 1;
|
||||||
|
strcpy(cookie, "hsm=0");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Overwrite from current entry */
|
||||||
|
if (message_id) {
|
||||||
|
if (encoding[0] == 'E')
|
||||||
|
enc_selected = 0;
|
||||||
|
else if (encoding[0] == 'p')
|
||||||
|
enc_selected = 1;
|
||||||
|
else if (encoding[0] == 'H')
|
||||||
|
enc_selected = 2;
|
||||||
|
}
|
||||||
|
|
||||||
/* check for preset attributes without any condition */
|
/* check for preset attributes without any condition */
|
||||||
set_condition("");
|
set_condition("");
|
||||||
for (index = 0; index < lbs->n_attr; index++) {
|
for (index = 0; index < lbs->n_attr; index++) {
|
||||||
@ -8662,7 +8755,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* header */
|
/* header */
|
||||||
show_html_header(lbs, FALSE, "ELOG", FALSE, FALSE, NULL);
|
show_html_header(lbs, FALSE, "ELOG", FALSE, FALSE, cookie);
|
||||||
|
|
||||||
/* java script for checking required attributes and to check for cancelled edits */
|
/* java script for checking required attributes and to check for cancelled edits */
|
||||||
rsprintf("<script type=\"text/javascript\">\n");
|
rsprintf("<script type=\"text/javascript\">\n");
|
||||||
@ -8792,55 +8885,101 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
rsprintf("}\n\n");
|
rsprintf("}\n\n");
|
||||||
|
|
||||||
/* mark_submit() gets called via "Back" button */
|
/* mark_submit() gets called via "Back" button */
|
||||||
rsprintf("function mark_submit()\n");
|
rsprintf("function mark_submit() \n");
|
||||||
rsprintf("{\n");
|
rsprintf("{ \n");
|
||||||
rsprintf(" submitted = true;\n");
|
rsprintf(" submitted = true; \n");
|
||||||
rsprintf(" return true;\n");
|
rsprintf(" return true; \n");
|
||||||
rsprintf("}\n\n");
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
/* chkupload() gets called via "Upload" button */
|
/* chkupload() gets called via "Upload" button */
|
||||||
rsprintf("function chkupload()\n");
|
rsprintf("function chkupload() \n");
|
||||||
rsprintf("{\n");
|
rsprintf("{ \n");
|
||||||
rsprintf(" if (document.form1.attfile.value == \"\") {\n");
|
rsprintf(" if (document.form1.attfile.value == \"\") { \n");
|
||||||
rsprintf(" alert(\"%s\");\n", loc("No attachment file specified"));
|
rsprintf(" alert(\"%s\"); \n", loc("No attachment file specified"));
|
||||||
rsprintf(" return false;\n");
|
rsprintf(" return false; \n");
|
||||||
rsprintf(" }\n");
|
rsprintf(" } \n");
|
||||||
rsprintf(" submitted = true;\n");
|
rsprintf(" submitted = true; \n");
|
||||||
rsprintf(" return true;\n");
|
rsprintf(" return true; \n");
|
||||||
rsprintf("}\n\n");
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
/* cond_submit() gets called via selection of new conditional attribute */
|
/* cond_submit() gets called via selection of new conditional attribute */
|
||||||
rsprintf("function cond_submit()\n");
|
rsprintf("function cond_submit() \n");
|
||||||
rsprintf("{\n");
|
rsprintf("{ \n");
|
||||||
rsprintf(" submitted = true;\n");
|
rsprintf(" submitted = true; \n");
|
||||||
rsprintf(" document.form1.submit();\n");
|
rsprintf(" document.form1.submit(); \n");
|
||||||
rsprintf("}\n\n");
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
/* abandon() gets called "onUnload" */
|
/* abandon() gets called "onUnload" */
|
||||||
rsprintf("function unload()\n");
|
rsprintf("function unload() \n");
|
||||||
rsprintf("{\n");
|
rsprintf("{ \n");
|
||||||
rsprintf(" if (!submitted && modified) {\n");
|
rsprintf(" if (!submitted && modified) { \n");
|
||||||
rsprintf(" var subm = confirm(\"%s\");\n", loc("Submit modified ELOG entry?"));
|
rsprintf(" var subm = confirm(\"%s\"); \n", loc("Submit modified ELOG entry?"));
|
||||||
rsprintf(" if (subm) {\n");
|
rsprintf(" if (subm) { \n");
|
||||||
rsprintf(" document.form1.jcmd.value = \"%s\";\n", loc("Submit"));
|
rsprintf(" document.form1.jcmd.value = \"%s\"; \n", loc("Submit"));
|
||||||
rsprintf(" document.form1.submit();\n");
|
rsprintf(" document.form1.submit(); \n");
|
||||||
rsprintf(" } else {\n");
|
rsprintf(" } else { \n");
|
||||||
rsprintf(" document.form1.jcmd.value = \"%s\";\n", loc("Back"));
|
rsprintf(" document.form1.jcmd.value = \"%s\"; \n", loc("Back"));
|
||||||
rsprintf(" document.form1.submit();\n");
|
rsprintf(" document.form1.submit(); \n");
|
||||||
rsprintf(" }\n");
|
rsprintf(" } \n");
|
||||||
rsprintf(" }\n");
|
rsprintf(" } \n");
|
||||||
rsprintf(" if (!submitted && !modified) {\n");
|
rsprintf(" if (!submitted && !modified) { \n");
|
||||||
rsprintf(" document.form1.jcmd.value = \"%s\";\n", loc("Back"));
|
rsprintf(" document.form1.jcmd.value = \"%s\"; \n", loc("Back"));
|
||||||
rsprintf(" document.form1.submit();\n");
|
rsprintf(" document.form1.submit(); \n");
|
||||||
rsprintf(" }\n");
|
rsprintf(" } \n");
|
||||||
rsprintf("}\n\n");
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
/* mod() gets called via throuch "onchange" event */
|
/* mod() gets called via throuch "onchange" event */
|
||||||
rsprintf("function mod()\n");
|
rsprintf("function mod() \n");
|
||||||
rsprintf("{\n");
|
rsprintf("{ \n");
|
||||||
rsprintf(" modified = true;\n");
|
rsprintf(" modified = true; \n");
|
||||||
rsprintf(" window.status = \"%s\";\n", loc("Entry has been modified"));
|
rsprintf(" window.status = \"%s\"; \n", loc("Entry has been modified"));
|
||||||
rsprintf("}\n\n");
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
|
/* switch_smileys turn on/off the smiley bar by setting the smcmd, which in turn
|
||||||
|
sets the hsm=0/hsm=1 cookie */
|
||||||
|
rsprintf("function switch_smileys() \n");
|
||||||
|
rsprintf("{ \n");
|
||||||
|
if (show_smileys)
|
||||||
|
rsprintf(" document.form1.smcmd.value = 'hsm'; \n");
|
||||||
|
else
|
||||||
|
rsprintf(" document.form1.smcmd.value = 'ssm'; \n");
|
||||||
|
rsprintf(" document.form1.submit(); \n");
|
||||||
|
rsprintf("} \n\n");
|
||||||
|
|
||||||
|
|
||||||
|
/* elcode() gets called by selecting ELCode buttons */
|
||||||
|
rsprintf("function elcode(text, tag, value) \n");
|
||||||
|
rsprintf("{ \n");
|
||||||
|
rsprintf(" var selection = ''; \n");
|
||||||
|
rsprintf(" var str; \n");
|
||||||
|
rsprintf(" \n");
|
||||||
|
rsprintf(" selection = text.value.substring(text.selectionStart, text.selectionEnd); \n");
|
||||||
|
rsprintf(" if (tag == '') \n");
|
||||||
|
rsprintf(" str = selection + value; \n");
|
||||||
|
rsprintf(" else if (value == '') \n");
|
||||||
|
rsprintf(" str = '[' + tag + ']' + selection + '[/' + tag + ']'; \n");
|
||||||
|
rsprintf(" else \n");
|
||||||
|
rsprintf(" str = '[' + tag + '=' + value + ']' + selection + '[/' + tag + ']'; \n");
|
||||||
|
rsprintf(" \n");
|
||||||
|
rsprintf(" start = text.selectionStart; \n");
|
||||||
|
rsprintf(" end = text.textLength; \n");
|
||||||
|
rsprintf(" endtext = text.value.substring(text.selectionEnd, end); \n");
|
||||||
|
rsprintf(" starttext = text.value.substring(0, start); \n");
|
||||||
|
rsprintf(" text.value = starttext + str + endtext; \n");
|
||||||
|
rsprintf(" if (selection.length > 0) { \n");
|
||||||
|
rsprintf(" text.selectionStart = start; \n");
|
||||||
|
rsprintf(" text.selectionEnd = text.selectionStart + str.length; \n");
|
||||||
|
rsprintf(" } else { \n");
|
||||||
|
rsprintf(" if (tag == '') \n");
|
||||||
|
rsprintf(" text.selectionStart = start + value.length; \n");
|
||||||
|
rsprintf(" else \n");
|
||||||
|
rsprintf(" text.selectionStart = start + tag.length + 2; \n");
|
||||||
|
rsprintf(" text.selectionEnd = text.selectionStart; \n");
|
||||||
|
rsprintf(" } \n");
|
||||||
|
rsprintf(" \n");
|
||||||
|
rsprintf(" text.focus(); \n");
|
||||||
|
rsprintf("} \n");
|
||||||
|
|
||||||
|
|
||||||
rsprintf("//-->\n");
|
rsprintf("//-->\n");
|
||||||
rsprintf("</script>\n\n");
|
rsprintf("</script>\n\n");
|
||||||
@ -8872,6 +9011,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
}
|
}
|
||||||
|
|
||||||
rsprintf("<input type=hidden name=\"jcmd\">\n");
|
rsprintf("<input type=hidden name=\"jcmd\">\n");
|
||||||
|
rsprintf("<input type=hidden name=\"smcmd\">\n");
|
||||||
|
|
||||||
/*---- title row ----*/
|
/*---- title row ----*/
|
||||||
|
|
||||||
@ -8886,6 +9026,8 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
|
|
||||||
rsprintf
|
rsprintf
|
||||||
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Submit"));
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Submit"));
|
||||||
|
rsprintf
|
||||||
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Preview"));
|
||||||
rsprintf
|
rsprintf
|
||||||
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return mark_submit();\">\n", loc("Back"));
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return mark_submit();\">\n", loc("Back"));
|
||||||
rsprintf("</span></td></tr>\n\n");
|
rsprintf("</span></td></tr>\n\n");
|
||||||
@ -9332,8 +9474,134 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (preview) {
|
||||||
|
_current_message_id = message_id;
|
||||||
|
rsprintf("<tr><td colspan=2 class=\"messageframe\">\n");
|
||||||
|
|
||||||
|
if (strieq(encoding, "plain")) {
|
||||||
|
rsputs("<pre class=\"messagepre\">");
|
||||||
|
rsputs2(text);
|
||||||
|
rsputs("</pre>");
|
||||||
|
} else if (strieq(encoding, "ELCode"))
|
||||||
|
rsputs_elcode(text);
|
||||||
|
else
|
||||||
|
rsputs(text);
|
||||||
|
|
||||||
|
rsprintf("</td></tr>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enc_selected == 0) {
|
||||||
|
rsprintf("<tr><td colspan=2 class=\"menuframe\">\n");
|
||||||
|
|
||||||
|
ricon("bold", loc("bold text"), "B");
|
||||||
|
ricon("italic", loc("italics text"), "I");
|
||||||
|
ricon("underline", loc("underlined text"), "U");
|
||||||
|
|
||||||
|
rsprintf(" ");
|
||||||
|
ricon("center", loc("centered text"), "CENTER");
|
||||||
|
|
||||||
|
rsprintf(" ");
|
||||||
|
ricon("url", loc("insert hyperlink"), "URL");
|
||||||
|
ricon("email", loc("insert email"), "EMAIL");
|
||||||
|
ricon("image", loc("insert image"), "IMG");
|
||||||
|
|
||||||
|
rsprintf(" ");
|
||||||
|
ricon("quote", loc("insert quote"), "QUOTE");
|
||||||
|
ricon("list", loc("insert list"), "LIST");
|
||||||
|
|
||||||
|
rsprintf(" ");
|
||||||
|
ricon("code", loc("insert code"), "CODE");
|
||||||
|
|
||||||
|
if (show_smileys)
|
||||||
|
rsprintf(" <img align=\"middle\" name=\"smileys\" src=\"icons/eld_smile.png\" alt=\"%s\" title=\"%s\" border=\"0\"",
|
||||||
|
loc("hide the smiley bar"), loc("hide the smiley bar"));
|
||||||
|
else
|
||||||
|
rsprintf(" <img align=\"middle\" name=\"smileys\" src=\"icons/elc_smile.png\" alt=\"%s\" title=\"%s\" border=\"0\"",
|
||||||
|
loc("show the smiley bar"), loc("show the smiley bar"));
|
||||||
|
rsprintf(" onclick=\"switch_smileys()\"");
|
||||||
|
rsprintf(" onmouseover=\"this.style.cursor='hand';\" />\n");
|
||||||
|
|
||||||
|
rsprintf(" <select name=\"font\" ");
|
||||||
|
rsprintf("onchange=\"elcode(document.form1.Text,'FONT',this.options[this.selectedIndex].value);");
|
||||||
|
rsprintf("this.selectedIndex=0;\">\n");
|
||||||
|
rsprintf("<option value=\"0\">%s</option>\n", loc("FONT"));
|
||||||
|
rsprintf("<option value=\"arial\">Arial</option>\n");
|
||||||
|
rsprintf("<option value=\"comic sans ms\">Comic Sans MS</option>\n");
|
||||||
|
rsprintf("<option value=\"courier\">Courier New</option>\n");
|
||||||
|
rsprintf("<option value=\"tahoma\">Tahoma</option>\n");
|
||||||
|
rsprintf("<option value=\"times new roman\">Times New Roman</option>\n");
|
||||||
|
rsprintf("<option value=\"verdana\">Verdana</option>\n");
|
||||||
|
rsprintf("</select>\n");
|
||||||
|
|
||||||
|
rsprintf(" <select name=\"size\" ");
|
||||||
|
rsprintf("onchange=\"elcode(document.form1.Text,'SIZE',this.options[this.selectedIndex].value);");
|
||||||
|
rsprintf("this.selectedIndex=0;\">\n");
|
||||||
|
rsprintf("<option value=\"0\">%s</option>\n", loc("SIZE"));
|
||||||
|
rsprintf("<option value=\"1\">1</option>\n");
|
||||||
|
rsprintf("<option value=\"2\">2</option>\n");
|
||||||
|
rsprintf("<option value=\"3\">3</option>\n");
|
||||||
|
rsprintf("<option value=\"4\">4</option>\n");
|
||||||
|
rsprintf("<option value=\"5\">5</option>\n");
|
||||||
|
rsprintf("<option value=\"6\">6</option>\n");
|
||||||
|
rsprintf("</select>\n");
|
||||||
|
|
||||||
|
rsprintf(" <select name=\"color\" ");
|
||||||
|
rsprintf("onchange=\"elcode(document.form1.Text,'COLOR',this.options[this.selectedIndex].value);");
|
||||||
|
rsprintf("this.selectedIndex=0;\">\n");
|
||||||
|
rsprintf("<option value=\"0\">%s</option>\n", loc("COLOR"));
|
||||||
|
rsprintf("<option value=\"blue\" style=\"color:blue\">blue</option>\n");
|
||||||
|
rsprintf("<option value=\"darkblue\" style=\"color:darkblue\">dark-blue</option>\n");
|
||||||
|
rsprintf("<option value=\"orange\" style=\"color:orange\">orange</option>\n");
|
||||||
|
rsprintf("<option value=\"red\" style=\"color:red\">red</option>\n");
|
||||||
|
rsprintf("<option value=\"darkred\" style=\"color:darkred\">dark red</option>\n");
|
||||||
|
rsprintf("<option value=\"green\" style=\"color:green\">green</option>\n");
|
||||||
|
rsprintf("<option value=\"darkgreen\" style=\"color:darkgreen\">dark-green</option>\n");
|
||||||
|
rsprintf("<option value=\"pink\" style=\"color:deeppink\">pink</option>\n");
|
||||||
|
rsprintf("<option value=\"purple\" style=\"color:purple\">purple</option>\n");
|
||||||
|
rsprintf("<option value=\"chocolate\" style=\"color:chocolate\">chocolate</option>\n");
|
||||||
|
rsprintf("</select>");
|
||||||
|
|
||||||
|
rsprintf("</td></tr>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* main box for text box and icons */
|
||||||
|
rsprintf("<tr><td colspan=2 class=\"attribvalue\">\n");
|
||||||
|
if (enc_selected == 0)
|
||||||
|
rsprintf("<table border=\"0\"><tr><td class=\"menuframe\">\n");
|
||||||
|
|
||||||
|
if (enc_selected == 0 && show_smileys) {
|
||||||
|
|
||||||
|
rsicon("smile", loc("smiling"), ":)");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("happy", loc("happy"), ":))");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("wink", loc("winking"), ";)");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("biggrin", loc("big grin"), ":D");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("crying", loc("crying"), ";(");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("cool", loc("cool"), "8)");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("frown", loc("frowning"), ":(");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("confused", loc("confused"), "?)");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("eek", loc("eek"), "8o");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("mad", loc("mad"), "X(");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("pleased", loc("pleased"), ":]");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("tongue", loc("tongue"), ":P");
|
||||||
|
rsprintf("<br />\n");
|
||||||
|
rsicon("yawn", loc("yawn"), ":O");
|
||||||
|
|
||||||
|
rsprintf("</td><td class=\"attribvalue\">\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* set textarea width */
|
/* set textarea width */
|
||||||
width = 76;
|
width = 112;
|
||||||
|
|
||||||
if (getcfg(lbs->name, "Message width", str, sizeof(str)))
|
if (getcfg(lbs->name, "Message width", str, sizeof(str)))
|
||||||
width = atoi(str);
|
width = atoi(str);
|
||||||
@ -9368,8 +9636,6 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
if (getcfg(lbs->name, "Message height", str, sizeof(str)))
|
if (getcfg(lbs->name, "Message height", str, sizeof(str)))
|
||||||
height = atoi(str);
|
height = atoi(str);
|
||||||
|
|
||||||
rsprintf("<tr><td colspan=2 class=\"attribvalue\">\n");
|
|
||||||
|
|
||||||
if (breply)
|
if (breply)
|
||||||
/* hidden text for original message */
|
/* hidden text for original message */
|
||||||
rsprintf("<input type=hidden name=reply_to value=\"%d\">\n", message_id);
|
rsprintf("<input type=hidden name=reply_to value=\"%d\">\n", message_id);
|
||||||
@ -9463,36 +9729,42 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
if (!getcfg(lbs->name, "Reply string", reply_string, sizeof(reply_string)))
|
if (!getcfg(lbs->name, "Reply string", reply_string, sizeof(reply_string)))
|
||||||
strcpy(reply_string, "> ");
|
strcpy(reply_string, "> ");
|
||||||
|
|
||||||
do {
|
if (enc_selected == 0) {
|
||||||
if (strchr(p, '\n')) {
|
rsprintf("[quote]");
|
||||||
*strchr(p, '\n') = 0;
|
rsputs(text);
|
||||||
|
rsprintf("[/quote]\r\n");
|
||||||
|
} else {
|
||||||
|
do {
|
||||||
|
if (strchr(p, '\n')) {
|
||||||
|
*strchr(p, '\n') = 0;
|
||||||
|
|
||||||
if (encoding[0] == 'H') {
|
if (encoding[0] == 'H') {
|
||||||
rsputs3(reply_string);
|
(reply_string);
|
||||||
rsprintf("%s<br>\n", p);
|
rsprintf("%s<br>\n", p);
|
||||||
|
} else {
|
||||||
|
rsputs(reply_string);
|
||||||
|
rsputs3(p);
|
||||||
|
rsprintf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
p += strlen(p) + 1;
|
||||||
|
if (*p == '\n')
|
||||||
|
p++;
|
||||||
} else {
|
} else {
|
||||||
rsputs(reply_string);
|
if (encoding[0] == 'H') {
|
||||||
rsputs3(p);
|
rsputs3(reply_string);
|
||||||
rsprintf("\n");
|
rsprintf("%s<p>\n", p);
|
||||||
|
} else {
|
||||||
|
rsputs(reply_string);
|
||||||
|
rsputs3(p);
|
||||||
|
rsprintf("\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
p += strlen(p) + 1;
|
} while (TRUE);
|
||||||
if (*p == '\n')
|
}
|
||||||
p++;
|
|
||||||
} else {
|
|
||||||
if (encoding[0] == 'H') {
|
|
||||||
rsputs3(reply_string);
|
|
||||||
rsprintf("%s<p>\n", p);
|
|
||||||
} else {
|
|
||||||
rsputs(reply_string);
|
|
||||||
rsputs3(p);
|
|
||||||
rsprintf("\n\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
} while (TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getcfg(lbs->name, "Append on reply", str, sizeof(str))) {
|
if (getcfg(lbs->name, "Append on reply", str, sizeof(str))) {
|
||||||
@ -9545,40 +9817,24 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
|
|
||||||
/* Encoding radio buttons */
|
/* Encoding radio buttons */
|
||||||
|
|
||||||
/* Default is ELCode */
|
|
||||||
enc_selected = 0;
|
|
||||||
/* Overwrite from config file */
|
|
||||||
if (getcfg(lbs->name, "Default Encoding", str, sizeof(str)))
|
|
||||||
enc_selected = atoi(str);
|
|
||||||
|
|
||||||
/* Overwrite from current entry */
|
|
||||||
if (message_id) {
|
|
||||||
if (encoding[0] == 'E')
|
|
||||||
enc_selected = 0;
|
|
||||||
else if (encoding[0] == 'p')
|
|
||||||
enc_selected = 1;
|
|
||||||
else if (encoding[0] == 'H')
|
|
||||||
enc_selected = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
rsprintf("<b>%s</b>: ", loc("Encoding"));
|
rsprintf("<b>%s</b>: ", loc("Encoding"));
|
||||||
|
|
||||||
if (enc_selected == 0)
|
if (enc_selected == 0)
|
||||||
rsprintf("<input type=radio id=\"ELCode\" name=\"encoding\" value=\"ELCode\" checked>");
|
rsprintf("<input type=radio id=\"ELCode\" name=\"encoding\" value=\"ELCode\" checked>");
|
||||||
else
|
else
|
||||||
rsprintf("<input type=radio id=\"ELCode\" name=\"encoding\" value=\"ELCode\">");
|
rsprintf("<input type=radio id=\"ELCode\" name=\"encoding\" value=\"ELCode\" onclick=\"document.form1.submit()\">");
|
||||||
rsprintf("<label for=\"ELCode\"><a target=\"_blank\" href=\"?cmd=HelpELCode\">ELCode</a> </label>\n");
|
rsprintf("<label for=\"ELCode\"><a target=\"_blank\" href=\"?cmd=HelpELCode\">ELCode</a> </label>\n");
|
||||||
|
|
||||||
if (enc_selected == 1)
|
if (enc_selected == 1)
|
||||||
rsprintf("<input type=radio id=\"plain\" name=\"encoding\" value=\"plain\" checked>");
|
rsprintf("<input type=radio id=\"plain\" name=\"encoding\" value=\"plain\" checked>");
|
||||||
else
|
else
|
||||||
rsprintf("<input type=radio id=\"plain\" name=\"encoding\" value=\"plain\">");
|
rsprintf("<input type=radio id=\"plain\" name=\"encoding\" value=\"plain\" onclick=\"document.form1.submit()\">");
|
||||||
rsprintf("<label for=\"plain\">plain </label>\n");
|
rsprintf("<label for=\"plain\">plain </label>\n");
|
||||||
|
|
||||||
if (enc_selected == 2)
|
if (enc_selected == 2)
|
||||||
rsprintf("<input type=radio id=\"HTML\" name=\"encoding\" value=\"HTML\" checked>");
|
rsprintf("<input type=radio id=\"HTML\" name=\"encoding\" value=\"HTML\" checked>");
|
||||||
else
|
else
|
||||||
rsprintf("<input type=radio id=\"HTML\" name=\"encoding\" value=\"HTML\">");
|
rsprintf("<input type=radio id=\"HTML\" name=\"encoding\" value=\"HTML\" onclick=\"document.form1.submit()\">");
|
||||||
rsprintf("<label for=\"HTML\">HTML </label>\n");
|
rsprintf("<label for=\"HTML\">HTML </label>\n");
|
||||||
|
|
||||||
rsprintf("<br>\n");
|
rsprintf("<br>\n");
|
||||||
@ -9652,6 +9908,9 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
|
|
||||||
rsprintf("</tr>\n");
|
rsprintf("</tr>\n");
|
||||||
|
|
||||||
|
if (enc_selected == 0)
|
||||||
|
rsprintf("</table></td></tr>\n");
|
||||||
|
|
||||||
if (!getcfg(lbs->name, "Enable attachments", str, sizeof(str))
|
if (!getcfg(lbs->name, "Enable attachments", str, sizeof(str))
|
||||||
|| atoi(str) > 0) {
|
|| atoi(str) > 0) {
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -9702,6 +9961,8 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
rsprintf("<tr><td class=\"menuframe\"><span class=\"menu1\">\n");
|
rsprintf("<tr><td class=\"menuframe\"><span class=\"menu1\">\n");
|
||||||
rsprintf
|
rsprintf
|
||||||
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Submit"));
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Submit"));
|
||||||
|
rsprintf
|
||||||
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return chkform();\">\n", loc("Preview"));
|
||||||
rsprintf
|
rsprintf
|
||||||
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return mark_submit();\">\n", loc("Back"));
|
("<input type=\"submit\" name=\"cmd\" value=\"%s\" onClick=\"return mark_submit();\">\n", loc("Back"));
|
||||||
rsprintf("</span></td></tr>\n\n");
|
rsprintf("</span></td></tr>\n\n");
|
||||||
@ -15083,7 +15344,7 @@ BOOL is_command_allowed(LOGBOOK * lbs, char *command)
|
|||||||
strlcat(menu_str, "Config, ", sizeof(menu_str));
|
strlcat(menu_str, "Config, ", sizeof(menu_str));
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(other_str, "Update, Upload, Submit, Back, Search, Save, Download, CSV Import, ");
|
strcpy(other_str, "Update, Upload, Submit, Preview, Back, Search, Save, Download, CSV Import, ");
|
||||||
strcat(other_str, "Cancel, First, Last, Previous, Next, Requested, Forgot, ");
|
strcat(other_str, "Cancel, First, Last, Previous, Next, Requested, Forgot, ");
|
||||||
|
|
||||||
/* admin commands */
|
/* admin commands */
|
||||||
@ -19261,7 +19522,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (show_text) {
|
if (show_text) {
|
||||||
rsprintf("<tr><td class=\"messageframe\">\n");
|
rsprintf("<tr><td class=\"messageframe\">");
|
||||||
|
|
||||||
if (strieq(encoding, "plain")) {
|
if (strieq(encoding, "plain")) {
|
||||||
rsputs("<pre class=\"messagepre\">");
|
rsputs("<pre class=\"messagepre\">");
|
||||||
@ -19274,13 +19535,20 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
|||||||
|
|
||||||
rsputs("</td></tr>\n");
|
rsputs("</td></tr>\n");
|
||||||
|
|
||||||
|
n_hidden = 0;
|
||||||
for (i = 0, n_attachments = 0; i < MAX_ATTACHMENTS; i++) {
|
for (i = 0, n_attachments = 0; i < MAX_ATTACHMENTS; i++) {
|
||||||
att_hide[i] = 0;
|
att_hide[i] = 0;
|
||||||
|
|
||||||
|
sprintf(str, "[img]elog:/%d[/img]", i+1);
|
||||||
|
if (strieq(encoding, "ELCode") &&
|
||||||
|
strstr(text, str)) {
|
||||||
|
att_hide[i] = 1;
|
||||||
|
n_hidden++;
|
||||||
|
}
|
||||||
if (attachment[i][0])
|
if (attachment[i][0])
|
||||||
n_attachments++;
|
n_attachments++;
|
||||||
}
|
}
|
||||||
|
|
||||||
n_hidden = 0;
|
|
||||||
if (isparam("hide")) {
|
if (isparam("hide")) {
|
||||||
strlcpy(str, getparam("hide"), sizeof(str));
|
strlcpy(str, getparam("hide"), sizeof(str));
|
||||||
p = strtok(str, ",");
|
p = strtok(str, ",");
|
||||||
@ -19292,6 +19560,16 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
|||||||
p = strtok(NULL, ",");
|
p = strtok(NULL, ",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (isparam("show")) {
|
||||||
|
strlcpy(str, getparam("show"), sizeof(str));
|
||||||
|
p = strtok(str, ",");
|
||||||
|
while (p != NULL) {
|
||||||
|
if (atoi(p) < MAX_ATTACHMENTS) {
|
||||||
|
att_hide[atoi(p)] = 0;
|
||||||
|
}
|
||||||
|
p = strtok(NULL, ",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (index = 0; index < MAX_ATTACHMENTS; index++) {
|
for (index = 0; index < MAX_ATTACHMENTS; index++) {
|
||||||
if (attachment[index][0] && strlen(attachment[index]) > 14) {
|
if (attachment[index][0] && strlen(attachment[index]) > 14) {
|
||||||
@ -19358,6 +19636,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
|||||||
if (att_hide[i] && i != index) {
|
if (att_hide[i] && i != index) {
|
||||||
rsprintf("%d,", i);
|
rsprintf("%d,", i);
|
||||||
}
|
}
|
||||||
|
rsprintf("&show=%d", index);
|
||||||
rsprintf("\">%s</a>", loc("Show"));
|
rsprintf("\">%s</a>", loc("Show"));
|
||||||
} else {
|
} else {
|
||||||
rsprintf("<a href=\"%d?hide=", message_id);
|
rsprintf("<a href=\"%d?hide=", message_id);
|
||||||
@ -19383,8 +19662,13 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
|
|||||||
for (i = 0; i < MAX_ATTACHMENTS; i++)
|
for (i = 0; i < MAX_ATTACHMENTS; i++)
|
||||||
if (att_hide[i])
|
if (att_hide[i])
|
||||||
break;
|
break;
|
||||||
if (i < MAX_ATTACHMENTS)
|
if (i < MAX_ATTACHMENTS) {
|
||||||
rsprintf(" | <a href=\"%d\">%s</a>", message_id, loc("Show all"));
|
rsprintf(" | <a href=\"%d?show=", message_id);
|
||||||
|
for (i = 0; i < MAX_ATTACHMENTS; i++)
|
||||||
|
if (att_hide[i])
|
||||||
|
rsprintf("%d,", i);
|
||||||
|
rsprintf("\">%s</a>", loc("Show all"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rsprintf("</span>\n");
|
rsprintf("</span>\n");
|
||||||
@ -20928,7 +21212,7 @@ void interprete(char *lbook, char *path)
|
|||||||
|
|
||||||
if (strieq(command, loc("New")) || strieq(command, loc("Edit")) || strieq(command, loc("Reply")) ||
|
if (strieq(command, loc("New")) || strieq(command, loc("Edit")) || strieq(command, loc("Reply")) ||
|
||||||
strieq(command, loc("Duplicate")) || strieq(command, loc("Delete")) || strieq(command, loc("Upload"))
|
strieq(command, loc("Duplicate")) || strieq(command, loc("Delete")) || strieq(command, loc("Upload"))
|
||||||
|| strieq(command, loc("Submit"))) {
|
|| strieq(command, loc("Submit")) || strieq(command, loc("Preview"))) {
|
||||||
sprintf(str, "%s?cmd=%s", path, command);
|
sprintf(str, "%s?cmd=%s", path, command);
|
||||||
if (!check_password(lbs, "Write password", getparam("wpwd"), str))
|
if (!check_password(lbs, "Write password", getparam("wpwd"), str))
|
||||||
return;
|
return;
|
||||||
@ -21171,7 +21455,7 @@ void interprete(char *lbook, char *path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("New"))) {
|
if (strieq(command, loc("New"))) {
|
||||||
show_edit_form(lbs, 0, FALSE, FALSE, FALSE, FALSE, FALSE);
|
show_edit_form(lbs, 0, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21196,41 +21480,46 @@ void interprete(char *lbook, char *path)
|
|||||||
unsetparam(str);
|
unsetparam(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, TRUE, FALSE, FALSE);
|
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, TRUE, FALSE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message_id = atoi(dec_path);
|
message_id = atoi(dec_path);
|
||||||
if (strieq(command, loc("Upload"))) {
|
if (strieq(command, loc("Upload"))) {
|
||||||
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, TRUE, FALSE, FALSE);
|
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, TRUE, FALSE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("Edit"))) {
|
if (strieq(command, loc("Edit"))) {
|
||||||
if (message_id) {
|
if (message_id) {
|
||||||
show_edit_form(lbs, message_id, FALSE, TRUE, FALSE, FALSE, FALSE);
|
show_edit_form(lbs, message_id, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("Reply"))) {
|
if (strieq(command, loc("Reply"))) {
|
||||||
show_edit_form(lbs, message_id, TRUE, FALSE, FALSE, FALSE, FALSE);
|
show_edit_form(lbs, message_id, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("Update"))) {
|
if (strieq(command, loc("Update"))) {
|
||||||
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, FALSE, TRUE, FALSE);
|
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, FALSE, TRUE, FALSE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("Duplicate"))) {
|
if (strieq(command, loc("Duplicate"))) {
|
||||||
if (message_id) {
|
if (message_id) {
|
||||||
show_edit_form(lbs, message_id, FALSE, FALSE, FALSE, FALSE, TRUE);
|
show_edit_form(lbs, message_id, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strieq(command, loc("Preview"))) {
|
||||||
|
show_edit_form(lbs, atoi(getparam("edit_id")), FALSE, TRUE, FALSE, TRUE, FALSE, TRUE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (strieq(command, loc("Submit"))
|
if (strieq(command, loc("Submit"))
|
||||||
|| strieq(command, "Submit")) {
|
|| strieq(command, "Submit")) {
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user