我修改的,可能还有些小BUG呵呵~
- function obj2arr($obj) {
- $_arr = is_object($obj) ? get_object_vars($obj) : $obj;
- foreach ($_arr as $key => $val) {
- $val = (is_array($val) || is_object($val)) ? obj2arr($val) : $val;
- if($val==null&&in_array($key,array('p','n'))){
- $arr[$key] = array();
- }else{
- $arr[$key] = $val;
- }
- }
- return $arr;
- }
- if ( $act == "getListStatus" && $_POST['friend_uids']){
- //查询好友的作物状态
- /*$space = getspace($UID);
- if($space['friend']){
- $friendstr = $UID.",".$space['friend'];
- }else{
- $friendstr = $UID;
- }*/
- $fids = explode(',', $_POST['friend_uids']);
- foreach($fids as $k=>$v){
- if(!is_numeric($v))unset($fids[$k]);
- }
- $query = $_SGLOBAL['db']->query( "SELECT uid,Status,Weed,exp FROM ".tname( "happyfarm_nc" )." WHERE uid IN (".simplode($fids).") ORDER BY exp DESC LIMIT ".$_FCONFIG['friendnum'] );
- while ( $value = $_SGLOBAL['db']->fetch_array( $query ) ){
- $farm_Status = obj2arr(json_decode( $value['Status']));
- foreach ($farm_Status['farmlandstatus'] as $key => $value_1 ){
- $cId = intval($value_1['a']);
- if ( $cId > 0 ){
- //检查时间是否成熟
- $time1 = $cropstype[$cId]['growthCycle'];
- $time3 = $_SGLOBAL['timestamp'] - $value_1['q'];
- $flag = $time3 >= $time1;//成熟以后,不再有虫子和草
- if ( $value_1['q'] > 0 && $flag){
- //判断是否偷过
- $n = $value_1['n'];
- if(!isset($n[$UID])){
- $temp = $value_1['q'] + $time1;
- $exp[$value['uid']]["1"] = $temp;
- break;
- }
- }
- if(!$flag){
- //草
- if ( $value_1['f'] > 0){
- $exp[$value['uid']]["2"] = 1;
- break;
- }
- //虫子
- if ( $value_1['g'] > 0){
- $exp[$value['uid']]["3"] = 1;
- break;
- }
- }
- }
- }
- }
- $exp = json_encode( $exp );
- $int = strlen($exp);
- $str = substr( $exp, $int-1, 1 );
- if ( $str == "," ){
- $exp = substr( $exp, 0, $int-1 );
- }
- echo "{"status":".$exp."}";
- exit( );
- }
复制代码 |