summaryrefslogtreecommitdiff
path: root/FS/FS/session.pm
diff options
context:
space:
mode:
authorivan <ivan>2000-12-08 22:22:31 +0000
committerivan <ivan>2000-12-08 22:22:31 +0000
commit21ec8a6b7223054c6137fdbffa0e059c5c6c9473 (patch)
tree5ef44bb5c2237d1a7cad64cd1a927195ca4853f5 /FS/FS/session.pm
parentcac4fe686355b65673f01d63013d9164a0a3c576 (diff)
session callbacks
Diffstat (limited to 'FS/FS/session.pm')
-rw-r--r--FS/FS/session.pm26
1 files changed, 22 insertions, 4 deletions
diff --git a/FS/FS/session.pm b/FS/FS/session.pm
index 027708d..61dc899 100644
--- a/FS/FS/session.pm
+++ b/FS/FS/session.pm
@@ -1,7 +1,7 @@
package FS::session;
use strict;
-use vars qw( @ISA );
+use vars qw( @ISA $conf $start $stop );
use FS::Record qw( qsearchs );
use FS::svc_acct;
use FS::port;
@@ -9,6 +9,12 @@ use FS::nas;
@ISA = qw(FS::Record);
+$FS::UID::callback{'FS::session'} = sub {
+ $conf = new FS::Conf;
+ $start = $conf->exists('session-start') ? $conf->config('session-start') : '';
+ $stop = $conf->exists('session-stop') ? $conf->config('session-stop') : '';
+};
+
=head1 NAME
FS::session - Object methods for session records
@@ -104,7 +110,13 @@ sub insert {
$self->nas_heartbeat($self->getfield('login'));
- #session-starting callback!
+ #session-starting callback
+ #redundant with heartbeat, yuck
+ my $port = qsearchs('port',{'portnum'=>$self->portnum});
+ my $nas = qsearchs('nas',{'nasnum'=>$port->nasnum});
+ #kcuy
+ my( $ip, $nasip, $nasfqdn ) = ( $port->ip, $nas->nasip, $nas->nasfqdn );
+ system( eval qq("$start") ) if $start;
'';
@@ -147,7 +159,13 @@ sub replace {
$self->nas_heartbeat($self->getfield('logout'));
- #session-ending callback!
+ #session-ending callback
+ #redundant with heartbeat, yuck
+ my $port = qsearchs('port',{'portnum'=>$self->portnum});
+ my $nas = qsearchs('nas',{'nasnum'=>$port->nasnum});
+ #kcuy
+ my( $ip, $nasip, $nasfqdn ) = ( $port->ip, $nas->nasip, $nas->nasfqdn );
+ session( eval qq("$stop") ) if $stop;
'';
}
@@ -206,7 +224,7 @@ sub svc_acct {
=head1 VERSION
-$Id: session.pm,v 1.3 2000-12-03 20:25:20 ivan Exp $
+$Id: session.pm,v 1.4 2000-12-08 22:22:31 ivan Exp $
=head1 BUGS