//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'.
} 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")) {
} 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);