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

📄 www2-addons.js

📁 KBS的BBS源码
💻 JS
📖 第 1 页 / 共 2 页
字号:
/** * Part of the KBS BBS Code * Copyright (c) 2005-2008 KBS Development Team. (http://dev.kcn.cn/) * Source file is subject to the pending KBS License. * * You may use and/or modify the source code only for pure personal study * purpose (e.g. using it in a public website is not acceptable), unless * you get explicit permission by the KBS Development Team. */function annWriter(path, perm_bm, text, title) {	this.path = path;	this.perm_bm = perm_bm;	this.num = 1;	this.title = title;	var str;	str = '<form id="frmAnnounce" action="bbs0anbm.php?path=' + path + '" method="post">';	str += '<input type="hidden" id="annAction" name="annAction" value="">';	str += '<div class="smaller" style="text-align:right">';	if(text == '')	{		str += '精华区管理模式:您在当前目录<span style="color:#FF0000">';		str += perm_bm ? '有' : '没有';		str += '</span>管理权限。';	}	else		str += '<span style="color:#FF0000">' + text + '</span>';	str += '</div>';	str += '<table class="main wide"><col width="5%" /><col width="8%" /><col width="4%" /><col width="38%" />';	str += '<col width="10%" /><col width="10%" /><col width="10%" /><tr><th>#</th><th>类型</th><th></th>';	str += '<th>标题</th><th>版主</th><th>' + (perm_bm?'文件名':'日期') + '</th><th>操作</th></tr><tbody>';	w(str);}annWriter.prototype.i = function(type, title, title_enc, bm, filename, date) {	var str, itempath;	str = '<tr><td class="center">' + this.num + '</td><td class="center">';	switch(type) {		case 0:			str += '错误';			break;		case 1:			str += '目录';			break;		case 2:		case 3:		default:			str += '文件';			break;	}	str += '</td><td class="center"><input type="checkbox" name="ann' + this.num + '" value="' + filename + '"></td><td>';	itempath = this.path + '%2F' + filename;	if (type == 1)		str += '<a href="bbs0anbm.php?path=' + itempath + '">';	else if (type >= 2)		str += '<a href="bbsanc.php?annbm=1&path=' + itempath + '">';	str += title + '</a></td><td>' + bm + '</td><td>';	str += this.perm_bm ? (filename + ((type == 1) ? '/' : '')) : date;	str += '</td><td>';	if (type == 1)		str += '<a href="bbs0anbm_editdir.php?path=' + itempath + '&title=' + title_enc + '&bm=' + bm + '">修改</a>';	else if (type >= 2)		str += '<a href="bbs0anbm_editfile.php?path=' + itempath + '&title=' + title_enc + '">编辑</a>';	str += ' <a href="javascript:ann_move(' + this.num + ');">调序</a>';	str += '<span id="divam' + this.num + '"></span>';	str += '</td></tr>';	w(str);	this.num++;};annWriter.prototype.f = function() {	var str;	str = '</tbody></table>';	if (this.perm_bm)	{		str += '<br><div class="center smaller">';		str += '[<a href="bbs0anbm_mkdir.php?path=' + this.path + '">创建目录</a>] ';		str += '[<a href="bbs0anbm_mkfile.php?path=' + this.path + '">创建文件</a>] ';		str += '[<a href="javascript:ann_clip(\'cut\');">剪切</a>] ';		str += '[<a href="javascript:ann_clip(\'copy\');">复制</a>] ';		str += '[<a href="javascript:ann_clip(\'paste\');">粘贴</a>] ';		str += '[<a href="javascript:ann_delete();">删除</a>] ';		str += '[<a href="bbsipath.php?inann=1&annpath=' + this.path + '&title=' + this.title + '">丝路</a>]';		str += '</div>';	}	str += '<input type="hidden" id="annCount" name="annCount" value="' + (this.num-1) + '">';	str += '</form>';	w(str);};function ann_delete(){	if(confirm('确定要删除这些文件或目录吗?'))	{		frmAnnounce.annAction.value = 'delete';		frmAnnounce.submit();	}}function ann_clip(action){	frmAnnounce.annAction.value = action;	frmAnnounce.submit();}function ann_move(num){	var str = '';	str += '<br>新序<input type="text" size="3" name="newnum">';	str += '<input type="hidden" name="oldnum" value="' + num + '">';	str += '<br><input type="button" value="移动" onclick="ann_move_do();">';	str += '<input type="button" value="取消" onclick="ann_move_cancel(' + num + ');">';	document.getElementById('divam' + num).innerHTML = str;}function ann_move_do(){	frmAnnounce.annAction.value = 'move';	frmAnnounce.submit();}function ann_move_cancel(num){	var thediv = document.getElementById('divam' + num);	thediv.innerHTML = '';}function ipathMakeItem(title, path){	return(title + '<br>' + path);}function ipathWriter(inAnn) {	var str;	this.num = 1;	this.annPath = currAnnPath;	this.inAnn = inAnn;	str = '<form id="frmipath" method="post" action="bbsipath.php?inann=' + inAnn + '&annpath=' + currAnnPath + '&title=' + currAnnTitle + '">';	str += '<input type="hidden" id="ipathAction" name="ipathAction" value="">';	str += '<input type="hidden" id="num" name="num" value="0">';	str += '<h1 class="bt">丝路</h1><div style="text-align:right">[<a href="bbs0anbm.php?path=' + currAnnPath + '">精华区目录</a>]';	str += '<table class="main wide"><col width="5%" /><col width="60%" /><col width="35%" />';	str += '<tr><th>#</th><th>标题 / 路径</th><th>操作</th></tr><tbody>';	w(str);}ipathWriter.prototype.i = function(title, path) {	var str;	ititle[this.num] = title;	ipath[this.num] = path;	str = '<tr><td class="center">' + this.num + '</td>';	str += '<td id="ipathCon' + this.num + '">' + ipathMakeItem(title, path) + '</td>';	str += '<td>';	if(title != '')	{		str += '<a href="javascript:ipathPaste(\'' + path + '\');">粘贴</a> ';		str += '<a href="javascript:ipathModify(' + this.num + ');">改标题</a> ';	}	if(this.inAnn)		str += '<a href="javascript:ipathSet(' + this.num + ');">设为当前目录</a>';	str += '</td></tr>';	this.num++;	w(str);}ipathWriter.prototype.f = function() {	var str;	str = '</tbody></table><div id="ipathSetDiv"></div></form>';	str += '<form id="frmPaste" method="post"><input type="hidden" name="annAction" value="paste"><input type="hidden" name="annCount" value="0"></form>';	w(str);}function ipathPaste(path){	path = path.substr(9, path.length - 9);	frmPaste.action = 'bbs0anbm.php?path=' + path;	frmPaste.submit();}function ipathModify(num){	var str;	if(ipathEditing	!= 0)		document.getElementById('ipathCon' + ipathEditing).innerHTML = ipathMakeItem(ititle[ipathEditing], ipath[ipathEditing]);	if(num != ipathEditing)	{		ipathEditing = num;		if(num > 0)		{			str = '<input type="text" name="ipathTitle" size="40" maxlength="80" value="' + ititle[num] + '">';			str += '<input type="button" onclick="ipathDoModify();" value="修改"><br>' + ipath[num];			document.getElementById('ipathCon' + num).innerHTML = str;		}	}	else		ipathEditing = 0;		}function ipathDoModify(){	if(ipathEditing != 0)	{		frmipath.ipathAction.value = 'modify';		frmipath.num.value = ipathEditing;		frmipath.submit();	}}function ipathSet(num){	var co = true;	var str;	ipathModify(0);	if(ititle[num] != "")		co = confirm('要覆盖这个丝路吗?');	if(co)	{		frmipath.ipathAction.value = 'set';		frmipath.num.value = num;		str = '<input type="hidden" name="ipathTitle" value="' + currAnnTitle + '">';		str += '<input type="hidden" name="ipathPath" value="' + currAnnPath + '">';		document.getElementById('ipathSetDiv').innerHTML = str;		frmipath.submit();	}}	var gTreeArts = new Array();function treeWriter(board, bid, gid, arts) {	this.board = escape(board);	this.bid = bid;	this.gid = gid;	var i, tI = new Array();	for (i = 0; i < arts.length; i++) {		var node = {"id": arts[i][0], "reid": arts[i][1], "owner": arts[i][2], 			"first_child": -1, "last_child": -1, "next_sibling": -1, "showed": false};		gTreeArts[i] = node;		tI[node.id] = i + 1;		if (i > 0 && tI[node.reid]) {			var par = gTreeArts[tI[node.reid] - 1];			if (par.first_child == -1) par.first_child = i;			if (par.last_child != -1) gTreeArts[par.last_child].next_sibling = i;			par.last_child = i;		}	}	this.ifs = "";}treeWriter.prototype.s = function(idx, flag) { /* flag: -1: root, 1: last */	if (gTreeArts[idx].showed) return;	gTreeArts[idx].showed = true;	var id = gTreeArts[idx].id;	var owner = gTreeArts[idx].owner;	var url = 'bbscon.php?bid=' + this.bid + '&id=' + id;	var ret = '<br/>';	var c = "treeFold";	if (flag == -1) c = "treeFoldRoot";	else if (flag == 1) c = "treeFoldLast";		ret += '<div class="' + c + '">';	if (flag == 0) {		ret += '<div class="treeFoldLeaf"> </div>';	}	ret += '<div class="tconPager smaller left">';	ret += '[<a href="' + url + '">本篇全文</a>] ';	if (isLogin()) {		ret += '[<a href="bbspst.php?board=' + this.board + '&reid=' + id + '">回复文章</a>] ';		ret += '[<a href="bbspstmail.php?board=' + this.board + '&id=' + id + '">回信给作者</a>] ';	}	ret += '[本篇作者:<a href="bbsqry.php?userid=' + owner + '">' + owner + '</a>] ';	ret += '[<a href="bbsdoc.php?board=' + this.board + '">进入讨论区</a>] ';	ret += '[<a href="#top">返回顶部</a>]';	ret += '<div class="tnum">' + (idx+1) + '</div>';	ret += '</div><div class="article" id="art' + id + '"><div align="center">...载入中...</div></div>';	this.ifs += '<iframe width=0 height=0 frameborder="0" scrolling="no" src="' + url + '"></iframe>';	w(ret);	var cur = gTreeArts[idx].first_child;	while(cur != -1) {		this.s(cur, (cur == gTreeArts[idx].last_child) ? 1 : 0);		cur = gTreeArts[cur].next_sibling;	}		w("</div>");};treeWriter.prototype.o = function() {	var i;	this.s(0, -1);	for(i=1;i<gTreeArts.length;i++) this.s(i, -1); //没连上根的那些枝条	w(this.ifs);};/* replymode: S/Y/N/R/A */function generateQuotation(c, mailmode, replymode) {	replymode = replymode ? replymode.toLowerCase() : 's';	var subject = "", quotation = "";	var start, i;	try {		var s = c.split("\n");		/* 寻找标题 */		if (s.length > 1) {			start = s[1].indexOf(":");			if (start != -1) {				subject = s[1].substring(start + 2);				if (subject.substring(0, 4) != "Re: ") subject = "Re: " + subject;			}		}		if (replymode != 'n') {			/* 寻找作者信息 */			var author = "";			if (s.length > 0) {				var end = s[0].lastIndexOf(")");				start = s[0].indexOf(":");				if (start != -1 && end != -1) {					author = s[0].substring(start + 2, end + 1);				}			}					if (mailmode) {				quotation += "\n【 在 " + author + " 的来信中提到: 】\n";			} else {				quotation += "\n【 在 " + author + " 的大作中提到: 】\n";			}						/* 处理引文 */			if (replymode == 'a') {				for (i = 1; i < s.length; i++) {					quotation += ": " + s[i].replace(/\r[\[\d;]+[a-z]/gi, "") + "\n";				}			} else {				for (i = 2; i < s.length; i++) {					if (s[i].length == 0) break;				}				if (replymode == 'r') {					for (i++; i < s.length; i++) {						if (s[i].indexOf("※ 来源:·") == -1) {							quotation += s[i].replace(/\r[\[\d;]+[a-z]/gi, "") + "\n";						}					}				} else {					var qlines = 0;					for (i++; i < s.length; i++) {						if (s[i].substring(0,1) == "【") continue;						if (s[i].substring(0,2) == ": ") continue;						if (s[i] == "--") break;						if (s[i].length == 0) continue;						quotation += ": " + s[i].replace(/\r[\[\d;]+[a-z]/gi, "") + "\n"; /* filter <textarea> ? */						if (replymode == 's') {							qlines++;							if (qlines >= 3) {								quotation += ": ...................";								break;							}						}					}				}			}		}	} catch(e) {	}	return { "subject" : subject, "quotation" : quotation };}function showReplyForm(url) {	if (readParaCookie() & 0x2000) return true;	if (gIE5 || gKon) return true;	var o = getObj("divReplyForm");	o.style.padding = '0.5em';	o.innerHTML = "载入中,请稍候……";	o = document.createElement('iframe');	o.style.display = 'none';	document.body.appendChild(o);	o.src = url;	return false;}function changeQM(m) {	var f = getObj('rff');	if (f) {		var rr = generateQuotation(strPrint, 0, m);		f.value = rr.quotation;		f.focus();		setCursorPosition(f, 0, 0);	}}

⌨️ 快捷键说明

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