说明:以前的版本正常显示,后来就不显示了。为此,根据liuzhiy优化代码的启发修改。
以下代码都已经是liuzhiy优化后的代码,本人仅仅在优化的基础上修正了邮件不显示发件人的bug。
1.原农场代码
if ( $_REQUEST['mod'] == "message" && $_REQUEST['act'] == "sendMessage" && $_REQUEST['type'] == "3" )
{
$message = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT message FROM ".tname(
"plug_newfarm" )." where uid=".intval( $_REQUEST['toId'] ) ), 0 );
//消息修复
if($message == ''){exit( );}
$request_msg = str_replace(array(",","[url=]\\\"","\\'","\\","\t","\r\n","\n","\r"),array[/url]
(';','``','`','|','',' ','',''),$_REQUEST['msg']);
if($request_msg == ''){exit( );}
//消息修复
$message = json_decode( $message );
if(count($message->c) >=20){
array_splice($message->c,0,1); //删除多余的,保留60封
}
$message->c[] = "{\"fromId\":\"".$_SGLOBAL['supe_uid']."\",\"sendTime\":".$_SGLOBAL
['timestamp'].",\"eDesc\":\"".$request_msg."\",\"status\":0,\"id\":".$_SGLOBAL['timestamp'].",\"name\":\"".unicode_encodegb(
$value[username] )."\"}";
//消息修复
$message = json_encode( $message );
//消息修复
$message = str_replace(array("\"{","}\"","\\u",",null","null"), array("{","}","[url=]\\\\u[/url]","",""),
$message );
$message = preg_replace('/,\s*([\]}])/m', '$1',$message);//替换掉多余的逗号{"a":1,"b":2,}
//消息修复
2.修改后代码
if ( $_REQUEST['mod'] == "message" && $_REQUEST['act'] == "sendMessage" && $_REQUEST['type'] == "3" )
{
$message = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT message FROM ".tname(
"plug_newfarm" )." where uid=".intval( $_REQUEST['toId'] ) ), 0 );
//消息修复
if($message == ''){exit( );}
$request_msg = str_replace(array(",","[url=]\\\"","\\'","\\","\t","\r\n","\n","\r"),array[/url]
(';','``','`','|','',' ','',''),$_REQUEST['msg']);
if($request_msg == ''){exit( );}
//消息修复
$message = json_decode( $message );
if(count($message->c) >=20){
array_splice($message->c,0,1); //删除多余的,保留60封
}
$message->c[] = "{\"fromId\":\"".$_SGLOBAL['supe_uid']."\",\"sendTime\":".$_SGLOBAL
['timestamp'].",\"eDesc\":\"".$request_msg."\",\"status\":0,\"id\":".$_SGLOBAL['timestamp'].",\"name\":\"".unicode_encodegb(
$space[username] )."\"}";
//消息修复
$message = json_encode( $message );
//消息修复
$message = str_replace(array("\"{","}\"","\\u",",null","null"), array("{","}","[url=]\\\\u[/url]","",""),
$message );
$message = preg_replace('/,\s*([\]}])/m', '$1',$message);//替换掉多余的逗号{"a":1,"b":2,}
//消息修复 |