? astcc/diff
? asterisk/doc/api
? zaptel/.tmp_versions
? zaptel/.zaptel.o.d
Index: astcc/astcc-admin.cgi
===================================================================
RCS file: /usr/cvsroot/astcc/astcc-admin.cgi,v
retrieving revision 1.7
diff -u -r1.7 astcc-admin.cgi
--- astcc/astcc-admin.cgi 1 Sep 2004 18:33:35 -0000 1.7
+++ astcc/astcc-admin.cgi 18 Sep 2004 07:09:48 -0000
@@ -119,6 +119,19 @@
return "";
}
+sub list_cards() {
+ my $sth;
+ my @cardlist;
+ my $row;
+ $sth = $dbh->prepare("SELECT number FROM cards");
+ $sth->execute;
+ while($row = $sth->fetchrow_hashref) {
+ push @cardlist, $row->{number};
+ }
+ $sth->finish;
+ return @cardlist;
+}
+
sub list_trunks() {
my $sth;
my @trunklist;
@@ -160,8 +173,17 @@
sub findunique() {
my $number;
for (;;) {
- $number = int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000); # . int(rand() * 9000 + 1000);
+ $number = int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000) . int(rand() * 9000 + 1000);
+ if ($config{'startingdigit'} ne "" ) {
+ $startingdigit = substr($number, 0, 1);
+ if ($startingdigit == $config{'startingdigit'}) {
+ $number = substr($number, 0, $config{'cardlength'});
+ return $number if (&isunique($number));
+ }
+ } else {
+ $number = substr($number, 0, $config{'cardlength'});
return $number if (&isunique($number));
+ }
}
}
@@ -183,6 +205,11 @@
# Retrieve brand specifications
my $sth = $dbh->prepare("SELECT * FROM brands WHERE name = " . $dbh->quote($brand));
$sth->execute;
+ if ($config{'email'} eq "YES") {
+ open (EMAIL, "| $config{mailprog} $config{emailadd} -s 'New Cards Created'") ||
+ die "Error - could not write to $config{mailprog}\n";
+ print EMAIL "You have added $count $brand cards in the amount of $pennies cents. \n\n";
+ }
if ($row = $sth->fetchrow_hashref) {
($language, $inc, $markup) = ($row->{language}, $row->{inc}, $row->{markup});
}
@@ -191,8 +218,15 @@
for ($x=0; $x < $count; $x++) {
$number = &findunique;
&addcard($number, $language, $pennies * 100, $inc, $markup);
+ if ($config{'email'} eq "YES") {
+ print EMAIL "$number \n";
+ }
$status .= "$number
";
}
+ if ($config{'email'} eq "YES") {
+ print EMAIL ".\n";
+ close (EMAIL);
+ }
return $status;
}
@@ -223,6 +257,21 @@
} else {
$status = &generatecards($count, $pennies, $brand);
}
+ } elsif (param('action') eq "Drop...") {
+ if ($dbh->do("DELETE FROM cards WHERE number = " . $dbh->quote(param('number')))) {
+ $status = "Dropped card " . param('number') . "'.";
+ } else {
+ $status = "Unable to drop card ". param('number') . "'.";
+ }
+ } elsif (param('action') eq "Refill...") {
+ $cardinfo = &getcard(param('refillnum'));
+ $number = $cardinfo->{number};
+ $newfacevalue = $cardinfo->{facevalue} + (param('refillpennies') * 100);
+ if ($dbh->do("UPDATE cards SET facevalue= $newfacevalue WHERE number= $cardinfo->{number}")) {
+ $status = "Refilled card " . param('refillnum') . "'.";
+ } else {
+ $status = "Unable to Refill card". param('refillnum') . "'.";
+ }
}
$total = &count_cards();
$used = &count_cards("WHERE firstuse > 0");
@@ -232,10 +281,20 @@
textfield(-name => "count", -size => 8) . " " . $brands . " cards of " .
textfield(-name => "pennies", -size => 8) . " pennies " .
submit(-name => "action", -value => "Generate...") . "";
+ $body .= "
| Card Number | Amount Used | Face Value | Markup | Creation | First Use | Expiration | In Use |
| $cardnum | $cardinfo->{used} | $cardinfo->{facevalue} | $cardinfo->{markup} | $cardinfo->{creation} | $cardinfo->{firstuse} | $cardinfo->{expiration} | $cardinfo->{inuse}"; + $body .= " |