熊猫办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

95 lines
3.2 KiB

<?php
//--------------- 站内消息函数 ---------------
//发送短消息
function AddMsg($add){
global $empire,$level_r,$dbtbpre;
$user=islogin();
$title=RepPostStr(trim($add['title']));
$to_username=RepPostVar(trim($add['to_username']));
$msgtext=RepPostStr($add['msgtext']);
if(empty($title)||!trim($msgtext)||empty($to_username))
{printerror("EmptyMsg","",1);}
if($user['username']==$to_username)
{printerror("MsgToself","",1);}
//字数
$len=strlen($msgtext);
if($len>$level_r[$user[groupid]][msglen])
{
printerror("MoreMsglen","",1);
}
//接收方是否存在
$r=$empire->fetch1("select ".eReturnSelectMemberF('userid,groupid')." from ".eReturnMemberTable()." where ".egetmf('username')."='$to_username' limit 1");
if(!$r['userid'])
{
printerror("MsgNotToUsername","",1);
}
//对方短消息是否满
$mnum=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsqmsg where to_username='$to_username'");
if($mnum+1>$level_r[$r[groupid]][msgnum])
{
printerror("UserMoreMsgnum","",1);
}
$msgtime=date("Y-m-d H:i:s");
$sql=$empire->query("insert into {$dbtbpre}enewsqmsg(title,msgtext,haveread,msgtime,to_username,from_userid,from_username,isadmin,issys) values('".addslashes($title)."','".addslashes($msgtext)."',0,'$msgtime','$to_username','$user[userid]','$user[username]',0,0);");
$newhavemsg=eReturnSetHavemsg($user['havemsg'],0);
$usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('havemsg')."='$newhavemsg' where ".egetmf('username')."='$to_username' limit 1");
if($sql)
{
printerror("AddMsgSuccess","../member/msg/",1);
}
else
{printerror("DbError","",1);}
}
//删除短消息
function DelMsg($mid){
global $empire,$dbtbpre;
$user=islogin();
$mid=(int)$mid;
if(!$mid)
{printerror("EmptyDelMsg","",1);}
$sql=$empire->query("delete from {$dbtbpre}enewsqmsg where mid='$mid' and to_username='$user[username]'");
if($sql)
{
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsqmsg where to_username='$user[username]' and haveread=0 limit 1");
if(!$num)
{
$newhavemsg=eReturnSetHavemsg($user['havemsg'],0);
$newhavemsg=$newhavemsg==2||$newhavemsg==3?2:0;
$empire->query("update ".eReturnMemberTable()." set ".egetmf('havemsg')."='$newhavemsg' where ".egetmf('userid')."='$user[userid]'");
}
printerror("DelMsgSuccess","../member/msg/",1);
}
else
{printerror("DbError","",1);}
}
//批量删除短消息
function DelMsg_all($mid){
global $empire,$dbtbpre;
$user=islogin();
$count=count($mid);
if(!$count)
{printerror("EmptyDelMsg","",1);}
for($i=0;$i<$count;$i++)
{
$add.="mid='".intval($mid[$i])."' or ";
}
$add=substr($add,0,strlen($add)-4);
$sql=$empire->query("delete from {$dbtbpre}enewsqmsg where (".$add.") and to_username='$user[username]'");
if($sql)
{
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsqmsg where to_username='$user[username]' and haveread=0 limit 1");
if(!$num)
{
$newhavemsg=eReturnSetHavemsg($user['havemsg'],0);
$newhavemsg=$newhavemsg==2||$newhavemsg==3?2:0;
$empire->query("update ".eReturnMemberTable()." set ".egetmf('havemsg')."='$newhavemsg' where ".egetmf('userid')."='$user[userid]'");
}
printerror("DelMsgSuccess","../member/msg/",1);
}
else
{printerror("DbError","",1);}
}
?>