Esempio n. 1
0
                // {"passenger":{"Name": "a", "CurPoint": 1, "Path": 1}}
                $clientStr = '{"passenger":{"Name": "' . $passInfo['name'] . '", "CurPoint": ' . $passInfo['curpoint'] . ', "Path": ' . $reCarpoolPath . '}}';
                echo $clientStr;
            }
        }
    }
} else {
    // Get necessary data from db
    // function GetneceData($did, $pids, $onlyPath)
    $neceData = GetneceData($data['did'], $data['pids'], $data['carpoolidx']);
    // first update driver current point
    UpdateCurrentPoint($data['did'], $data['curpoint']);
    // get target point
    $targetPoint = GetTargetPoint($neceData['driverPath'], $neceData['points']);
    // determine target point owner if get in car or get out off car
    $calResult = DetResult($targetPoint);
    // get each passengers' curpoint
    // SELECT `passenger`.`aid`, `passenger`.`curpoint` FROM `passenger` WHERE (NOT `passenger`.`finished`) AND `passenger`.`aid` =
    $passCurpoints = array();
    if (count($data['pids'])) {
        $passCurpoints = array();
        $passCurpointSql = 'SELECT `passenger`.`aid`, `passenger`.`curpoint` FROM `passenger` WHERE (NOT `passenger`.`finished`) AND `passenger`.`aid` IN (' . join(",", $data['pids']) . ')';
        $passCurpoint = mysql_query($passCurpointSql);
        while ($lineData = mysql_fetch_array($passCurpoint, MYSQL_ASSOC)) {
            if (in_array($lineData['aid'], $data['pids']) && $lineData['aid'] != $calResult[0]['id']) {
                array_push($passCurpoints, array("id" => $lineData['aid'], "curpoint" => json_decode($lineData['curpoint'], true)));
            }
        }
    }
    echo '{"calResult":' . urldecode(json_encode($calResult)) . ', "passCurpoints" : ' . json_encode($passCurpoints) . '}';
}
        echo $clientStr;
    }
} else {
    if ($data['resetStatus']) {
        // update passenger get in and get out off car state
        // UPDATE `passenger` SET `passenger`.`getinStatus` = 0, `passenger`.`getoffStatus` = 0  WHERE (NOT `passenger`.`finished`) AND `passenger`.`aid` = 1046779538684831
        $UpdatePassStatusSql = 'UPDATE `passenger` SET `passenger`.`getinStatus` = 0, `passenger`.`getoffStatus` = 0  WHERE (NOT `passenger`.`finished`) AND `passenger`.`aid` = ' . $data['pid'];
        $UpdatePassStatusResult = mysql_query($UpdatePassStatusSql);
    } else {
        // Get necessary data from db
        // function GetneceData($pid, $dids, $onlyPath)
        $neceData = GetneceData($data['pid'], $data['dids'], $data['curdriveridx']);
        // first update driver current point
        UpdateCurrentPoint($data['pid'], $data['curpoint']);
        // determine target point owner if get in car or get out off car
        $calResult = DetResult($neceData);
        echo '{"calResult":' . $calResult . ', "driverCurpoints" : ' . json_encode($neceData['driversCurpoint']) . '}';
    }
}
/*
 **************************************************************************************************
 **************************************************************************************************
 *                                   FUNCTION DEFINITION START                                    *
 **************************************************************************************************
 **************************************************************************************************
 */
// get necessary data
// carpool path , driver curpoint
function GetneceData($pid, $dids, $curDidIdx)
{
    $neceData = array();