⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 post.js

📁 asp的bbs程序
💻 JS
📖 第 1 页 / 共 2 页
字号:
var actionType = Url.QS()['action'] == 'newthread';

/// 附件相关
var p;
var _attachment = {count:0,size:0};

Events.AttachEvent(window, 'load', function () {
    // 『本地上传』
	$('UploadFile') &&
    openUpload({
        Button : $('UploadFile'),
		ButtonWidth : 78,
		ButtonHeight : 23,
        ButtonText : '<span class="theFont">本地上传</span>',
        ButtonTextStyle : '.theFont { text-indent: 22px;}',
		ButtonImage : root + '/common/scripts/functions/button_fileupload.gif',
		FileSizeLimit : FileSizeLimit,
        Type : 'post',
        Path : '我的附件',
		DirectoryID : '',
        QueryString : '',
        // upload url
        UploadUrl : 'MaxUpload.aspx',
        // (HTML)
        GetFileIdUrl : 'MaxUploadID.aspx',
        GetFileInfoUrl : 'MaxUploadInfo.aspx',
        // (FLASH)
        CheckFileNameUrl : 'MaxUploadID.aspx',
        RenameFileUrl : 'MaxUploadID.aspx',
        // 允许上传的文件类型
        ExtList : AllowFileType,
        // (HANDLER)
        SelectedOne : SelectedOne,
        SelectedAll : SelectedAll,
		DialogClosed : DialogClosed,
		Render : Render,
        UploadedOne : UploadedOne
    });
	
	p = $('attachment');

	/// 发帖相关操作
	document.forms[0].onsubmit = function () {
		return false;
	};
	
	// 发帖
	setShortcut('postButton', 'click', ['enter', 'ctrl+enter'], function (e) {
        editor.GetText(true);
		savePost(e);
	});
	// 预览
	Events.AttachEvent($('reviewButton'), 'click', function (e) {
		editor.GetText(true);
		AjaxRequest.Submit(this.id, 'review');
		Events.CancelAll(e);
	});
	// 取消
	Events.AttachEvent($('cancellReviewButton'), 'click', function () {
		AjaxRequest.Submit(this.id, 'review');
	});
	
	//『从网络硬盘插入 』
	var width = 485, height = 382;
	Events.AttachEvent($('NetDisk'), 'click', function () {
		var w = Widget.Content('选择文件', '<div style="height:320px;margin:-10px"><iframe src="' + DiskSectionUrl + '" width="100%" height="100%" frameborder="0" scrolling="no"></iframe></div>', 489);
		Widget.Show();
		Widget.Resize();
	});
	
	actionType && document.getElementsByName('subject')[0].focus();
});

function postCheck () {
	if (!checkSubject) return true;
    var form = document.forms[0];
    if (checkSubject==true && form.subject.value == '') {
        Widget.Alert('错误', '标题不能为空');
        return false;
    }
    if (form.Editor.value == '') {
        Widget.Alert('错误', '内容不能为空');
        return false;
    }
    return true;
}
function savePost(e) {
    if (!postCheck()) {
        Events.CancelAll(e);
        return;
    }
    // 设置当前进行提交
    editor.Submitting(true);
    if (AjaxSettingPost) {
		Widget.ShowLoading('viewloading');
		setTimeout(function () {
			editor.GetText(true);
			AjaxRequest.Submit('postButton');
		}, 100);
	}
	else {
		Request.Submit('postButton');
	}
}

