Enabe/disable smileys for ELCode via display attribute.

This commit is contained in:
Stefan Ritt 2015-03-31 12:07:33 +02:00
parent 633df5f9c4
commit b74db5edb6
5 changed files with 80 additions and 99 deletions

31
scripts/dnd.js Normal file
View File

@ -0,0 +1,31 @@
/********************************************************************\
Name: dnd.js
Created by: Stefan Ritt
Contents: JavaScript code for Drag & Drop interface
\********************************************************************/
function XMLHttpRequestGeneric()
{
var request;
try {
request = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // Internet Explorer
}
catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e) {
alert('Your browser does not support AJAX!');
return undefined;
}
}
}
return request;
}

View File

@ -10,43 +10,26 @@
\********************************************************************/ \********************************************************************/
var dummy = 0; var dummy = 0;
var httpReq; var imReq;
var elName; var elName;
var thumbName; var thumbName;
function im(name, thumb, image, cmd) function im(name, thumb, image, cmd)
{ {
try { imReq = XMLHttpRequestGeneric();
httpReq = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e) {
try {
httpReq = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e) {
try {
httpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Your browser does not support AJAX!");
return false;
}
}
}
elName = name; elName = name;
thumbName = thumb; thumbName = thumb;
httpReq.onreadystatechange = onReady; imReq.onreadystatechange = onReady;
httpReq.open("GET","?cmd=im&req="+cmd+"&img="+image, true); imReq.open("GET","?cmd=im&req="+cmd+"&img="+image, true);
httpReq.send(null); imReq.send(null);
} }
function onReady() function onReady()
{ {
if (httpReq.readyState == 4) { if (imReq.readyState == 4) {
if (httpReq.responseText != "" && if (imReq.responseText != "" &&
httpReq.responseText.search(/Fonts/) == -1) imReq.responseText.search(/Fonts/) == -1)
alert(httpReq.responseText); alert(imReq.responseText);
o = document.getElementsByName(elName); o = document.getElementsByName(elName);
if (o[0]) if (o[0])
o[0].src = thumbName+'?'+dummy; o[0].src = thumbName+'?'+dummy;
@ -61,11 +44,12 @@ function onReady()
} }
dummy++; dummy++;
} }
delete httpReq; delete imReq;
} }
function deleteAtt(idx) function deleteAtt(idx)
{ {
submitted = true;
document.form1.smcmd.value='delatt'+idx; document.form1.smcmd.value='delatt'+idx;
document.form1.submit(); document.form1.submit();
} }

View File

