258 lines
9.3 KiB
JavaScript
258 lines
9.3 KiB
JavaScript
function replyfloor_postid(url) {
|
||
url = url.replace(/&/, "&");
|
||
var urlarr = new Array();
|
||
urlarr = url.split("&");
|
||
var value = new Array();
|
||
var postid = 0;
|
||
for (var i = 0, L = urlarr.length; i < L; i++) {
|
||
value = urlarr[i].split("=");
|
||
if(value[0] == "repquote"){
|
||
postid = value[1];
|
||
return postid;
|
||
}
|
||
}
|
||
return postid;
|
||
}
|
||
function replyfloor_leftshow(postid) {
|
||
if(document.getElementById('replyfloor_content_ul_' + postid)){
|
||
document.getElementById('replyfloor_content_ul_' + postid).style.display = 'block';
|
||
}
|
||
if(document.getElementById('replyfloor_content_more_' + postid)){
|
||
document.getElementById('replyfloor_content_more_' + postid).style.display = 'none';
|
||
}
|
||
if(document.getElementById('replyfloor_content_pg_' + postid)){
|
||
document.getElementById('replyfloor_content_pg_' + postid).style.display = 'block';
|
||
}
|
||
}
|
||
function replyfloor_seccodeimg(obj) {
|
||
document.getElementById('replyfloor_seccodeverify').value = '';
|
||
var tmprandom = 'S' + Math.floor(Math.random() * 1000);
|
||
obj.src = 'misc.php?mod=seccode&update='+ tmprandom+'&idhash=replyfloor';
|
||
}
|
||
function replyfloor_replace() {
|
||
var fastre = document.getElementsByClassName('fastre');
|
||
for (var i = 0, L = fastre.length; i < L; i++) {
|
||
var postid = replyfloor_postid(fastre[i].href);
|
||
if(postid){
|
||
fastre[i].onclick = function(e) {
|
||
replyfloor_reply(this.href);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
function replyfloor_collapse(obj, postid, type) {
|
||
document.getElementById('replyfloor_content_more_'+postid).innerHTML = '';
|
||
if(type == 1){
|
||
var nextpageurl = obj.getAttribute('rel').valueOf();
|
||
var x = new Ajax();
|
||
x.get(nextpageurl + '&inajax=1', function(s){
|
||
s = s.replace(/\n|\r/g, ' ');
|
||
var nexts = s.match(/\<div class="replyfloor_content_li" id="replyfloor_content_li_(\d+)"\>(.+?)\<div>\<\/div>\<\/div>/g);
|
||
for(i in nexts) {
|
||
var insertid = nexts[i].match(/<div class="replyfloor_content_li" id="replyfloor_content_li_(\d+)"\>/);
|
||
if(!document.getElementById('replyfloor_content_li_' + insertid[1])) {
|
||
var div = document.createElement('div');
|
||
document.getElementById('replyfloor_newbox_'+postid).appendChild(div);
|
||
div.outerHTML = nexts[i].replace(/\<div>\<\/div>/g, '');
|
||
}
|
||
}
|
||
var moreinfo = s.match(/\<div class="replyfloor_content_more" id="replyfloor_content_more_(\d+)"\>(.+?)\<div>\<\/div>\<\/div\>/);
|
||
if(document.getElementById('replyfloor_content_more_'+postid)){
|
||
document.getElementById('replyfloor_content_more_'+postid).innerHTML = moreinfo[2];
|
||
}
|
||
});
|
||
}else{
|
||
document.getElementById('replyfloor_newbox_'+postid).innerHTML = '';
|
||
var nextpageurl = obj.getAttribute('rel').valueOf();
|
||
var x = new Ajax();
|
||
x.get(nextpageurl + '&inajax=1', function(s){
|
||
if(document.getElementById('replyfloor_content_'+postid)){
|
||
document.getElementById('replyfloor_content_'+postid).innerHTML = s;
|
||
}
|
||
var replyfloor_box_sxy = fetchOffset(document.getElementById("replyfloor_box_"+postid));
|
||
if(Math.max(document.documentElement.scrollTop, document.body.scrollTop) > replyfloor_box_sxy['top']){
|
||
window.scrollTo('0',replyfloor_box_sxy['top']);
|
||
}
|
||
});
|
||
}
|
||
return false;
|
||
}
|
||
function replyfloor_uploadimage(userSettings) {
|
||
replyfloor_webupload(userSettings);
|
||
}
|
||
function replyfloor_uploadattach(userSettings) {
|
||
replyfloor_webupload(userSettings);
|
||
}
|
||
function replyfloor_webupload(userSettings) {
|
||
var settings = {};
|
||
var ensureDefault = function(settingName, defaultValue) {
|
||
var setting = userSettings[settingName];
|
||
if (setting != undefined) {
|
||
settings[settingName] = setting;
|
||
} else {
|
||
settings[settingName] = defaultValue;
|
||
}
|
||
};
|
||
ensureDefault("auto", false);
|
||
ensureDefault("compress", false);
|
||
ensureDefault("upload_url", "");
|
||
ensureDefault("pick", undefined);
|
||
ensureDefault("dnd", undefined);
|
||
ensureDefault("paste", undefined);
|
||
ensureDefault("accept", null);
|
||
ensureDefault("fileVal", "file");
|
||
ensureDefault("chunked", false);
|
||
ensureDefault("chunkSize", 5242880);
|
||
ensureDefault("post_params", {});
|
||
ensureDefault("threads", 1);
|
||
ensureDefault("fileNumLimit", undefined);
|
||
ensureDefault("fileSingleSizeLimit", undefined);
|
||
|
||
var getBasePath = function() {
|
||
var els = document.getElementsByTagName('script'), src;
|
||
for (var i = 0, len = els.length; i < len; i++) {
|
||
src = els[i].src || '';
|
||
if (/cwebuploader[\w\-\.]*\.js/.test(src)) {
|
||
return src.substring(0, src.lastIndexOf('/') + 1);
|
||
}
|
||
}
|
||
return '';
|
||
};
|
||
|
||
var uploader = CWebUploader.create({
|
||
auto: false,
|
||
swf: getBasePath() + 'Uploader.swf',
|
||
compress: settings.compress,
|
||
server: settings.upload_url,
|
||
pick: settings.pick,
|
||
dnd: settings.dnd,
|
||
paste: settings.paste,
|
||
accept: settings.accept,
|
||
fileVal: settings.fileVal,
|
||
chunked: settings.chunked,
|
||
chunkSize: settings.chunkSize,
|
||
formData: settings.post_params,
|
||
threads: settings.threads,
|
||
fileNumLimit: settings.fileNumLimit,
|
||
fileSingleSizeLimit: settings.fileSingleSizeLimit,
|
||
duplicate: true,
|
||
disableWidgets: 'log'
|
||
});
|
||
uploader.on('beforeFileQueued', function(file) {
|
||
|
||
});
|
||
uploader.on('fileQueued', function( file ) {
|
||
var eles = document.getElementById('replyfloor_upimage').getElementsByClassName('replyfloor_upimage_li');
|
||
if (settings.fileNumLimit && eles.length >= settings.fileNumLimit) {
|
||
showDialog('最多只能上传' + settings.fileNumLimit + '张', 'alert');
|
||
return false;
|
||
} else {
|
||
var div = document.createElement("div");
|
||
div.id = 'replyfloor_upimage_li_'+file.id;
|
||
div.className = 'replyfloor_upimage_li';
|
||
document.getElementById('replyfloor_upimage').appendChild(div);
|
||
uploader.upload(file);
|
||
}
|
||
});
|
||
uploader.on('uploadStart', function( file ) {
|
||
uploader.options.formData['filetype'] = file.ext;
|
||
});
|
||
uploader.on('uploadSuccess', function( file, response ) {
|
||
var obj = document.getElementById('replyfloor_upimage_li_'+file.id);
|
||
if(response['status'] == 0) {
|
||
obj.parentNode.removeChild(obj);
|
||
showDialog(response['message'], 'alert');
|
||
} else {
|
||
obj.innerHTML = '<div class="replyfloor_upimage_del"><a id="replyfloor_upimage_del_'+response['aid']+'" href="javascript:;" onclick="replyfloor_delimage('+response['aid']+')" title="删除"></a></div><div class="replyfloor_upimage_img"><img src="'+response['attachment']+'" border="0" alt="'+response['filename']+'"/></div><input type="hidden" name="attach[]" value="'+response['aid']+'" />';
|
||
}
|
||
});
|
||
uploader.on("uploadError", function (file, response) {
|
||
var obj = document.getElementById('replyfloor_upimage_li_'+file.id);
|
||
obj.parentNode.removeChild(obj);
|
||
});
|
||
uploader.on("uploadFinished", function () {
|
||
uploader.reset();
|
||
});
|
||
uploader.on('error', function (code) {
|
||
var err = '';
|
||
switch (code) {
|
||
case 'F_EXCEED_SIZE':
|
||
err += '单张图片大小不得超过' + Base.formatSize(uploader.option('fileSingleSizeLimit')) + '!';
|
||
break;
|
||
case 'Q_EXCEED_NUM_LIMIT':
|
||
err += '最多只能上传' + settings.fileNumLimit + '张!';
|
||
break;
|
||
case 'Q_EXCEED_SIZE_LIMIT':
|
||
err += '上传图片总大小超出' + Base.formatSize(uploader.option('fileSizeLimit')) + '!';
|
||
break;
|
||
case 'Q_TYPE_DENIED':
|
||
err += '无效图片类型,请上传正确的图片格式!';
|
||
break;
|
||
case 'F_DUPLICATE':
|
||
err += '请不要重复上传相同图片!';
|
||
break;
|
||
default:
|
||
err += '上传错误,请刷新重试!'+code;
|
||
break;
|
||
}
|
||
showDialog(err, 'alert');
|
||
return false;
|
||
});
|
||
}
|
||
function replyfloor_plupload(userSettings) {
|
||
var settings = {};
|
||
var ensureDefault = function(settingName, defaultValue) {
|
||
var setting = userSettings[settingName];
|
||
if (setting != undefined) {
|
||
settings[settingName] = setting;
|
||
} else {
|
||
settings[settingName] = defaultValue;
|
||
}
|
||
};
|
||
ensureDefault("auto", false);
|
||
ensureDefault("upload_url", "");
|
||
ensureDefault("pick", undefined);
|
||
ensureDefault("accept", null);
|
||
ensureDefault("fileVal", "file");
|
||
ensureDefault("post_params", {});
|
||
|
||
var pluploader = new plupload.Uploader({
|
||
browse_button : settings.pick,
|
||
url : settings.upload_url,
|
||
file_data_name: settings.fileVal,
|
||
multi_selection: false,
|
||
multipart_params: settings.post_params,
|
||
filters:settings.accept
|
||
});
|
||
pluploader.init();
|
||
pluploader.bind('FilesAdded',function(uploader,files){
|
||
pluploader.start();
|
||
});
|
||
pluploader.bind('FileUploaded', function(uploader,file, res){
|
||
var response = eval('(' + res.response + ')');
|
||
if(response['status'] == 0) {
|
||
showDialog(response['message'], 'alert');
|
||
} else {
|
||
var div = document.createElement("div");
|
||
div.id = 'replyfloor_upimage_li_'+response['aid'];
|
||
div.className = 'replyfloor_upimage_li';
|
||
div.innerHTML = '<div class="replyfloor_upimage_del"><a href="javascript:;" id="replyfloor_upimage_del_'+response['aid']+'" onclick="replyfloor_delimage('+response['aid']+')" title="删除"></a></div><div class="replyfloor_upimage_img"><img src="'+response['attachment']+'" border="0" alt="'+response['filename']+'"/></div><input type="hidden" name="attach[]" value="'+response['aid']+'" />';
|
||
document.getElementById('replyfloor_upimage').appendChild(div);
|
||
}
|
||
});
|
||
pluploader.bind('Error', function(uploader,error){
|
||
showDialog('上传错误,请刷新重试!', 'alert');
|
||
});
|
||
return false;
|
||
}
|
||
function replyfloor_delimage(aid) {
|
||
var obj = document.getElementById('replyfloor_upimage_del_'+aid).parentNode.parentNode;
|
||
if(obj) {
|
||
obj.parentNode.removeChild(obj);
|
||
var x = new Ajax();
|
||
x.get('plugin.php?id=replyfloor:attachment&operation=delete&aid='+aid + '&inajax=1', function(s){
|
||
|
||
});
|
||
}
|
||
}
|