/// 『本地上传』与『从网络硬盘插入 』按钮
// (HTML) & (FLASH)
function SelectedOne (upload, filename) {
	// 若附件列表中已存在相同文件名文件
	for (var item in _attachment) {
		if (_attachment[item]['filename'] && _attachment[item]['filename'].join('.') == filename) {
			if (typeof Upload != 'undefined' && upload == Upload) {
				Widget.Alert('温馨提示', '您要上传的文件:“' + filename + '”已经存在于附件列表中。');
				return -1;
			}
			if (typeof _Upload != 'undefined' && upload == _Upload) {
				return -1;
			}
		}
	}
	
    GetFileCountAndSize();
    SetQueryString(upload);
    return (CheckFileCountAndSize(_attachment.count + upload.Count, _attachment.size + upload.Sizes)
		? 1 : 0);
}
// (FLASH)
function SelectedAll () {
    GetFileCountAndSize();
    SetQueryString(_Upload);
    return CheckFileCountAndSize(_attachment.count + _Upload.Count, _attachment.size + _Upload.Sizes);
}
// (FLASH)
function DialogClosed () {
	var str = '';
	for (var item in _Upload.RepeatFiles) {
		if (str != '') str += ',<br />';
		str += '“' + _Upload.RepeatFiles[item] + '”';
	}
	if (str) {
		Widget.Alert('温馨提示', '您要上传的文件:<br />' + str + '<br />已经存在于附件列表中。');
		_Upload.RepeatFiles = {};
	}
}
function Render () {}
function CheckFileCountAndSize (count, sizes) {
    if (DiskSettingOpenDisk == false) {
		// 超过给定上传文件数
		if (count + 1 > MaxFileCount) {
			Widget.Alert('提示', '超过当天允许的文件上传数目。');
			return false;
		}
	}
    else {
		// 超过网络硬盘空间大小
		if (sizes > MaxFileSize) {
			Widget.Alert('提示', '超过网络空间的最大容量。');
			return false;
		}
	}
	if (count + 1 > MaxAttachmentCount) {
		Widget.Alert('提示', '超过帖子允许的附件上传数目。');
		return false;
	}
    return true;
}
function UploadedOne (upload, filename, content) {
	var p = $('attachment');
    var index = filename.lastIndexOf('.');
    filename = [filename.substring(0, index), filename.substr(index + 1)];
    
    if (DiskSettingOpenDisk) {
		// 超过网络硬盘空间大小
		var s = _attachment.size + GetFileSize(content[2]);
		//alert(s + ' ' + MaxFileSize);
		if (s > MaxFileSize) {
			return {
				// 上传文件的条目显示的信息
				Info: '超过网络空间的最大容量。',
				// 提示信息
				Alert: function () {Widget.Alert('提示', '超过网络空间的最大容量。');}
			};
		}
	}
    InsertOne(p, content[1], filename, content[2], '\\我的附件', content[3]);
    GetFileCountAndSize();
    SetQueryString(upload);
    return null;
}
// 获得文件个数及大小
function GetFileCountAndSize () {
    var c = s = 0;
    for (var item in _attachment) {
        if (/[0-9a-z]{8}[0-9a-z]{4}[0-9a-z]{4}[0-9a-z]{4}[0-9a-z]{12}/i.test(item)) {
            c++;
            s += GetFileSize(_attachment[item].filesize);
        }
    }
    _attachment.count = c;
    _attachment.size = s;
}
// 获得文件大小 : int
function GetFileSize (filesize) {
    var _s = parseInt(filesize);
    isNaN(_s) && (_s = 0);
    var unit = filesize.substr(filesize.length - 1).toLowerCase();
    switch (unit) {
        case 'k':
            _s *= 1024;
            break;
        case 'm':
            _s *= Math.pow(1024, 2);
            break;
        case 'g':
            _s *= Math.pow(1024, 3);
            break;
    }
    return _s;
}
// (HTML)设置查询字符串
// upload : Upload|_Upload
function SetQueryString (upload) {
    var c = _attachment.count + upload.Count;
    var s = _attachment.size;

    // 重设Upload.QueryString
    var qs = upload.QueryString;
    if (qs != '') {
        qs = qs.replace(/filecount=\d+/i, '');
        qs += '&filecount=' + c;

        qs = qs.replace(/filesize=\d+/i, '');
        qs += '&filesize=' + s;

        qs = qs.replace(/&&/g, '');
    }
    else {
        qs += '&filecount=' + c + '&filesize=' + s;
    }
    upload.QueryString = qs;
}

//<!-- #if $IsGuest = false -->
// 增加附件
function InsertAttachment (doc, type, _files) {
    var p = $('attachment');
    var path = doc.getElementById('path').innerHTML;
    var files = doc.getElementsByName('diskFileID');
    for (var i = 0, len = files.length; i < len ;i++) {
        if (files[i].checked) {
            var fileid = _files[i].fileid;
            var filename = _files[i].filename;
            var _filename = filename;
            var index = filename.lastIndexOf('.');
            filename = [filename.substring(0, index), filename.substr(index + 1)];
            var filesize = _files[i].filesize;
            var icon = _files[i].fileicon;
            if (EditorEnabled && type) {
                switch (type.toLowerCase()) {
                    case 'flash':
                        CustomInsert('[flash]Outputfile.aspx?fileid=' + fileid + '[/flash]', 'ubb');
                        break;
                    case 'image':
                        CustomInsert('<img src="Outputfile.aspx?fileid=' + fileid +  '">', 'html');
                        break;
                    case 'audio,video':
                        var ext = filename[1];
                        if (ext == 'rmvb') ext = 'rm';
                        CustomInsert('[' + ext + ']Outputfile.aspx?fileid=' + fileid + '[/' + ext + ']', 'ubb');
                        break;
                }
            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -