if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
    print "Forbidden! Access only from localhost!\n";
    exit(0);
}
print "# gettracks.php result, trackversion={$trackversion}\n";
if ($maxdistance != 0) {
    print "# will extract node pairs longer than {$maxdistance} km.\n";
}
print "# Format: <trackId>\t<penalty>\t<num-of-points>\t<lat1 lon1 lat2 lon2>\t<loop>\t<transferNodes>\n";
$result = mysqli_query($global_mysqli_link, "SELECT trackTypeId, trackId, AsText(geodata), pathloop, penalty, transferNodes FROM tracks WHERE geodata IS NOT NULL ORDER BY trackId") or die_nice("Can't retrieve the track infromation from database: " . mysqli_error($global_mysqli_link));
while ($row = mysqli_fetch_row($result)) {
    if (!file_exists('../../public_html/images/means/' . $row[0] . '/' . $row[1] . $means_image_extension)) {
        print "# WARNING: couldn't find image file for this route: " . $row[0] . '.' . $row[1] . "\n";
    }
    // Setup track info
    $tracks = lineStringToLatLngArray($row[2]);
    $tracksize = sizeof($tracks);
    $transitnodes = $row[5] == '' ? array('0-' . ($tracksize - 1)) : split(',', $row[5]);
    $transitnodes_count = count($transitnodes);
    for ($i = 0; $i < $transitnodes_count; $i++) {
        $transitnodes[$i] = rangestr_to_array($transitnodes[$i]);
    }
    $trackstring = '';
    $inserted_nodes = 0;
    $transfernodes_offset = array();
    // Print tracks
    for ($i = 0, $length = sizeof($tracks); $i < $length; $i++) {
        // Process the list
        list($lat, $lon) = explode(',', $tracks[$i]);
        // several actions if we are higher than 1st element
        if ($i > 0) {
Exemple #2
0
    }
    // Construct json.
    $json = array($proto_status => $proto_status_ok, $proto_trackslist => $track_list, $proto_tracktypeslist => $tracktype_list);
    deinit_mysql();
    print json_encode($json);
} elseif ($mode == $proto_mode_getdetails_track) {
    check_privilege($privilege_route);
    $trackid = addslashes(retrieve_from_post($proto_trackid));
    // Retrieve result from database and construct in XML format
    $result = mysqli_query($global_mysqli_link, "SELECT trackTypeId, trackName, internalInfo, AsText(geodata), pathloop, penalty, transferNodes FROM tracks WHERE trackId='{$trackid}'") or die_nice("Can't retrieve the track details from database: " . mysqli_error($global_mysqli_link), true);
    $i = 0;
    $row = mysqli_fetch_row($result);
    if ($row == FALSE) {
        die_nice("Can't find track information for '{$trackid}'", true);
    }
    $geodata = lineStringToLatLngArray($row[3]);
    // Construct json.
    $json = array($proto_status => $proto_status_ok, $proto_trackid => $trackid, $proto_tracktype => $row[0], $proto_trackname => $row[1], $proto_internalinfo => $row[2], $proto_geodata => $geodata, $proto_pathloop => $row[4] > 0 ? true : false, $proto_penalty => doubleval($row[5]), $proto_transfernodes => is_null($row[6]) ? array('0-' . (count($geodata) - 1)) : split(',', $row[6]));
    deinit_mysql();
    print json_encode($json);
} elseif ($mode == $proto_mode_cleargeodata) {
    check_privilege($privilege_route);
    $trackid = addslashes(retrieve_from_post($proto_trackid));
    mysqli_query($global_mysqli_link, "UPDATE tracks SET geodata=NULL, transferNodes=NULL WHERE trackId='{$trackid}'") or die_nice('Failed to clear the geodata: ' . mysqli_error($global_mysqli_link), true);
    deinit_mysql();
    well_done();
} elseif ($mode == $proto_mode_importkml) {
    check_privilege($privilege_route);
    $trackid = addslashes(retrieve_from_post($proto_trackid));
    // Import KML file into a geodata in database
    if ($_FILES[$proto_uploadedfile]['error'] != UPLOAD_ERR_OK) {