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

📄 build.cgi

📁 这个是分屏聊天室源码。需要分屏的聊天室请参考
💻 CGI
📖 第 1 页 / 共 2 页
字号:
######################### k666软件园 http://www.vv66.net
# 构建聊天室的各帧和各窗口
sub return_whole {
print "<html><head><title>$roomtitle</title>\n";
print  <<eof;
<script Language='JavaScript'>
var list=new Array;
var ser=0;
var count=0;
var timerID=null;
var timerRunning=false;
var dnbgcolor = "$onlineback";
var dntxtcolor = "$onlineword";
var dnlevel   = $userlevel;
var bcolor = "$usersexcolor{'Boy'}";
var gcolor = "$usersexcolor{'Girl'}";
var level_show = $line_level;
var level_seelevel ="$level_seelevel";
var linecount = $linecount;
var bchatgenius  = "$bchatgenius";
var gchatgenius  = "$gchatgenius";
var lookurl  = "$lookurl";
var lookmess  = "$lookmess";
var initmessno = $lastno;

var dncgiurl = "$cgiurl$chat?job=online";
var dnname   = "$username";
var dnsex    = "$usersex";
var dnpass   = "$userpassword";
var myscroll=1;
function sf1(temscroll) {myscroll=temscroll;}
function sf2() { return myscroll; }

function stop() { if(timerRunning)clearTimeout(timerID);timerRunning=false; }
function start() { stop(); write1(); }
function write1() { 
if(this.r.document==null)return;
this.r.document.open();
this.r.document.writeln("<html><head>");
this.r.document.writeln("<style type=text/css>");
this.r.document.writeln("<!--");
this.r.document.writeln(".p9 {color:"+dntxtcolor+";font-family:宋体;font-size: 9pt;line-height: 12pt}");
this.r.document.writeln("a:visited {  color: #CC33FF; text-decoration: none}");
this.r.document.writeln("a:link {  color: #CC33FF; text-decoration: none}");
this.r.document.writeln("a:hover {  color: #FFFF00; text-decoration: none}");
this.r.document.writeln("-->");
this.r.document.writeln("</style>");
this.r.document.writeln("</head><body bgcolor=" + dnbgcolor+">");
this.r.document.writeln("<center><span class='p9'><br><a href='javascript:parent.type.online();' title='点这里刷新名单窗口' target='D0'><font color=red>刷新名单</font></a><br><font size=-1>"+ dnlevel +"级</font></span><br><br>");
this.r.document.writeln("<table border=0><tr><td align=center><tr><td align=left><span class='p9'><font size=2>共<font color=red>["+count+"]</font>人</font><br><hr>");
this.r.document.writeln("<a href=javascript:parent.selectwho('大家'); target='type' ><ACRONYM TITLE='选取 大家 为谈话对象'><font color=" + bcolor + ">大&nbsp;&nbsp;&nbsp;&nbsp;家</font></ACRONYM></a><br>");
var tname,tsex,tlevel,tstat,ttstat1,ttstat2,ttlevel;
var lcolor,namestr;
for(var i=0;i<list.length;i=i+4) {
	if(list[i]!=null && list[i]!=''){
		tname = list[i]; tsex=list[i+1]; 
		lcolor = bcolor;
		if (tsex =='Girl') { lcolor = gcolor;}
		tlevel = list[i+2];  tstat  = list[i+3];
		ttlevel = ""; ttstat1 ="";ttstat2 ="";
		if ((level_show == 1)&&(dnlevel >=level_seelevel)) { ttlevel = "<font size=-1>["+tlevel+"]</font>"; }
		if (tstat != "") {ttstat1 ="<strike>";ttstat2 ="</strike>";}
		namestr = "<a href=javascript:parent.selectwho('"+tname+"') target='type' title='选取"+tname+"为谈话对象'><font color="+lcolor +">"+ttstat1+tname+ttstat1+"</font></a>"+ttlevel+"<br>";
		this.r.document.writeln(namestr); }
}
if (count < linecount ) {
	namestr = "<a href=javascript:parent.selectwho('"+bchatgenius+"') target='type' title='选取"+bchatgenius+"为谈话对象'><font color="+bcolor +">"+bchatgenius+"</font></a><br>";
	this.r.document.writeln(namestr);
	if (bchatgenius != gchatgenius) {
		namestr = "<a href=javascript:parent.selectwho('"+gchatgenius+"') target='type' title='选取"+gchatgenius+"为谈话对象'><font color="+gcolor +">"+gchatgenius+"</font></a><br>";
		this.r.document.writeln(namestr);
	}
}
this.r.document.writeln('</span></td></tr></table></center><br><br><br><br><br><br>');
namestr = "<div align=center><span class='p9'><br>主页地址<br><a title='添加到收藏夹' href='javascript:window.external.AddFavorite(&quot;http://"+ lookurl + "&quot; , &quot;" + lookmess+ "&quot;)'>"+ lookmess +"</a>";
namestr = namestr + "<br><br>友情链接<br><a href='http://61.139.42.112/97star/deen/' target=_blank>网缘聊天室</a><br><a href='http://61.139.42.112/' target=_blank>新光聊天室</a></span></div></body></html>";
this.r.document.writeln(namestr);
this.r.document.close();
timerID=setTimeout("start()",300000);
timerRunning=true; }
function add(astr1,astr2,astr3,astr4,mno) 	{
  if (mno < initmessno) return;
  var l=list.length;
for(var i=0;i<list.length;i=i+4)
  if(list[i] == astr1) return;
	list[l]=astr1;
	list[l+1]=astr2;
	list[l+2]=astr3;
	list[l+3]=astr4;
	count++;
  return;
}
function del(str,mno) {
	if (mno < initmessno) return;
	for(var i=0;i<list.length;i=i+4)
		if(list[i]==str) { 
			delete list[i]; 
			delete list[i+1]; 
			delete list[i+2];
			delete list[i+3]; 
			count--;}
}
function killuser(astr1,astr2,astr3,astr4,mno) {
	if (mno < initmessno) return;
	for(var i=0;i<list.length;i=i+4)
		if(list[i]==astr1) { 
			delete list[i]; 
			delete list[i+1]; 
			delete list[i+2];
			delete list[i+3];
			count--; }
	var l=list.length;
	for(var i=0;i<list.length;i=i+4)
	  if(list[i] == astr1) return;
		list[l]=astr1;
		list[l+1]=astr2;
		list[l+2]=astr3;
		list[l+3]=astr4;
		count++;
}
function selectwho(name) {
	if(this.type.document==null) return;
	this.type.dnadd(name);
	this.type.document.talk.towho.value=name;
	this.type.document.talk.saystemp.focus(); return;  }
function checkempty(txtval){
  if (txtval.length==0) return false;
  var i=0;
  while (i<txtval.length) {
     if (txtval.substring(i,i+1) != ' ') return true;
     i=i+1;  }
  return false; }
</script></head>
eof
print "<frameset cols='*,120' border=1 frameborder=$resize framespacing=1>\n";
print " <frameset rows='*,70' border=$resize frameborder=$resize framespacing=$resize>\n"; 
print "	 <frameset name='messageframe' rows='100%,*' framespacing='1' border=0 frameborder=0 >";
print "    <frame src='about:blank'    name='message' scrolling=\"auto\">\n";
print "    <frame src='about:blank'    name='smessage' scrolling=\"auto\">\n" ; 
print "  </frameset>";
print "  <frame src='$cgiurl$login?job=settype$userinfo' name='type' scrolling=\"no\" noresize>\n";
print " </frameset>\n";
print "   <frameset rows='*,50' border=$resize frameborder=$resize framespacing=$resize>\n";
print "      <frame src='about:blank'  name='r' marginwidth=0>\n";
print "        <frameset cols='0,*' border=$resize frameborder=$resize framespacing=$resize>\n";
print "           <frameset rows='0,0,0,0' border=$resize frameborder=$resize framespacing=$resize>\n";
print "				<frame src='$cgiurl$chat?job=no$userinfo'    name='no'>\n";
print "             <frame src='about:blank' name='D0' >\n";
print "             <frame src='about:blank' name='D1' >\n";
print "				<frame src='$cgiurl$login?job=setfresh$userinfo' name='freshno' scrolling=\"no\" >\n";
print "           </frameset>\n";
print "			<frame src='$cgiurl$login?job=setfunc$userinfo' name='func'   marginwidth=0>\n";
print "		</frameset>\n";
print "	  </frameset>\n";
print "</html>\n";
}
###########################
# 构建发言窗口
sub return_type {
#读几个外部文件
@addwordcolor=&readtxtfile($addwordcolorfile) if ($userlevel>=$level_addwordcolor);
@addsays     =&readtxtfile($addsaysfile)      if ($userlevel>=$level_addsays);
@addsign     =&readtxtfile($addsignfile)      if ($userlevel>=$level_addsign);
@addemote     =&readtxtfile($addemotefile)      if ($userlevel>=$level_addemote);

print <<eof;
<html><head><title>type</title>
<style type="text/css">
<!--
body {font-size:9pt;font-family:宋体;}
input {font-size:9pt;font-family:宋体;}
TABLE {font-family:宋体;font-size:9pt;}
select {font-size:9pt;font-family:宋体;}
A:link{color:$typeword;text-decoration:none}
A:visited{color:$typeword;text-decoration:none}
A:hover {color: $typeword; text-decoration:none}
--></style>
<script Language='JavaScript'>
 var max=20;
 var whamsg=new Array(20+1);
 var base=0;
 var p=0;
 var j;
 var bTimer = false ;
 var nTimer=0;
 var tt=0;

 for (j=0;j<=max+1;j++)
  whamsg[j]='';
  
 function addOne(what){
  if (base<max+1) {
   whamsg[base]=what;
    base++;
  } else {
   for (i=0;i<max;i++)
    whamsg[i]=whamsg[i+1];
   whamsg[i]=what;
  }
  p=base;
 }
 
 function goPrev(theForm){
  if (p>0) p--;
   theForm.saystemp.value=whamsg[p]
  theForm.saystemp.focus();
 }
 function goNext(theForm){
  if (p<base) p++;
   theForm.saystemp.value=whamsg[p]
  theForm.saystemp.focus(); 
 }

var dnmax=10;
var dnsdx=new Array(dnmax);
var dnbase=1;
var dnj,dni=0;
var dnp=1;
for (dnj=1;dnj<dnmax;dnj++)dnsdx[dnj]='';dnsdx[0]="大家";

function dnadd(w){
	for (dni=0;dni<dnmax;dni++){
 		if(dnsdx[dni]==w){
 			document.talk.towho.options[dni].selected=true;
 			return;
 		}
 	}
 	if(dnbase<dnmax){
 		dnsdx[dnbase]=w;
 		dnbase++;
 	}else{
                for(dni=1;dni<dnmax-1;dni++)
                        dnsdx[dni]=dnsdx[dni+1];
                dnsdx[dni]=w;
        }
        dnp=dnbase;

    dni=0;
    newoption = new Option("大    家","大家");
	document.talk.towho.options[0]=newoption;
	for(dni=1;dni<dnmax;dni++){
	  	if(dnsdx[dni]==''){
	  		document.talk.towho.options[dni]=null;
	  	}else{
		  	newoption = new Option(dnsdx[dni], dnsdx[dni]);
		  	document.talk.towho.options[dni]=newoption;
		  	if(dnsdx[dni]==w){
		  		document.talk.towho.options[dni].selected=true;
		  	}
		}
	}
}


function receiver(list)
	{ var listText='';
	   if((list.selectedIndex != -1)&&(list.selectedIndex != 0))
	   { listText = list.options[list.selectedIndex].value; }
	  parent.type.document.forms[0].saystemp.value=listText;
	}
function receiver2(list)
{ var listText='';
   if((list.selectedIndex != -1)&&(list.selectedIndex != 0))
   { listText = list.options[list.selectedIndex].value; }
  parent.type.document.forms[0].towho.value=listText;
}
function online() {	document.onlinef.submit(); }
function bs() {
eof
print "document.forms[0].saystemp.style.color = document.forms[0].addwordcolor.value;\n" if ($userlevel>=$level_addwordcolor);
print "document.forms[0].saystemp.focus(); }\n";
print <<eof;
function checksays(theForm) {
	if (checkempty(document.forms[0].saystemp.value)==false) { 
		alert('请输入发言');	return false; }
eof
if ($sayspace_allow  == 1) {
print <<eof;
	Today = new Date();

⌨️ 快捷键说明

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