[afnog] phpMyPrepaid

Alex Gondwe alexgondwe at yahoo.com
Mon Oct 17 15:02:21 EAT 2005


Sunday,

Thanks alot for youe help. I modified your cscript to
take out the expired user from the system. The session
timeout is also working fine. I can now see the sun at
the end of the tunnel.

It took a lot of soft drink, head scratching and foot
stamping. 

The baby seems  to be singing the right tune now.

TTHanks once again.

--- Sunday A Folayan <sfolayan at skannet.com.ng> wrote:

> Alex,
> 
> You need to hack the code to get the baby to sing as
> you want :-)
> 
> At 02:39 PM 10/14/2005, Alex Gondwe wrote:
> 
> >Hello, All,
> >
> >I have setup a computer running fedora core 2. I
> have
> >installed chillispot, Freeradius and
> >phpMyPrepaid.0.3.0RC1. I can authenticate
> >wireless,dialup clients and NAS quite alright.
> >Accounting is also working fine.
> 
> Cool. Installing phpMyPrepaid on an existing FreeBSD
> Radius Server, I got 
> it to work in 7 minutes flat.
> 
> >My problem is that if I use phpMyPrepaid:
> >
> >1. The the client does not get booted out after
> >exceeding the number of minutes allocated to a
> >particular prepaid card.
> 
> You need a session-time-out  attribute, apart from
> the 
> default  Max-All-Session attribute that phpMyPrepaid
> adds for you.
> 
> Edit the file:  CrCards/DBinsert.php
> 
> Copy lines 9 and 10 to be 11 and 12.
> 
> ensure lines 11 and 12 match this:
>          $q3= "INSERT INTO radcheck (UserName ,
> Attribute, op, Value) 
> VALUES('$id','Session-Timeout',':=','$sec')";
>          $insert3 = mysql_query($q3) or
> die(mysql_error());
> 
> >2. When the prepaid card has expired, it is still
> >possible to authenticate using the username and
> >password associated with the card.
> 
> You need a script to ensure that Sessions that have
> been used up are rejected
> 
>  From the file: UsedCards.php,
>          // We need to select all accounts in
> radcheck that have a 
> Max-All-Session Value
>          // which is >= to SUM(AcctSessionTime)
> 
> I got the idea that used up sessions will have
> sum(AcctSessionTime) > 
> Max-All-Session, so I went borrowing some of their
> codes to come up wit ha 
> cleanup script.
> 
> ==CUT BEGIN
> <?php
> include("config.inc.php");
>          // We need to set Auth-Type := Reject for
> all accounts in radcheck 
> that
>          // have a Max-All-Session Value  which is
> >= to SUM(AcctSessionTime)
>   $query = "SELECT UserName, Value FROM radcheck
> WHERE Attribute LIKE 
> 'Max-All-Session'";
>   $result = mysql_query($query) or
> die(mysql_error());
>   while($row = mysql_fetch_object($result)) {
>          $user = $row->UserName;
>          $Val = $row->Value;
>          $q2 = "SELECT SUM(AcctSessionTime) as
> TotalSessionTime FROM 
> radacct WHERE UserName LIKE '$user'";
>          $numresults=mysql_query($q2);
>          $numrows=mysql_num_rows($numresults);
>          $res2 = mysql_query($q2) or
> die(mysql_error());
>          while($r2 = mysql_fetch_object($res2)) {
>            $used = $r2->TotalSessionTime;
>            if(!isset($used)) { $used = -1; }  //
> These lines are to catch 
> errors, NULLS and non numbers
>            if(!is_numeric($used)) { $used = -1; }
>            if(!isset($Val)) { $Val = 0; }
>            if(!is_numeric($Val)) { $Val = 0; }
>            echo "$user $used $Val\n";
>            if ($used >= $Val) {
>              //Flag as expired
>              $qsf= "INSERT INTO radcheck (UserName ,
> Attribute, op, Value) 
> VALUES('$id','Auth-Type',':=','Reject')";
>              $insertsf = mysql_query($qsf) or
> die(mysql_error());
>            }
>         }
>    }
> ?>
> == CUT END
> 
> save this file, and run it with:
>          php cleanup.php
> 
> It should emit some debug info, for you to know it
> is working.
> 
>   add the following to your crontab, so that the
> script is run every 5 minutes
> 
> */5 * * * * /path_to_your_phpMyPrepaid/cleanup.php
> 1>/dev/null 2>/dev/null
> 
> >Has anybody successifully  done a simillar
> >installation before. Can someone help!!!
> 
> There you are. I hope I have been of help.
> 
> 
> >Regards Alex Gondwe
> >Malawi
> 
> Sunday A. Folayan.
> Nigeria.
> 
> 



	
		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com



More information about the afnog mailing list