📄 post.js
字号:
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 + -