模拟OICQ的实现思路和核心程序(三)

  5 聊天信息的发送、阅读和回复程序 - shortalk.php

  <?

  require("require.php"); // 判断用户是否合法在线的公用程序

  ?>

  <html>

  <head>

  <title>短信息</title>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

  <style type="text/css">

  td {font-size:9pt}

  </style>

  <script language="Javascript">

  <!--

  function docheck() {

  if (document.sendmsg.replymessage.value=="") {

  alert("缺少内容:需要输入您的留言内容");

  document.sendmsg.replymessage.focus();

  return(false);

  }

  return (true);

  }

  function MM_openBrWindow(theURL,winName,features) { //v2.0

  window.open(theURL,winName,features);

  }

  //-->

  </script>

  </head>

  <body bgcolor="#DDDDFF"leftmargin="0" topmargin="0" background="phpchat_images/cloudtile.jpg">

  <?

  if($action == "view")

  {

  $tmp = mysql_fetch_array(mysql_query("select sender,body,date from forumtalk where id=$talknumber and receiver='$name'"));

  $msg = $tmp['body'];

  $message = ereg_replace("

  ","\r\n",$msg);

  mysql_query("update forumtalk set readsign=1 where id=$talknumber");

  $sendernickname = mysql_fetch_row(mysql_query("select nickname from userinfo where name='".$tmp['sender']."'"));

  ?>

  <table width="300" border="0" cellspacing="0" cellpadding="0" height="200" bgcolor="f0f0f0">

  <tr>

  <td colspan="2" height="20" bgcolor="99cc99" align="center">查看短信息</td>

  </tr>

  <tr>

  <td colspan="2" height="20"><?echo date("m月d日 h:i",$tmp['date'])." ".$sendernickname[0]?> 给你[<?echo $name?>]留言:</td>

  </tr>

  <form name=viewtalk action=shortalk.php method=post>

  <input type=hidden name=talkto value=<?echo $tmp['sender']?>>

  <input type=hidden name=action value=send>

  <input type=hidden name=talknumber value=<?print($talknumber)?>>

  <tr align="center">

  <td colspan="2" height="146" valign="top">

  <textarea name="textfield" cols="40" rows="11" readonly><?print($message)?></textarea>

  </td>

  </tr>

  <tr>

  <td colspan="2" align="center">

  <input type="submit" name="toreply" value="回复留言 Enter">

  <a href="#" onClick="MM_openBrWindow('memberviewtalk.php?talkto=<?echo $tmp['sender']?>','viewtalk','scrollbars=yes')">聊天纪录</a> </td>

  </tr>

  </form>

  </table>

  <script language="Javascript">

  document.viewtalk.toreply.focus();

  </script>

  <?

  }

  else if ($action == "sendbegin")

  {

  $replymessage = ereg_replace("\r\n","

  ",$replymessage);

  $replymessage = ereg_replace(">",">",$replymessage);

  $replymessage = ereg_replace("<","<",$replymessage);

  $replymessage = substr($replymessage,0,2000);

  mysql_query("insert into forumtalk (sender,receiver,body,date) values ('$name','$talkto','$replymessage',".date("U").")");

  print("<script language='javascript'>window.close()</script>");

  }

  else

  {

  ?>

  <table width="300" border="0" cellspacing="0" cellpadding="0" height="200" bgcolor="f0f0f0">

  <form name=sendmsg action=shortalk.php method=post OnSubmit=return(docheck());>

  <input type=hidden name=action value=sendbegin>

  <tr align="center">

  <td colspan="2" height="20" bgcolor="99cc99">发送短信息</td>

  </tr>

  <tr align="center">

  <td colspan="2" height="20">发言对象:

  <select name="talkto">

  <?

  $result = mysql_query("select name,nickname from userinfo where onlinestatus=1");

  while($msg=mysql_fetch_array($result))

  {

  if($msg['name']==$talkto)

  echo "<option value='".$msg['name']."' selected>".$msg['nickname']."</option>\n";

  else

  echo "<option value='".$msg['name']."'>".$msg['nickname']."</option>\n";

  }

  ?>

  </select>

  请短于500字符 </td>

  </tr>

  <tr align="center">

  <td colspan="2" height="146" valign="top">

  <textarea name="replymessage" cols="40" rows="9"></textarea>

  </td>

  </tr>

  <tr align="center">

  <td colspan="4">

  <?

  if($talknumber != "")

  {

  print("<input type=button name=review value='查看前一留言 Alt+P' accesskey='p' onClick='javascript:history.go(-1)'>");

  }

  ?>

  <input type="submit" name="reply" value="开始新的发送留言 Alt+S" accesskey='s'>

  <a href="#" onClick="MM_openBrWindow('memberviewtalk.php?talkto=<?echo $talkto?>','viewtalk','scrollbars=yes')">聊天纪录</a></td>

  </tr>

  </form>

  </table>

  <script language="Javascript">

  document.sendmsg.replymessage.focus();

  </script>

  <?

  }

  ?>

  </body>

  </html>