From: julmis Date: Sat, 2 Oct 2004 09:51:14 +0000 (+0000) Subject: Fixed insertImage routine for gecko based browser X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=a21daa9803010a647312a00e0a1585127f38a2ea;p=moodle.git Fixed insertImage routine for gecko based browser - use createElement instead of insertimage - Added title automatically from alt value --- diff --git a/lib/editor/htmlarea.php b/lib/editor/htmlarea.php index 0c4396884b..ebee517630 100644 --- a/lib/editor/htmlarea.php +++ b/lib/editor/htmlarea.php @@ -1454,25 +1454,34 @@ HTMLArea.prototype._insertImage = function(image) { } var img = image; if (!img) { - var sel = editor._getSelection(); - var range = editor._createRange(sel); - editor._doc.execCommand("insertimage", false, param.f_url); - if (HTMLArea.is_ie) { - img = range.parentElement(); - // wonder if this works... - if (img.tagName.toLowerCase() != "img") { - img = img.previousSibling; + var sel = editor._getSelection(); + var range = editor._createRange(sel); + if (HTMLArea.is_ie) { + editor._doc.execCommand("insertimage", false, param.f_url); + } + if (HTMLArea.is_ie) { + img = range.parentElement(); + // wonder if this works... + if (img.tagName.toLowerCase() != "img") { + img = img.previousSibling; + } + } else { + // MOODLE HACK: startContainer.perviousSibling + // Doesn't work so we'll use createElement and + // insertNodeAtSelection + //img = range.startContainer.previousSibling; + var img = editor._doc.createElement("img"); + img.setAttribute("src",""+ param.f_url +""); + img.setAttribute("alt",""+ param.f_alt +""); + editor.insertNodeAtSelection(img); } - } else { - img = range.startContainer.previousSibling; - } } else { img.src = param.f_url; } for (field in param) { var value = param[field]; switch (field) { - case "f_alt" : img.alt = value; break; + case "f_alt" : img.alt = value; img.title = value; break; case "f_border" : img.border = parseInt(value || "0"); break; case "f_align" : img.align = value; break; case "f_vert" : img.vspace = parseInt(value || "0"); break;