本帖最后由 liuzhly 于 2010-01-14 18:43 编辑
有个朋友给我短信:
农场留言没提示,点进去才能看到提示数字,刷新又没了
所以给大家个修改方法:
打开:newfarmjson.php
找到如下修改成红色地方,请不要复制代码,只修改红色部分~~~
$message = json_decode( $list[0][message] );
$top = "";
$c = 0;
$b = substr_count(json_encode($message->c),',"status":0,'); //用户邮件
$b += substr_count(json_encode($message->d),',"status":"0",'); //用户装饰
$executesql=false;
foreach ( $message->e as $key => $value ){
if ( $value->status == 0 ){
$b++; //说明,为什么不用$c++; ,是因为不管$c的值是多少,都是提示1封邮件,所以用$b计算邮件多少
}elseif ( $value->status == 2 ){
if ( 3000 < $value->formulaId ){
$type = 3;
$Rid = 1;
}else if ( 2000 < $value->formulaId && $value->formulaId < 3000 ){
$type = 2;
$Rid = 1;
}else{
$type = 1;
$Rid = $value->formulaId % 12;
}
if($value->validTime == 0){
if( $_SGLOBAL['timestamp'] - $value->sendTime > $timeout[$type][$Rid]){
$executesql=true;
unset( $message->e[$key] );
}else{
$top[] = "{\"id\":".$value->id.",\"formulaId\":\"".$value->formulaId."\",\"type\":".$type.",\"friendId\":\"".$value->friendId."\",\"fName\":\"".$value->fName."\",\"charm\":".$value->charm.",\"msg\":\"".$value->msg."\",\"show\":\"1\",\"x\":\"".$value->x."\",\"y\":\"".$value->y."\",\"z\":\"".$value->z."\"}";
}
}else{
if($_SGLOBAL['timestamp'] > $value->validTime){
$executesql=true;
unset( $message->e[$key] );
}else{
$top[] = "{\"id\":".$value->id.",\"formulaId\":\"".$value->formulaId."\",\"type\":".$type.",\"friendId\":\"".$value->friendId."\",\"fName\":\"".$value->fName."\",\"charm\":".$value->charm.",\"msg\":\"".$value->msg."\",\"show\":\"1\",\"x\":\"".$value->x."\",\"y\":\"".$value->y."\",\"z\":\"".$value->z."\"}";
}
}
}
}
$top = json_encode( $top );
$top = str_replace( "\"{", "{", $top );
$top = str_replace( "}\"", "}", $top );
$top = str_replace( "\\u", "\\\\u", $top );
if ( $top == "" )
{
$top = "null";
}
$taskid = "";
if ( $list[0][taskid] < 12 )
{
$taskid = ",\"task\":{\"taskId\":".$list[0][taskid].",\"taskFlag\":1}";
}
if ( $list[0][taskid] == 1 )
{
$taskid = ",\"task\":{\"taskId\":".$list[0][taskid].",\"taskFlag\":1},\"welcome\":1";
}
$isread = $_SGLOBAL['db']->result($_SGLOBAL['db']->query("SELECT COUNT(*) FROM ".tname('plug_newfarm_logs')." WHERE uid = ".$_SGLOBAL['supe_uid']." and isread = 0"), 0);
if ($isread){
$a = 1;
}else {
$a = 0;
}
if($executesql){
$message = json_encode( $message );
$message = preg_replace( "'\"[0-9]+\":{'", "{", $message );
$message = str_ireplace( "\"e\":{{", "\"e\":[{", $message );
$message = str_ireplace( "}}}", "}]}", $message );
$message = str_replace( "\\u", "\\\\u", $message );
$_SGLOBAL['db']->query( "UPDATE ".tname( "plug_newfarm" )." set message='".$message."' where uid=".$_SGLOBAL['supe_uid'] );
}
echo stripslashes( "{\"farmlandStatus\":".$farmlandstatusarr.",\"items\":{".$decorative_srt."},\"exp\":".$list[0][exp].",\"charm\":".$list[0][charm].",\"dog\":".$dogstr.",\"top\":".$top.",\"weather\":{\"weatherId\":1},\"serverTime\":{\"time\":".$_SGLOBAL['timestamp']."},\"user\":{\"uId\":\"".$_SGLOBAL['supe_uid']."\",\"userName\":\"".str_replace( "\\u", "\\\\u", unicode_encodegb( $space['username'] ) )."\",\"money\":".$list[0][money].",\"FB\":\"".$list[0][fb]."\",\"exp\":".$list[0][exp].",\"charm\":".$list[0][charm].",\"headPic\":\"".avatarfarm( $_SGLOBAL[supe_uid], "small", TRUE )."\"},\"a\":".$a.",\"c\":".$c.",\"b\":{$b}".$taskid."}" );
exit( );
============不熟悉的忽略下面===================
说明:
$b = substr_count(json_encode($message->c),',"status":0,'); //用户邮件
$b += substr_count(json_encode($message->d),',"status":"0",'); //用户装饰
其实可修改为:
$b = substr_count($list[0][message],',"status":0,'); //用户邮件
去掉:$b++;
然后查找 status\":\"0\" 改成 status\":0 ,就是去掉引号就可以了!不过不熟悉代码的请不要这样做!
因为目前在MESSAGE字段中, {"a":[未知未用],"b":[未知未用],"c":[邮件],"d":[赠送的场景装饰],"e":[赠送的鲜花礼物]} ,为了保持兼容性,还是建议使用
$b = substr_count(json_encode($message->c),',"status":0,'); //用户邮件
$b += substr_count(json_encode($message->d),',"status":"0",'); //用户装饰
方法!! |