# Tarka - Copyright (c) 2000-2010 NetCraft Australia Pty Ltd
include "/usr/tarka/inc/html.inc";
include "/usr/tarka/inc/postgres.inc";
include "/usr/tarka/inc/setting.inc";
include "/usr/tarka/inc/feature.inc";
include "/usr/tarka/inc/units.inc";
include "/usr/tarka/inc/tarka.inc";
include "/usr/tarka/inc/tax.inc";
include "/usr/tarka/inc/accounting.inc";
include "/usr/tarka/inc/datetime.inc";
include "/usr/tarka/inc/time-block.inc";
function format_mbytes($mb) {
if ($mb > 1000) {
return sprintf("%.2f GBytes", $mb / 1000);
}
return sprintf("%d MBytes", round($mb));
}
$login_id = "";
$error = "";
if (isset($login_name) and $login_name) {
$login_name_info = parse_login_name($login_name);
if ($login_name_info["realm_name"] != "bumblebee") {
$error = "Please supply a login name ending in @bumblebee";
} elseif (!$login_name_info["login_id"]) {
$error = "The login name entered does not match a valid prepaid card";
} elseif (!rows_matching_where("dialin",
"login_id = $login_name_info[login_id] " .
"AND enabled")) {
$error = "The login name entered does not match a valid prepaid card";
} elseif (!rows_matching_where(
"time_block",
"login_id = $login_name_info[login_id] AND
closed IS NULL AND
mb_allowed IS NOT NULL"
)) {
$error = "That prepaid card has been completely " .
"used and is no longer active";
} else {
$login_id = $login_name_info["login_id"];
}
}
?>
Solomon Telekom Internet SupportSolomon Telekom Internet Support
Welcome
if ($login_id) {
?>
This page shows the usage of your Prepaid card.
Please use it to monitor the time and data transfer you have left.
Broadband Prepaid Card Number: print $login_id ?>
$query = pg_ex("
SELECT time_block.id AS time_block_id,
time_block.valid_to,
time_block.mb_allowed,
sum(dialin_usage.kbytes_in) / 1000 AS mb_in,
sum(dialin_usage.kbytes_out) / 1000 AS mb_out,
data_usage_type.name AS data_usage_type
FROM time_block
JOIN data_usage_type
ON time_block.data_usage_type_id = data_usage_type.id
LEFT JOIN dialin_usage
ON time_block.id = dialin_usage.time_block_id
WHERE login_id = $login_id
AND closed IS NULL
AND (valid_from <= date(now()) OR valid_from IS NULL)
AND mb_allowed IS NOT NULL
GROUP BY time_block.id,
time_block.valid_to,
time_block.mb_allowed,
data_usage_type.name;
");
$num_rows = pg_numrows($query);
for ($row_num = 0; $row_num < $num_rows; $row_num++) {
$row = pg_fetch_array($query, $row_num);
$row["mb_used"] = figure_data_usage(
$row["time_block_id"],
$row["data_usage_type"],
$row["mb_in"],
$row["mb_out"]
);
$row["mb_remaining"] = $row["mb_allowed"] - $row["mb_used"];
$mb_remaining = format_mbytes($row["mb_remaining"]);
$mb_used = format_mbytes($row["mb_used"]);
$valid_to = iso_to_dmy(remove_timezone($row["valid_to"]));
?>
Amount Used: print $mb_used ?> Total Data left: print $mb_remaining ?>
Prepaid Card will expire on print $valid_to ?>
}
$query = pg_ex("
SELECT dialin_start.timestamp AS start_timestamp,
dialin_stop.timestamp AS stop_timestamp,
coalesce(dialin_stop.timestamp - dialin_start.timestamp,
dialin_session.elapsed_time) AS elapsed_time,
coalesce(dialin_stop.bytes_in,
dialin_session.bytes_in) / 1000 AS kb_in,
coalesce(dialin_stop.bytes_out,
dialin_session.bytes_out) / 1000 AS kb_out
FROM dialin_task
JOIN dialin_start
ON dialin_task.id = dialin_start.dialin_task_id
LEFT JOIN dialin_stop
ON dialin_task.id = dialin_stop.dialin_task_id
LEFT JOIN dialin_session
ON dialin_task.id = dialin_session.dialin_task_id
WHERE dialin_task.login_id = $login_id;
");
$num_rows = pg_numrows($query);
?>