解决赠送装饰邮件提示的时候,发现个问题,如果用户购买装饰达到期限前一天,此用户可卸下装饰赠送给好友,然后好友再赠送回来,装饰即可继续使用28天!
上解决方法:打开 newfarmjosn.php,找到如下:
if ( $_REQUEST['mod'] == "message" && $_REQUEST['act'] == "sendMessage" && $_REQUEST['type'] == "4" )
{
$message = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT message FROM ".tname( "plug_newfarm" )." where uid=".intval( $_REQUEST['toId'] ) ), 0 );
$message = json_decode( $message );
$decorative = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT decorative FROM ".tname( "plug_newfarm" )." where uid=".$_SGLOBAL['supe_uid'] ), 0 );
$decorative = json_decode( $decorative );
$validTime = $_SGLOBAL['timestamp'] + 2505600;
$message->d[] = "{\"id\":\"".$_SGLOBAL['timestamp']."\",\"itemId\":\"".$_REQUEST['id']."\",\"itemType\":\"".$_REQUEST['type']."\",\"validTime\":\"".$validTime."\",\"status\":\"0\",\"itemName\":\"\",\"name\":\"".unicode_encodegb( $value[username] )."\"}";
$message = json_encode( $message );
$message = str_replace( "\"{", "{", $message );
$message = str_replace( "}\"", "}", $message );
$message = str_replace( "\\u", "\\\\u", $message );
$_SGLOBAL['db']->query( "UPDATE ".tname( "plug_newfarm" )." set message='".$message."' where uid=".intval( $_REQUEST['toId'] ) );
foreach ( $decorative as $key1 => $value1 )
{
foreach ( $value1 as $key2 => $value2 )
{
if ( $key2 == $_REQUEST['id'] )
{
$value2->validtime = "1";
//echo "-";
}
}
}
$decorative = json_encode( $decorative );
$_SGLOBAL['db']->query( "UPDATE ".tname( "plug_newfarm" )." set decorative='".$decorative."' where uid=".$_SGLOBAL['supe_uid'] );
echo "{\"code\":1,\"type\":4,\"id\":\"".$_REQUEST['id']."\"}";
exit( );
}
修改为(将蓝色部分移动到如下红色区域,并且增加代码是橙色代码即可解决):
if ( $_REQUEST['mod'] == "message" && $_REQUEST['act'] == "sendMessage" && $_REQUEST['type'] == "4" )
{
$message = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT message FROM ".tname( "plug_newfarm" )." where uid=".intval( $_REQUEST['toId'] ) ), 0 );
$message = json_decode( $message );
$decorative = $_SGLOBAL['db']->result( $_SGLOBAL['db']->query( "SELECT decorative FROM ".tname( "plug_newfarm" )." where uid=".$_SGLOBAL['supe_uid'] ), 0 );
$decorative = json_decode( $decorative );
$validTime = $_SGLOBAL['timestamp'] + 2505600;
foreach ( $decorative as $key1 => $value1 )
{
foreach ( $value1 as $key2 => $value2 )
{
if ( $key2 == $_REQUEST['id'] )
{
$validTime = $value2->validtime;
$value2->validtime = "1";
//echo "-";
}
}
}
$message->d[] = "{\"id\":\"".$_SGLOBAL['timestamp']."\",\"itemId\":\"".$_REQUEST['id']."\",\"itemType\":\"".$_REQUEST['type']."\",\"validTime\":\"".$validTime."\",\"status\":\"0\",\"itemName\":\"\",\"name\":\"".unicode_encodegb( $value[username] )."\"}";
$message = json_encode( $message );
$message = str_replace( "\"{", "{", $message );
$message = str_replace( "}\"", "}", $message );
$message = str_replace( "\\u", "\\\\u", $message );
$_SGLOBAL['db']->query( "UPDATE ".tname( "plug_newfarm" )." set message='".$message."' where uid=".intval( $_REQUEST['toId'] ) );
$decorative = json_encode( $decorative );
$_SGLOBAL['db']->query( "UPDATE ".tname( "plug_newfarm" )." set decorative='".$decorative."' where uid=".$_SGLOBAL['supe_uid'] );
echo "{\"code\":1,\"type\":4,\"id\":\"".$_REQUEST['id']."\"}";
exit( );
}
这样,用户不管怎样赠送,剩余时间是多少就是多少~~~ |