@ -218,7 +218,7 @@ $(document).ready(function() {
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
console.log("holder-enter") console.log("holder-enter")
holder.css("border", "10px dashed #0c0"); holder.css("border", "6px dashed #0c0");
return false; return false;
}, },
'dragover' : function(event) { 'dragover' : function(event) {
@ -230,7 +230,7 @@ $(document).ready(function() {
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
console.log("holder-leave"); console.log("holder-leave");
holder.css("border", "10px dashed #ccc"); holder.css("border", "6px dashed #ccc");
return false; return false;
}, },
'drop' : function(e) { 'drop' : function(e) {

View File

@ -9484,7 +9484,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
{ {
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, n_lines, format_flags[MAX_N_ATTR], year, month, day, hour, min, sec, n_attr, n_disp_attr, n_lines,
attr_index[MAX_N_ATTR], enc_selected, show_smileys, show_text, n_moptions, display_inline, attr_index[MAX_N_ATTR], enc_selected, show_text, n_moptions, display_inline,
allowed_encoding, thumb_status, max_n_lines, fixed_text, autosave; allowed_encoding, thumb_status, max_n_lines, fixed_text, autosave;
char str[2 * NAME_LENGTH], str2[NAME_LENGTH], preset[2 * NAME_LENGTH], *p, *pend, star[80], char str[2 * NAME_LENGTH], str2[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, comment[10000], reply_string[256], list[MAX_N_ATTR][NAME_LENGTH], file_name[256], *buffer,
@ -9492,7 +9492,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
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],
ua[NAME_LENGTH], mid[80], title[256], login_name[256], full_name[256], cookie[256], ua[NAME_LENGTH], mid[80], title[256], login_name[256], full_name[256],
orig_author[256], attr_moptions[MAX_N_LIST][NAME_LENGTH], ref[256], file_enc[256], tooltip[10000], orig_author[256], attr_moptions[MAX_N_LIST][NAME_LENGTH], ref[256], file_enc[256], tooltip[10000],
enc_attr[NAME_LENGTH], user_email[256], cmd[256], thumb_name[256], thumb_ref[256], **user_list, fid[20], enc_attr[NAME_LENGTH], user_email[256], cmd[256], thumb_name[256], thumb_ref[256], **user_list, fid[20],
upwd[80], subdir[256], draft[256], page_title[256]; upwd[80], subdir[256], draft[256], page_title[256];
@ -9636,20 +9636,6 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
if (getcfg(lbs->name, "Default Encoding", str, sizeof(str))) if (getcfg(lbs->name, "Default Encoding", str, sizeof(str)))
enc_selected = atoi(str); enc_selected = atoi(str);
/* determine if smiley bar should be displayed */
show_smileys = 0;
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 */ /* Overwrite from current entry */
if (encoding[0]) { if (encoding[0]) {
if (encoding[0] == 'E') if (encoding[0] == 'E')
@ -9942,7 +9928,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
} else } else
sprintf(page_title, "ELOG %s", lbs->name); sprintf(page_title, "ELOG %s", lbs->name);
show_html_header(lbs, FALSE, page_title, FALSE, FALSE, cookie, FALSE, 0); show_html_header(lbs, FALSE, page_title, FALSE, FALSE, NULL, FALSE, 0);
/* 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");
@ -9959,29 +9945,6 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
rsprintf("var entry_modified = false;\n"); rsprintf("var entry_modified = false;\n");
rsprintf("var last_key = 0;\n\n"); rsprintf("var last_key = 0;\n\n");
rsprintf("function XMLHttpRequestGeneric()\n");
rsprintf("{\n");
rsprintf(" var request;\n");
rsprintf(" try {\n");
rsprintf(" request = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari\n");
rsprintf(" }\n");
rsprintf(" catch (e) {\n");
rsprintf(" try {\n");
rsprintf(" request = new ActiveXObject('Msxml2.XMLHTTP'); // Internet Explorer\n");
rsprintf(" }\n");
rsprintf(" catch (e) {\n");
rsprintf(" try {\n");
rsprintf(" request = new ActiveXObject('Microsoft.XMLHTTP');\n");
rsprintf(" }\n");
rsprintf(" catch (e) {\n");
rsprintf(" alert('Your browser does not support AJAX!');\n");
rsprintf(" return undefined;\n");
rsprintf(" }\n");
rsprintf(" }\n");
rsprintf(" }\n");
rsprintf(" return request;\n");
rsprintf("}\n\n");
rsprintf("function chkform()\n"); rsprintf("function chkform()\n");
rsprintf("{\n"); rsprintf("{\n");
@ -10288,16 +10251,18 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
rsprintf(" mod();\n"); rsprintf(" mod();\n");
rsprintf("}\n\n"); rsprintf("}\n\n");
/* switch_smileys turn on/off the smiley bar by setting the smcmd, which in turn /* switch_smileys turn on/off the smiley bar */
sets the hsm=0/hsm=1 cookie */
rsprintf("function switch_smileys()\n"); rsprintf("function switch_smileys()\n");
rsprintf("{\n"); rsprintf("{\n");
if (show_smileys) rsprintf(" s = document.getElementById('smileyRow');\n");
rsprintf(" document.form1.smcmd.value = 'hsm';\n"); rsprintf(" i = document.getElementById('smileyIcon');\n");
else rsprintf(" if (s.style.display == 'none') {\n");
rsprintf(" document.form1.smcmd.value = 'ssm';\n"); rsprintf(" s.style.display = 'table-row';\n");
rsprintf(" submitted = true;\n"); rsprintf(" i.src = 'icons/eld_smile.png';\n");
rsprintf(" document.form1.submit();\n"); rsprintf(" } else {\n");
rsprintf(" s.style.display = 'none';\n");
rsprintf(" i.src = 'icons/elc_smile.png';\n");
rsprintf(" }\n");
rsprintf("}\n\n"); rsprintf("}\n\n");
if (enc_selected != 2 && !getcfg(lbs->name, "Message height", str, sizeof(str)) && if (enc_selected != 2 && !getcfg(lbs->name, "Message height", str, sizeof(str)) &&
@ -10385,6 +10350,9 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
rsprintf("<link rel=\"stylesheet\" type=\"text/css\" href=\"../progress/progressjs.min.css\">\n"); rsprintf("<link rel=\"stylesheet\" type=\"text/css\" href=\"../progress/progressjs.min.css\">\n");
} }
/* drag-and-drip script */
rsprintf("<script type=\"text/javascript\" src=\"../dnd.js\"></script>\n\n");
/* external script if requested */ /* external script if requested */
if (isparam("js")) { if (isparam("js")) {
rsprintf("<script src=\"%s\" type=\"text/javascript\">\n", getparam("js")); rsprintf("<script src=\"%s\" type=\"text/javascript\">\n", getparam("js"));
@ -11237,13 +11205,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
rsprintf(" "); rsprintf(" ");
ricon("code", loc("Insert code CTRL+O"), "elcode(document.form1.Text, 'CODE','')"); ricon("code", loc("Insert code CTRL+O"), "elcode(document.form1.Text, 'CODE','')");
if (show_smileys) rsprintf(" <img align=\"middle\" id=\"smileyIcon\" src=\"icons/elc_smile.png\" alt=\"%s\" title=\"%s\" border=\"0\"",
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")); loc("Show the smiley bar"), loc("Show the smiley bar"));
rsprintf(" onclick=\"switch_smileys()\""); rsprintf(" onclick=\"switch_smileys()\"");
rsprintf(" onmouseover=\"this.style.cursor='pointer';\" />\n"); rsprintf(" onmouseover=\"this.style.cursor='pointer';\" />\n");
@ -11296,33 +11258,21 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
rsprintf("</td></tr>\n"); rsprintf("</td></tr>\n");
} }
if (enc_selected == 0 && show_smileys) { if (enc_selected == 0) {
rsprintf("<tr><td colspan=2 class=\"menuframe\">\n"); rsprintf("<tr id=\"smileyRow\" style=\"display:none\"><td colspan=2 class=\"toolframe\">\n");
rsicon("smile", loc("smiling"), ":)"); rsicon("smile", loc("smiling"), ":)");
rsprintf("<br />\n");
rsicon("happy", loc("happy"), ":))"); rsicon("happy", loc("happy"), ":))");
rsprintf("<br />\n");
rsicon("wink", loc("winking"), ";)"); rsicon("wink", loc("winking"), ";)");
rsprintf("<br />\n");
rsicon("biggrin", loc("big grin"), ":D"); rsicon("biggrin", loc("big grin"), ":D");
rsprintf("<br />\n");
rsicon("crying", loc("crying"), ";("); rsicon("crying", loc("crying"), ";(");
rsprintf("<br />\n");
rsicon("cool", loc("cool"), "8-)"); rsicon("cool", loc("cool"), "8-)");
rsprintf("<br />\n");
rsicon("frown", loc("frowning"), ":("); rsicon("frown", loc("frowning"), ":(");
rsprintf("<br />\n");
rsicon("confused", loc("confused"), "?-)"); rsicon("confused", loc("confused"), "?-)");
rsprintf("<br />\n");
rsicon("astonished", loc("astonished"), "8o"); rsicon("astonished", loc("astonished"), "8o");
rsprintf("<br />\n");
rsicon("mad", loc("mad"), "X-("); rsicon("mad", loc("mad"), "X-(");
rsprintf("<br />\n");
rsicon("pleased", loc("pleased"), ":]"); rsicon("pleased", loc("pleased"), ":]");
rsprintf("<br />\n");
rsicon("tongue", loc("tongue"), ":P"); rsicon("tongue", loc("tongue"), ":P");
rsprintf("<br />\n");
rsicon("yawn", loc("yawn"), ":O"); rsicon("yawn", loc("yawn"), ":O");
rsprintf("</td></tr>\n"); rsprintf("</td></tr>\n");

View File

@ -42,6 +42,10 @@
D545158F1399A23B0037D7FB /* elogd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elogd.h; path = ../src/elogd.h; sourceTree = SOURCE_ROOT; }; D545158F1399A23B0037D7FB /* elogd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elogd.h; path = ../src/elogd.h; sourceTree = SOURCE_ROOT; };
D54515901399A23B0037D7FB /* regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = regex.c; path = ../src/regex.c; sourceTree = SOURCE_ROOT; }; D54515901399A23B0037D7FB /* regex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = regex.c; path = ../src/regex.c; sourceTree = SOURCE_ROOT; };
D54515911399A23B0037D7FB /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = regex.h; path = ../src/regex.h; sourceTree = SOURCE_ROOT; }; D54515911399A23B0037D7FB /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = regex.h; path = ../src/regex.h; sourceTree = SOURCE_ROOT; };
D54863091ACA9A7B00BA8C69 /* dnd.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = dnd.js; path = ../scripts/dnd.js; sourceTree = "<group>"; };
D548630A1ACA9A9F00BA8C69 /* im.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = im.js; path = ../scripts/im.js; sourceTree = "<group>"; };
D548630B1ACA9AAB00BA8C69 /* load-ckeditor.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "load-ckeditor.js"; path = "../scripts/load-ckeditor.js"; sourceTree = "<group>"; };
D548630C1ACA9AC600BA8C69 /* elcode.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = elcode.js; path = ../scripts/elcode.js; sourceTree = "<group>"; };
D58A366615AF103300682DC0 /* elog-version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "elog-version.h"; path = "../src/elog-version.h"; sourceTree = SOURCE_ROOT; }; D58A366615AF103300682DC0 /* elog-version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "elog-version.h"; path = "../src/elog-version.h"; sourceTree = SOURCE_ROOT; };
D5AC5BF9154AC7200018DD90 /* config.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = config.html; path = ../doc/config.html; sourceTree = SOURCE_ROOT; }; D5AC5BF9154AC7200018DD90 /* config.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = config.html; path = ../doc/config.html; sourceTree = SOURCE_ROOT; };
D5F11B9113AFA164002CE8BF /* elogd.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = elogd.cfg; path = ../elogd.cfg; sourceTree = SOURCE_ROOT; }; D5F11B9113AFA164002CE8BF /* elogd.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = elogd.cfg; path = ../elogd.cfg; sourceTree = SOURCE_ROOT; };
@ -62,6 +66,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
D52BA2FD13999DB0000458E3 /* elogd */, D52BA2FD13999DB0000458E3 /* elogd */,
D54863081ACA9A5B00BA8C69 /* Scripts */,
D5F11B9013AFA146002CE8BF /* Resources */, D5F11B9013AFA146002CE8BF /* Resources */,
D52BA2FB13999DB0000458E3 /* Products */, D52BA2FB13999DB0000458E3 /* Products */,
); );
@ -93,6 +98,17 @@
path = elogd; path = elogd;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
D54863081ACA9A5B00BA8C69 /* Scripts */ = {
isa = PBXGroup;
children = (
D548630C1ACA9AC600BA8C69 /* elcode.js */,
D548630B1ACA9AAB00BA8C69 /* load-ckeditor.js */,
D548630A1ACA9A9F00BA8C69 /* im.js */,
D54863091ACA9A7B00BA8C69 /* dnd.js */,
);
name = Scripts;
sourceTree = "<group>";
};
D5F11B9013AFA146002CE8BF /* Resources */ = { D5F11B9013AFA146002CE8BF /* Resources */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (