Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

=====开心农场=====小修改,杜绝用户延长使用装饰的bug

[复制链接]
liuzhly 发表于 2010-1-14 19:12:09 | 显示全部楼层 |阅读模式
解决赠送装饰邮件提示的时候,发现个问题,如果用户购买装饰达到期限前一天,此用户可卸下装饰赠送给好友,然后好友再赠送回来,装饰即可继续使用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( );
}

这样,用户不管怎样赠送,剩余时间是多少就是多少~~~
回复

使用道具 举报

daitangjun 发表于 2010-1-14 19:22:08 | 显示全部楼层
强烈支持楼主!!!
回复

使用道具 举报

火风 发表于 2010-1-14 19:26:50 | 显示全部楼层
这样的帖子,相当的无私!
回复

使用道具 举报

dansui1314 发表于 2010-1-14 19:27:53 | 显示全部楼层
支持!!!!
回复

使用道具 举报

kazzak 发表于 2010-1-14 19:39:03 | 显示全部楼层
又要顶了,楼主好人
回复

使用道具 举报

hs999 发表于 2010-1-14 20:40:38 | 显示全部楼层
回复

使用道具 举报

aikato 发表于 2010-1-14 23:20:42 | 显示全部楼层
支持樓主喔~~~~~~~~~~~
回复

使用道具 举报

intexx 发表于 2010-1-14 23:48:21 | 显示全部楼层
每次出来总有新的惊喜
回复

使用道具 举报

samfs 发表于 2010-1-14 23:51:38 | 显示全部楼层
回复

使用道具 举报

samfs 发表于 2010-1-19 23:44:46 | 显示全部楼层
感谢高手无私、细心、服务大家。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-10-21 18:40 , Processed in 0.101618 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表