예제 #1
0
        //mendapatkan string dari menjangan_url + /?start=$start. setelah mendapatkan string tersebut, lakukan pemisahan enter
        $lines = explode("\n", file_get_contents($menjangan_url . "/?start={$start}", NULL, NULL, 0, $maximum_http_response_size + 1));
        $nearby_result = array();
        foreach ($lines as $line) {
            //pengulangan sebanyak %lines
            //pemisahan dari "\" dari line, lalu list menjadi tracktypeid,trackid,distance
            list($trackTypeId, $trackId, $distance) = explode("/", $line);
            //result melakukan sql query mendapatkan trackname dari tabel tracks dimana trackid dan tracktypeid sesuai.
            $result = mysqli_query($global_mysqli_link, "SELECT trackName FROM tracks WHERE trackId='{$trackId}' AND trackTypeId='{$trackTypeId}'") or die_nice("Can't get nearest track details: " . mysqli_error($global_mysqli_link));
            while ($row = mysqli_fetch_array($result)) {
                $trackName = $row[0];
                $nearby_result[] = array($trackTypeId, $trackId, $trackName, $distance);
            }
        }
        usort($nearby_result, "nearby_result_compare");
        log_statistic($apikey, "NEARBYTRANSPORTS", "{$start}" . sizeof($results));
        $json_output = array($proto_status => $proto_status_ok, $proto_nearbytransports => $nearby_result);
        print json_encode($json_output);
    } else {
        //version <2
        die_nice("Nearby transit is not supported in version 1");
    }
} else {
    die_nice("Mode not understood: \"" . $mode . "\"");
}
/**
 * Replace a location point into a human readable form with most effort.
 * This function requires MySQL connection to be active.
 * For example:
 * <ul>
 * <li>'start' => 'your starting point'.
예제 #2
0
}
include "../../etc/locale/tirtayasa_{$locale}.php";
$apikey_validity = check_apikey_validity($apikey);
if (is_bool($apikey_validity)) {
    if (!$apikey_validity) {
        header('HTTP/1.0 403 Forbidden');
        print "Invalid API Key\n";
        exit(0);
    }
} else {
    header('HTTP/1.0 403 Forbidden');
    print "{$apikey_validity}\n";
    log_statistic($apikey, 'WIDGETERROR', $apikey_validity);
    exit(0);
}
log_statistic($apikey, 'WIDGETLOAD', $_SERVER['HTTP_REFERER'] . '/' . $_SERVER['REMOTE_ADDR'] . '/');
// Set region and validate
switch ($region) {
    case $proto_region_jakarta:
        break;
    default:
        $region = $proto_region_bandung;
}
$regioninfo = $regioninfos[$region];
// Set custom images
$logo = null;
if (file_exists("images/logo{$apikey}.png")) {
    $logo = "images/logo{$apikey}.png";
}
foreach (array($proto_routestart, $proto_routefinish) as $endpoint) {
    if (file_exists("images/{$endpoint}{$apikey}.png")) {
예제 #3
0
} elseif ($mode == $proto_mode_register) {
    $email = addslashes(retrieve_from_post($proto_userid));
    $fullname = addslashes(retrieve_from_post($proto_fullname));
    $company = addslashes(retrieve_from_post($proto_company));
    // Check if the email has already been registered.
    $result = mysqli_query($global_mysqli_link, "SELECT email FROM users WHERE email='{$email}'") or die_nice('Cannot check user id existence: ' . mysqli_error($global_mysqli_link));
    if (mysqli_num_rows($result) > 0) {
        die_nice("Ooops! Email {$email} has already registered. Please check your mailbox or contact hello@kiri.travel");
    }
    // Generate and send password
    $password = generate_password();
    $hasher = new PasswordHash($passwordhash_cost_log2, $passwordhash_portable);
    $passwordHash = $hasher->HashPassword($password);
    mysqli_query($global_mysqli_link, "INSERT INTO users(email, password, privilegeApiUsage, fullName, company) VALUES('{$email}', '{$passwordHash}', 1, '{$fullname}', '{$company}')") or die_nice('Cannot add new user $email: ' . mysqli_error($global_mysqli_link));
    sendPassword($email, $password, $fullname);
    log_statistic("{$apikey_kiri}", 'REGISTER', "{$email}/{$fullname}/{$company}");
    deinit_mysql();
    well_done();
} elseif ($mode == $proto_mode_getprofile) {
    $email = $active_userid;
    $result = mysqli_query($global_mysqli_link, "SELECT fullName, company FROM users WHERE email='{$email}'") or die_nice('Cannot retrieve user details: ' . mysqli_error($global_mysqli_link));
    if ($row = mysqli_fetch_row($result)) {
        $fullname = $row[0];
        $company = $row[1];
    } else {
        die_nice("User {$email} not found in database.");
    }
    deinit_mysql();
    // Construct json.
    $json = array($proto_status => $proto_status_ok, $proto_fullname => $fullname, $proto_company => $company);
    print json_encode($json);