87 lines
3.4 KiB
JavaScript
87 lines
3.4 KiB
JavaScript
<%smilies%>
|
|
canAttach = <%if can_attach%>true<%else%>false<%endif%>;
|
|
advancedEditor.prototype.canAttach = function () {
|
|
return canAttach;
|
|
}
|
|
|
|
advancedEditor.prototype.addTag = function (smilie) {
|
|
var smilies = {
|
|
<%~loop smilies_loop%>
|
|
'<%escape_js tag%>' : '<%escape_js url%>'<%unless last%>,<%endunless%>
|
|
<%~endloop%>
|
|
};
|
|
var selection = new advancedEditorSelection(isIE ? this.objects.editableFrameDoc : this.objects.editableFrame.contentWindow);
|
|
var img = this.objects.editableFrameDoc.createElement('img');
|
|
img.src = smilies[smilie];
|
|
selection.replaceSelection(img);
|
|
}
|
|
|
|
advancedEditor.prototype.insertQuote = function () {
|
|
var selection = new advancedEditorSelection(isIE ? this.objects.editableFrameDoc : this.objects.editableFrame.contentWindow);
|
|
var sel = selection.getSelectionHTML();
|
|
var node = this.objects.editableFrameDoc.createElement('div');
|
|
node.innerHTML = '[quote]' + (sel ? sel : '') + '[/quote]';
|
|
selection.replaceSelection(node);
|
|
}
|
|
|
|
advancedEditor.prototype.insertReply = function () {
|
|
var selection = new advancedEditorSelection(isIE ? this.objects.editableFrameDoc : this.objects.editableFrame.contentWindow);
|
|
var sel = selection.getSelectionHTML();
|
|
var node = this.objects.editableFrameDoc.createElement('div');
|
|
node.innerHTML = '[reply]' + (sel ? sel : '') + '[/reply]';
|
|
selection.replaceSelection(node);
|
|
}
|
|
|
|
advancedEditor.prototype.insertCode = function () {
|
|
var selection = new advancedEditorSelection(isIE ? this.objects.editableFrameDoc : this.objects.editableFrame.contentWindow);
|
|
var sel = selection.getSelectionHTML();
|
|
var node = this.objects.editableFrameDoc.createElement('div');
|
|
node.innerHTML = '[code]' + (sel ? sel : '') + '[/code]';
|
|
selection.replaceSelection(node);
|
|
}
|
|
|
|
function getInlineAttachments () {
|
|
return inlineAttachments;
|
|
}
|
|
function updateInline (filename, type, id, add) {
|
|
for (var i = 0; i < inlineAttachments.length; i++) {
|
|
if (inlineAttachments[i][0] == filename && inlineAttachments[i][1] == type && inlineAttachments[i][2] == id) {
|
|
if (!add) inlineAttachments.splice(i--, 1);
|
|
return;
|
|
}
|
|
}
|
|
if (add) inlineAttachments.push([filename, type, id]);
|
|
}
|
|
|
|
function refreshAttachmentList() {
|
|
/* Mozilla gives XMLHttpRequest errors if the XMLHttpRequest object is
|
|
* created in a parent window function called from a child window; this
|
|
* (instant) setTimeout works around the problem. */
|
|
setTimeout(_refreshAttachmentList, 0);
|
|
}
|
|
function _refreshAttachmentList() {
|
|
var url = '<%cgi_root_url%>/<%config.gforum_cgi%>?do=<%if this_do starts "post_"%>post<%else%>message<%endif%>_attachment_list;to_redo=<%this_do%>;temp_id=<%temp_id%>';
|
|
<%~if this_do starts 'post_'%>
|
|
url = url + ';forum=<%forum_id%>';
|
|
<%~if this_do eq 'post_reply_write'%>
|
|
url = url + ';parent_post_id=<%parent_post_id%>';
|
|
<%~elsif this_do eq 'post_edit'%>
|
|
url = url + ';post=<%post_id%>';
|
|
<%~endif%>
|
|
<%~endif%>
|
|
|
|
var inputs = document.getElementsByTagName('input');
|
|
for (var i = 0; i < inputs.length; i++) {
|
|
var input = inputs[i];
|
|
if (!(input.type == 'checkbox' && input.name.match(/^att_inline-(\d+)-(\w+)$/))) continue;
|
|
url = url + ';' + RegExp.$2 + '_' + (input.checked ? '' : 'de') + 'inline=' + RegExp.$1;
|
|
}
|
|
url = url + '<%hidden_url%>';
|
|
|
|
xmlReqSend(url, 'GET', '', _updateAttachList);
|
|
}
|
|
|
|
function _updateAttachList(req) {
|
|
document.getElementById('attachment_list').innerHTML = req.responseText;
|
|
}
|