123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860 |
- /*
- [Discuz!] (C)2001-2099 Comsenz Inc.
- This is NOT a freeware, use is subject to license terms
- $Id: forum_post.js 33695 2013-08-03 04:39:22Z nemohou $
- */
- var forum_post_inited = true;
- var postSubmited = false;
- var AID = {0:1,1:1};
- var UPLOADSTATUS = -1;
- var UPLOADFAILED = UPLOADCOMPLETE = AUTOPOST = 0;
- var CURRENTATTACH = '0';
- var FAILEDATTACHS = '';
- var UPLOADWINRECALL = null;
- var imgexts = typeof imgexts == 'undefined' ? 'jpg, jpeg, gif, png, bmp' : imgexts;
- var ATTACHORIMAGE = '0';
- var STATUSMSG = {
- '-1' : '内部服务器错误',
- '0' : '上传成功',
- '1' : '不支持此类扩展名',
- '2' : '服务器限制无法上传那么大的附件',
- '3' : '用户组限制无法上传那么大的附件',
- '4' : '不支持此类扩展名',
- '5' : '文件类型限制无法上传那么大的附件',
- '6' : '今日您已无法上传更多的附件',
- '7' : '请选择图片文件(' + imgexts + ')',
- '8' : '附件文件无法保存',
- '9' : '没有合法的文件被上传',
- '10' : '非法操作',
- '11' : '今日您已无法上传那么大的附件'
- };
- EXTRAFUNC['validator'] = [];
- function checkFocus() {
- var obj = wysiwyg ? editwin : textobj;
- if(!obj.hasfocus) {
- obj.focus();
- }
- }
- function ctlent(event) {
- if(postSubmited == false && (event.ctrlKey && event.keyCode == 13) || (event.altKey && event.keyCode == 83) && $('postsubmit')) {
- if(in_array($('postsubmit').name, ['topicsubmit', 'replysubmit', 'editsubmit']) && !validate($('postform'))) {
- doane(event);
- return;
- }
- postSubmited = true;
- $('postsubmit').disabled = true;
- $('postform').submit();
- }
- if(event.keyCode == 9) {
- doane(event);
- }
- }
- function checklength(theform) {
- var message = wysiwyg ? html2bbcode(getEditorContents()) : theform.message.value;
- if(!theform.parseurloff.checked) {
- message = parseurl(message);
- }
- showDialog('当前长度: ' + mb_strlen(message) + ' 字节,' + (postmaxchars != 0 ? '系统限制: ' + postminchars + ' 到 ' + postmaxchars + ' 字节。' : ''), 'notice', '字数检查');
- }
- if(!tradepost) {
- var tradepost = 0;
- }
- function validate(theform) {
- var message = wysiwyg ? html2bbcode(getEditorContents()) : theform.message.value;
- if(!theform.parseurloff.checked) {
- message = parseurl(message);
- }
- if(($('postsubmit').name != 'replysubmit' && !($('postsubmit').name == 'editsubmit' && !isfirstpost) && theform.subject.value == "") || !sortid && !special && trim(message) == "") {
- showError('抱歉,您尚未输入标题或内容');
- return false;
- } else if(mb_strlen(theform.subject.value) > 80) {
- showError('您的标题超过 80 个字符的限制');
- return false;
- }
- if(in_array($('postsubmit').name, ['topicsubmit', 'editsubmit'])) {
- if(theform.typeid && (theform.typeid.options && theform.typeid.options[theform.typeid.selectedIndex].value == 0) && typerequired) {
- showError('请选择主题对应的分类');
- return false;
- }
- if(theform.sortid && (theform.sortid.options && theform.sortid.options[theform.sortid.selectedIndex].value == 0) && sortrequired) {
- showError('请选择主题对应的分类信息');
- return false;
- }
- }
- for(i in EXTRAFUNC['validator']) {
- try {
- eval('var v = ' + EXTRAFUNC['validator'][i] + '()');
- if(!v) {
- return false;
- }
- } catch(e) {}
- }
- if(!disablepostctrl && !sortid && !special && ((postminchars != 0 && mb_strlen(message) < postminchars) || (postmaxchars != 0 && mb_strlen(message) > postmaxchars))) {
- showError('您的帖子长度不符合要求。\n\n当前长度: ' + mb_strlen(message) + ' 字节\n系统限制: ' + postminchars + ' 到 ' + postmaxchars + ' 字节');
- return false;
- }
- if(UPLOADSTATUS == 0) {
- if(!confirm('您有等待上传的附件,确认不上传这些附件吗?')) {
- return false;
- }
- } else if(UPLOADSTATUS == 1) {
- showDialog('您有正在上传的附件,请稍候,上传完成后帖子将会自动发表...', 'notice');
- AUTOPOST = 1;
- return false;
- }
- if(isfirstpost && $('adddynamic') != null && $('adddynamic').checked && $('postsave') != null && isNaN(parseInt($('postsave').value)) && ($('readperm') != null && $('readperm').value || $('price') != null && $('price').value)) {
- if(confirm('由于您设置了阅读权限或出售帖,您确认还转播给您的听众看吗?') == false) {
- return false;
- }
- }
- theform.message.value = message;
- if($('postsubmit').name == 'editsubmit') {
- checkpostrule_post(theform);
- return false;
- } else if(in_array($('postsubmit').name, ['topicsubmit', 'replysubmit'])) {
- if(seccodecheck || secqaacheck) {
- var chk = 1, chkv = '';
- if(secqaacheck) {
- chkv = $('checksecqaaverify_' + theform.secqaahash.value).innerHTML;
- if(chkv.indexOf('loading') != -1) {
- setTimeout(function () { validate(theform); }, 100);
- chk = 0;
- } else if(chkv.indexOf('check_right') == -1) {
- showError('验证问答错误,请重新填写');
- chk = 0;
- }
- }
- if(seccodecheck) {
- chkv = $('checkseccodeverify_' + theform.seccodehash.value).innerHTML;
- if(chkv.indexOf('loading') !== -1) {
- setTimeout(function () { validate(theform); }, 100);
- chk = 0;
- } else if(chkv.indexOf('check_right') === -1) {
- showError('验证码错误,请重新填写');
- chk = 0;
- }
- }
- if(chk) {
- checkpostrule_post(theform);
- }
- } else {
- checkpostrule_post(theform);
- }
- return false;
- }
- }
- function checkpostrule_post(theform) {
- if(!seccodecheck && !secqaacheck && !theform.sechash) {
- var x = new Ajax();
- x.get('forum.php?mod=ajax&action=checkpostrule&ac=' + postaction + '&inajax=yes', function(s) {
- if(s) {
- ajaxinnerhtml($('seccheck'), s);
- evalscript(s);
- seccodecheck = true;
- } else {
- postsubmit(theform);
- }
- });
- } else {
- postsubmit(theform);
- }
- }
- function postsubmit(theform) {
- if($(editorid + '_attachlist')) {
- $('postbox').appendChild($(editorid + '_attachlist'));
- $(editorid + '_attachlist').style.display = 'none';
- }
- if($(editorid + '_imgattachlist')) {
- $('postbox').appendChild($(editorid + '_imgattachlist'));
- $(editorid + '_imgattachlist').style.display = 'none';
- }
- hideMenu();
- theform.replysubmit ? theform.replysubmit.disabled = true : (theform.editsubmit ? theform.editsubmit.disabled = true : theform.topicsubmit.disabled = true);
- theform.submit();
- }
- function relatekw(subject, message) {
- if(isUndefined(subject) || subject == -1) {
- subject = $('subject').value;
- subject = subject.replace(/<\/?[^>]+>|\[\/?.+?\]|"/ig, "");
- subject = subject.replace(/\s{2,}/ig, ' ');
- }
- if(isUndefined(message) || message == -1) {
- message = getEditorContents();
- message = message.replace(/<\/?[^>]+>|\[\/?.+?\]|"/ig, "");
- message = message.replace(/\s{2,}/ig, ' ');
- }
- subject = (BROWSER.ie && document.charset == 'utf-8' ? encodeURIComponent(subject) : subject);
- message = (BROWSER.ie && document.charset == 'utf-8' ? encodeURIComponent(message) : message);
- message = message.replace(/&/ig, '', message).substr(0, 500);
- ajaxget('forum.php?mod=relatekw&subjectenc=' + subject + '&messageenc=' + message, 'tagselect');
- }
- function switchicon(iconid, obj) {
- $('iconid').value = iconid;
- $('icon_img').src = obj.src;
- hideMenu();
- }
- function clearContent() {
- if(wysiwyg) {
- editdoc.body.innerHTML = BROWSER.firefox ? '<br />' : '';
- } else {
- textobj.value = '';
- }
- }
- function uploadNextAttach() {
- var str = $('attachframe').contentWindow.document.body.innerHTML;
- if(str == '') return;
- var arr = str.split('|');
- var att = CURRENTATTACH.split('|');
- var sizelimit = '';
- if(arr[4] == 'ban') {
- sizelimit = '(附件类型被禁止)';
- } else if(arr[4] == 'perday') {
- sizelimit = '(不能超过 ' + arr[5] + ' 字节)';
- } else if(arr[4] > 0) {
- sizelimit = '(不能超过 ' + arr[4] + ' 字节)';
- }
- uploadAttach(parseInt(att[0]), arr[0] == 'DISCUZUPLOAD' ? parseInt(arr[1]) : -1, att[1], sizelimit);
- }
- function uploadAttach(curId, statusid, prefix, sizelimit) {
- prefix = isUndefined(prefix) ? '' : prefix;
- var nextId = 0;
- for(var i = 0; i < AID[prefix ? 1 : 0] - 1; i++) {
- if($(prefix + 'attachform_' + i)) {
- nextId = i;
- if(curId == 0) {
- break;
- } else {
- if(i > curId) {
- break;
- }
- }
- }
- }
- if(nextId == 0) {
- return;
- }
- CURRENTATTACH = nextId + '|' + prefix;
- if(curId > 0) {
- if(statusid == 0) {
- UPLOADCOMPLETE++;
- } else {
- FAILEDATTACHS += '<br />' + mb_cutstr($(prefix + 'attachnew_' + curId).value.substr($(prefix + 'attachnew_' + curId).value.replace(/\\/g, '/').lastIndexOf('/') + 1), 25) + ': ' + STATUSMSG[statusid] + sizelimit;
- UPLOADFAILED++;
- }
- $(prefix + 'cpdel_' + curId).innerHTML = '<img src="' + IMGDIR + '/check_' + (statusid == 0 ? 'right' : 'error') + '.gif" alt="' + STATUSMSG[statusid] + '" />';
- if(nextId == curId || in_array(statusid, [6, 8])) {
- if(prefix == 'img') {
- updateImageList();
- } else {
- updateAttachList();
- }
- if(UPLOADFAILED > 0) {
- showDialog('附件上传完成!成功 ' + UPLOADCOMPLETE + ' 个,失败 ' + UPLOADFAILED + ' 个:' + FAILEDATTACHS);
- FAILEDATTACHS = '';
- }
- UPLOADSTATUS = 2;
- for(var i = 0; i < AID[prefix ? 1 : 0] - 1; i++) {
- if($(prefix + 'attachform_' + i)) {
- reAddAttach(prefix, i)
- }
- }
- $(prefix + 'uploadbtn').style.display = '';
- $(prefix + 'uploading').style.display = 'none';
- if(AUTOPOST) {
- hideMenu();
- validate($('postform'));
- } else if(UPLOADFAILED == 0 && (prefix == 'img' || prefix == '')) {
- showDialog('附件上传完成!', 'right', null, null, 0, null, null, null, null, 3);
- }
- UPLOADFAILED = UPLOADCOMPLETE = 0;
- CURRENTATTACH = '0';
- FAILEDATTACHS = '';
- return;
- }
- } else {
- $(prefix + 'uploadbtn').style.display = 'none';
- $(prefix + 'uploading').style.display = '';
- }
- $(prefix + 'cpdel_' + nextId).innerHTML = '<img src="' + IMGDIR + '/loading.gif" alt="上传中..." />';
- UPLOADSTATUS = 1;
- $(prefix + 'attachform_' + nextId).submit();
- }
- function addAttach(prefix) {
- var id = AID[prefix ? 1 : 0];
- var tags, newnode, i;
- prefix = isUndefined(prefix) ? '' : prefix;
- newnode = $(prefix + 'attachbtnhidden').firstChild.cloneNode(true);
- tags = newnode.getElementsByTagName('input');
- for(i = 0;i < tags.length;i++) {
- if(tags[i].name == 'Filedata') {
- tags[i].id = prefix + 'attachnew_' + id;
- tags[i].onchange = function() {insertAttach(prefix, id);};
- tags[i].unselectable = 'on';
- } else if(tags[i].name == 'attachid') {
- tags[i].value = id;
- }
- }
- tags = newnode.getElementsByTagName('form');
- tags[0].name = tags[0].id = prefix + 'attachform_' + id;
- $(prefix + 'attachbtn').appendChild(newnode);
- newnode = $(prefix + 'attachbodyhidden').firstChild.cloneNode(true);
- tags = newnode.getElementsByTagName('input');
- for(i = 0;i < tags.length;i++) {
- if(tags[i].name == prefix + 'localid[]') {
- tags[i].value = id;
- }
- }
- tags = newnode.getElementsByTagName('span');
- for(i = 0;i < tags.length;i++) {
- if(tags[i].id == prefix + 'localfile[]') {
- tags[i].id = prefix + 'localfile_' + id;
- } else if(tags[i].id == prefix + 'cpdel[]') {
- tags[i].id = prefix + 'cpdel_' + id;
- } else if(tags[i].id == prefix + 'localno[]') {
- tags[i].id = prefix + 'localno_' + id;
- } else if(tags[i].id == prefix + 'deschidden[]') {
- tags[i].id = prefix + 'deschidden_' + id;
- }
- }
- AID[prefix ? 1 : 0]++;
- newnode.style.display = 'none';
- $(prefix + 'attachbody').appendChild(newnode);
- }
- function insertAttach(prefix, id) {
- var path = $(prefix + 'attachnew_' + id).value;
- var extpos = path.lastIndexOf('.');
- var ext = extpos == -1 ? '' : path.substr(extpos + 1, path.length).toLowerCase();
- var re = new RegExp("(^|\\s|,)" + ext + "($|\\s|,)", "ig");
- var localfile = $(prefix + 'attachnew_' + id).value.substr($(prefix + 'attachnew_' + id).value.replace(/\\/g, '/').lastIndexOf('/') + 1);
- var filename = mb_cutstr(localfile, 30);
- if(path == '') {
- return;
- }
- if(extensions != '' && (re.exec(extensions) == null || ext == '')) {
- reAddAttach(prefix, id);
- showError('对不起,不支持上传此类扩展名的附件。');
- return;
- }
- if(prefix == 'img' && imgexts.indexOf(ext) == -1) {
- reAddAttach(prefix, id);
- showError('请选择图片文件(' + imgexts + ')');
- return;
- }
- $(prefix + 'cpdel_' + id).innerHTML = '<a href="javascript:;" class="d" onclick="reAddAttach(\'' + prefix + '\', ' + id + ')">删除</a>';
- $(prefix + 'localfile_' + id).innerHTML = '<span>' + filename + '</span>';
- $(prefix + 'attachnew_' + id).style.display = 'none';
- $(prefix + 'deschidden_' + id).style.display = '';
- $(prefix + 'deschidden_' + id).title = localfile;
- $(prefix + 'localno_' + id).parentNode.parentNode.style.display = '';
- addAttach(prefix);
- UPLOADSTATUS = 0;
- }
- function reAddAttach(prefix, id) {
- $(prefix + 'attachbody').removeChild($(prefix + 'localno_' + id).parentNode.parentNode);
- $(prefix + 'attachbtn').removeChild($(prefix + 'attachnew_' + id).parentNode.parentNode);
- $(prefix + 'attachbody').innerHTML == '' && addAttach(prefix);
- $('localimgpreview_' + id) ? document.body.removeChild($('localimgpreview_' + id)) : null;
- }
- function delAttach(id, type) {
- var ids = {};
- if(typeof id == 'number') {
- ids[id] = id;
- } else {
- ids = id;
- }
- for(id in ids) {
- if($('attach_' + id)) {
- $('attach_' + id).style.display = 'none';
- ATTACHNUM['attach' + (type ? 'un' : '') + 'used']--;
- updateattachnum('attach');
- }
- }
- appendAttachDel(ids);
- }
- function delImgAttach(id, type) {
- var ids = {};
- if(typeof id == 'number') {
- ids[id] = id;
- } else {
- ids = id;
- }
- for(id in ids) {
- if($('image_td_' + id)) {
- $('image_td_' + id).className = 'imgdeleted';
- $('image_' + id).onclick = null;
- $('image_desc_' + id).disabled = true;
- ATTACHNUM['image' + (type ? 'un' : '') + 'used']--;
- updateattachnum('image');
- }
- }
- appendAttachDel(ids);
- }
- function appendAttachDel(ids) {
- if(!ids) {
- return;
- }
- var aids = '';
- for(id in ids) {
- aids += '&aids[]=' + id;
- }
- var x = new Ajax();
- x.get('forum.php?mod=ajax&action=deleteattach&inajax=yes&tid=' + (typeof tid == 'undefined' ? 0 : tid) + '&pid=' + (typeof pid == 'undefined' ? 0 : pid) + aids + ($('modthreadkey') ? '&modthreadkey=' + $('modthreadkey').value : ''), function() {});
- if($('delattachop')) {
- $('delattachop').value = 1;
- }
- }
- function updateAttach(aid) {
- objupdate = $('attachupdate'+aid);
- obj = $('attach' + aid);
- if(!objupdate.innerHTML) {
- obj.style.display = 'none';
- objupdate.innerHTML = '<input type="file" name="attachupdate[paid' + aid + ']"><a href="javascript:;" onclick="updateAttach(' + aid + ')">取消</a>';
- } else {
- obj.style.display = '';
- objupdate.innerHTML = '';
- }
- }
- function updateattachnum(type) {
- ATTACHNUM[type + 'used'] = ATTACHNUM[type + 'used'] >= 0 ? ATTACHNUM[type + 'used'] : 0;
- ATTACHNUM[type + 'unused'] = ATTACHNUM[type + 'unused'] >= 0 ? ATTACHNUM[type + 'unused'] : 0;
- var num = ATTACHNUM[type + 'used'] + ATTACHNUM[type + 'unused'];
- if(num) {
- if($(editorid + '_' + type)) {
- $(editorid + '_' + type).title = '包含 ' + num + (type == 'image' ? ' 个图片附件' : ' 个附件');
- }
- if($(editorid + '_' + type + 'n')) {
- $(editorid + '_' + type + 'n').style.display = '';
- }
- ATTACHORIMAGE = 1;
- } else {
- if($(editorid + '_' + type)) {
- $(editorid + '_' + type).title = type == 'image' ? '图片' : '附件';
- }
- if($(editorid + '_' + type + 'n')) {
- $(editorid + '_' + type + 'n').style.display = 'none';
- }
- }
- }
- function swfHandler(action, type) {
- if(action == 2) {
- if(type == 'image') {
- updateImageList();
- } else {
- updateAttachList();
- }
- }
- }
- function updateAttachList(action, aids) {
- ajaxget('forum.php?mod=ajax&action=attachlist' + (!action ? '&posttime=' + $('posttime').value : (!aids ? '' : '&aids=' + aids)) + (!fid ? '' : '&fid=' + fid), 'attachlist');
- switchAttachbutton('attachlist');$('attach_tblheader').style.display = $('attach_notice').style.display = '';
- }
- function updateImageList(action, aids) {
- ajaxget('forum.php?mod=ajax&action=imagelist' + (!action ? '&pid=' + pid + '&posttime=' + $('posttime').value : (!aids ? '' : '&aids=' + aids)) + (!fid ? '' : '&fid=' + fid), 'imgattachlist');
- switchImagebutton('imgattachlist');$('imgattach_notice').style.display = '';
- }
- function updateDownImageList(msg) {
- hideMenu('fwin_dialog', 'dialog');
- if(msg == '') {
- showError('抱歉,暂无远程附件');
- } else {
- ajaxget('forum.php?mod=ajax&action=imagelist&pid=' + pid + '&posttime=' + $('posttime').value + (!fid ? '' : '&fid=' + fid), 'imgattachlist', null, null, null, function(){if(wysiwyg) {editdoc.body.innerHTML = msg;switchEditor(0);switchEditor(1)} else {textobj.value = msg;}});
- switchImagebutton('imgattachlist');$('imgattach_notice').style.display = '';
- showDialog('远程附件下载完成!', 'right', null, null, 0, null, null, null, null, 3);
- }
- }
- function switchButton(btn, type) {
- var btnpre = editorid + '_btn_';
- if(!$(btnpre + btn) || !$(editorid + '_' + btn)) {
- return;
- }
- var tabs = $(editorid + '_' + type + '_ctrl').getElementsByTagName('LI');
- $(btnpre + btn).style.display = '';
- $(editorid + '_' + btn).style.display = '';
- $(btnpre + btn).className = 'current';
- var btni = '';
- for(i = 0;i < tabs.length;i++) {
- if(tabs[i].id.indexOf(btnpre) !== -1) {
- btni = tabs[i].id.substr(btnpre.length);
- }
- if(btni != btn) {
- if(!$(editorid + '_' + btni) || !$(editorid + '_btn_' + btni)) {
- continue;
- }
- $(editorid + '_' + btni).style.display = 'none';
- $(editorid + '_btn_' + btni).className = '';
- }
- }
- }
- function uploadWindowstart() {
- $('uploadwindowing').style.visibility = 'visible';
- }
- function uploadWindowload() {
- $('uploadwindowing').style.visibility = 'hidden';
- var str = $('uploadattachframe').contentWindow.document.body.innerHTML;
- if(str == '') return;
- var arr = str.split('|');
- if(arr[0] == 'DISCUZUPLOAD' && arr[2] == 0) {
- UPLOADWINRECALL(arr[3], arr[5], arr[6]);
- hideWindow('upload', 0);
- } else {
- var sizelimit = '';
- if(arr[7] == 'ban') {
- sizelimit = '(附件类型被禁止)';
- } else if(arr[7] == 'perday') {
- sizelimit = '(不能超过 ' + arr[8] + ' 字节)';
- } else if(arr[7] > 0) {
- sizelimit = '(不能超过 ' + arr[7] + ' 字节)';
- }
- showError(STATUSMSG[arr[2]] + sizelimit);
- }
- if($('attachlimitnotice')) {
- ajaxget('forum.php?mod=ajax&action=updateattachlimit&fid=' + fid, 'attachlimitnotice');
- }
- }
- function uploadWindow(recall, type) {
- var type = isUndefined(type) ? 'image' : type;
- UPLOADWINRECALL = recall;
- var fid = (typeof fid == 'undefined' ? '2' : fid);
- showWindow('upload', 'forum.php?mod=misc&action=upload&fid=' + fid + '&type=' + type, 'get', 0, {'zindex':601});
- }
- function updatetradeattach(aid, url, attachurl) {
- $('tradeaid').value = aid;
- $('tradeattach_image').innerHTML = '<img src="' + attachurl + '/' + url + '" class="spimg" />';
- ATTACHORIMAGE = 1;
- }
- function updateactivityattach(aid, url, attachurl) {
- $('activityaid').value = aid;
- $('activityattach_image').innerHTML = '<img src="' + attachurl + '/' + url + '" class="spimg" />';
- ATTACHORIMAGE = 1;
- }
- function updatesortattach(aid, url, attachurl, identifier) {
- $('sortaid_' + identifier).value = aid;
- $('sortattachurl_' + identifier).value = attachurl + '/' + url;
- $('sortattach_image_' + identifier).innerHTML = '<img src="' + attachurl + '/' + url + '" class="spimg" />';
- ATTACHORIMAGE = 1;
- }
- function switchpollm(swt) {
- t = $('pollchecked').checked && swt ? 2 : 1;
- var v = '';
- for(var i = 0; i < $('postform').elements.length; i++) {
- var e = $('postform').elements[i];
- if(!isUndefined(e.name)) {
- if(e.name.match('^polloption')) {
- if(t == 2 && e.tagName == 'INPUT') {
- v += e.value + '\n';
- } else if(t == 1 && e.tagName == 'TEXTAREA') {
- v += e.value;
- }
- }
- }
- }
- if(t == 1) {
- var a = v.split('\n');
- var pcount = 0;
- for(var i = 0; i < $('postform').elements.length; i++) {
- var e = $('postform').elements[i];
- if(!isUndefined(e.name)) {
- if(e.name.match('^polloption')) {
- pcount++;
- if(e.tagName == 'INPUT') e.value = '';
- }
- }
- }
- for(var i = 0; i < a.length - pcount + 2; i++) {
- addpolloption();
- }
- var ii = 0;
- for(var i = 0; i < $('postform').elements.length; i++) {
- var e = $('postform').elements[i];
- if(!isUndefined(e.name)) {
- if(e.name.match('^polloption') && e.tagName == 'INPUT' && a[ii]) {
- e.value = a[ii++];
- }
- }
- }
- } else if(t == 2) {
- $('postform').polloptions.value = trim(v);
- }
- $('postform').tpolloption.value = t;
- if(swt) {
- display('pollm_c_1');
- display('pollm_c_2');
- }
- }
- function addpolloption() {
- if(curoptions < maxoptions) {
- var imgid = 'newpoll_'+curnumber;
- var proid = 'pollUploadProgress_'+curnumber;
- var pollstr = $('polloption_hidden').innerHTML.replace('newpoll', imgid);
- pollstr = pollstr.replace('pollUploadProgress', proid);
- $('polloption_new').outerHTML = '<p>' + pollstr + '</p>' + $('polloption_new').outerHTML;
- curoptions++;
- curnumber++;
- addUploadEvent(imgid, proid)
- } else {
- $('polloption_new').outerHTML = '<span>已达到最大投票数'+maxoptions+'</span>';
- }
- }
- function delpolloption(obj) {
- obj.parentNode.parentNode.removeChild(obj.parentNode);
- curoptions--;
- }
- function insertsave(pid) {
- var x = new Ajax();
- x.get('forum.php?mod=misc&action=loadsave&inajax=yes&pid=' + pid + '&type=' + wysiwyg, function(str, x) {
- insertText(str, str.length, 0);
- });
- }
- function userdataoption(op) {
- if(!op) {
- saveUserdata('forum_'+discuz_uid, '');
- display('rstnotice');
- } else {
- loadData();
- checkFocus();
- }
- doane();
- }
- function attachoption(type, op) {
- if(!op) {
- if(type == 'attach') {
- delAttach(ATTACHUNUSEDAID, 1);
- ATTACHNUM['attachunused'] = 0;
- display('attachnotice_attach');
- } else {
- delImgAttach(IMGUNUSEDAID, 1);
- ATTACHNUM['imageunused'] = 0;
- display('attachnotice_img');
- }
- } else if(op == 1) {
- var obj = $('unusedwin') ? $('unusedwin') : $('unusedlist_' + type);
- list = obj.getElementsByTagName('INPUT'), aids = '';
- for(i = 0;i < list.length;i++) {
- if(list[i].name.match('unused') && list[i].checked) {
- aids += '|' + list[i].value;
- }
- }
- if(aids) {
- if(type == 'attach') {
- updateAttachList(1, aids);
- } else {
- list = $('imgattachlist').getElementsByTagName('TD');
- re = /^image\_td\_(\d+)$/;
- for(i = 0;i < list.length;i++) {
- var matches = re.exec(list[i].id);
- if(matches != null) {
- aids += '|' + matches[1];
- }
- }
- updateImageList(1, aids);
- }
- }
- display('attachnotice_' + type);
- } else if(op == 2) {
- showDialog('<div id="unusedwin" class="c altw" style="overflow:auto;height:100px;">' + $('unusedlist_' + type).innerHTML + '</div>' +
- '<p class="o pns"><span class="z xg1"><label for="unusedwinchkall"><input id="unusedwinchkall" type="checkbox" onclick="attachoption(\'' + type + '\', 3)" checked="checked" />全选</label></span>' +
- '<button onclick="attachoption(\'' + type + '\', 1);hideMenu(\'fwin_dialog\', \'dialog\')" class="pn pnc"><strong>使用</strong></button></p>', 'info', '未使用的' + (type == 'attach' ? '附件' : '图片'));
- } else if(op == 3) {
- list = $('unusedwin').getElementsByTagName('INPUT');
- for(i = 0;i < list.length;i++) {
- if(list[i].name.match('unused')) {
- list[i].checked = $('unusedwinchkall').checked;
- }
- }
- return;
- }
- doane();
- }
- function insertAttachTag(aid) {
- var txt = '[attach]' + aid + '[/attach]';
- seditor_insertunit('fastpost', txt);
- }
- function insertAttachimgTag(aid) {
- var txt = '[attachimg]' + aid + '[/attachimg]';
- seditor_insertunit('fastpost', txt);
- }
- function insertText(str) {
- seditor_insertunit('fastpost', str);
- }
- function insertAllAttachTag() {
- var attachListObj = $('e_attachlist').getElementsByTagName("tbody");
- for(var i in attachListObj) {
- if(typeof attachListObj[i] == "object") {
- var attach = attachListObj[i];
- var ids = attach.id.split('_');
- if(ids[0] == 'attach') {
- if($('attachname'+ids[1]) && attach.style.display != 'none') {
- if(parseInt($('attachname'+ids[1]).getAttribute('isimage'))) {
- insertAttachimgTag(ids[1]);
- } else {
- insertAttachTag(ids[1]);
- }
- var txt = wysiwyg ? '\r\n<br/><br/>\r\n' : '\r\n\r\n';
- insertText(txt, strlen(txt), 0);
- }
- }
- }
- }
- doane();
- }
- function selectAllSaveImg(state) {
- var inputListObj = $('imgattachlist').getElementsByTagName("input");
- for(i in inputListObj) {
- if(typeof inputListObj[i] == "object" && inputListObj[i].id) {
- var inputObj = inputListObj[i];
- var ids = inputObj.id.split('_');
- if(ids[0] == 'albumaidchk' && $('image_td_' + ids[1]).className != 'imgdeleted' && inputObj.checked != state) {
- inputObj.click();
- }
- }
- }
- }
- function showExtra(id) {
- if ($(id+'_c').style.display == 'block') {
- $(id+'_b').className = 'pn z';
- $(id+'_c').style.display = 'none';
- } else {
- var extraButton = $('post_extra_tb').getElementsByTagName('label');
- var extraForm = $('post_extra_c').getElementsByTagName('div');
- for (i=0;i<extraButton.length;i++) {
- extraButton[i].className = '';
- }
- for (i=0;i<extraForm.length;i++) {
- if(hasClass(extraForm[i],'exfm')) {
- extraForm[i].style.display = 'none';
- }
- }
- for (i=0;i<extraForm.length;i++) {
- if(hasClass(extraForm[i],'exfm')) {
- extraForm[i].style.display = 'none';
- }
- }
- $(id+'_b').className = 'a';
- $(id+'_c').style.display = 'block';
- }
- }
- function extraCheck(op) {
- if(!op && $('extra_replycredit_chk')) {
- $('extra_replycredit_chk').className = $('replycredit_extcredits').value > 0 && $('replycredit_times').value > 0 ? 'a' : '';
- } else if(op == 1 && $('readperm')) {
- $('extra_readperm_chk').className = $('readperm').value !== '' ? 'a' : '';
- } else if(op == 2 && $('price')) {
- $('extra_price_chk').className = $('price').value > 0 ? 'a' : '';
- } else if(op == 3 && $('rushreply')) {
- $('extra_rushreplyset_chk').className = $('rushreply').checked ? 'a' : '';
- } else if(op == 4 && $('tags')) {
- $('extra_tag_chk').className = $('tags').value !== '' ? 'a' : '';
- } else if(op == 5 && $('cronpublish')) {
- $('extra_pubdate_chk').className = $('cronpublish').checked ? 'a' : '';
- }
- }
- function hidenFollowBtn(flag) {
- var fobj = $('adddynamicspan');
- if(fobj) {
- if(flag) {
- $('adddynamic').checked = !flag;
- fobj.style.display = 'none';
- } else {
- fobj.style.display = '';
- }
- }
- }
- function getreplycredit() {
- var replycredit_extcredits = $('replycredit_extcredits');
- var replycredit_times = $('replycredit_times');
- var credit_once = parseInt(replycredit_extcredits.value) > 0 ? parseInt(replycredit_extcredits.value) : 0;
- var times = parseInt(replycredit_times.value) > 0 ? parseInt(replycredit_times.value) : 0;
- if(parseInt(credit_once * times) - have_replycredit > 0) {
- var real_reply_credit = Math.ceil(parseInt(credit_once * times) - have_replycredit + ((parseInt(credit_once * times) - have_replycredit) * creditstax));
- } else {
- var real_reply_credit = Math.ceil(parseInt(credit_once * times) - have_replycredit);
- }
- var reply_credits_sum = Math.ceil(parseInt(credit_once * times));
- if(real_reply_credit > userextcredit) {
- $('replycredit').innerHTML = '<b class="xi1">回帖奖励积分总额过大('+real_reply_credit+')</b>';
- } else {
- if(have_replycredit > 0 && real_reply_credit < 0) {
- $('replycredit').innerHTML = "<font class='xi1'>返还"+Math.abs(real_reply_credit)+"</font>";
- } else {
- $('replycredit').innerHTML = replycredit_result_lang + (real_reply_credit > 0 ? real_reply_credit : 0 );
- }
- $('replycredit_sum').innerHTML = reply_credits_sum > 0 ? reply_credits_sum : 0 ;
- }
- }
- function extraCheckall() {
- for(i = 0;i < 5;i++) {
- extraCheck(i);
- }
- }
- function deleteThread() {
- if(confirm('确定要删除该帖子吗?') != 0){
- $('delete').value = '1';
- $('postform').submit();
- }
- }
- function hideAttachMenu(id) {
- if($(editorid + '_' + id + '_menu')) {
- $(editorid + '_' + id + '_menu').style.visibility = 'hidden';
- }
- }
|