diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-02-12 00:07:49 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-02-12 00:07:49 -0800 |
commit | 0b25e1048d9d41cb92da42b99e0982910539f320 (patch) | |
tree | 9f436bc2d3b9abf6cc5bef38f36615246db022dd /FS/FS/svc_Radius_Mixin.pm | |
parent | 6a9d67e128bbcd6a32ef806c8bed10faab535ab5 (diff) |
fix broadband_sqlradius usage display, RT#26451
Diffstat (limited to 'FS/FS/svc_Radius_Mixin.pm')
-rw-r--r-- | FS/FS/svc_Radius_Mixin.pm | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/FS/FS/svc_Radius_Mixin.pm b/FS/FS/svc_Radius_Mixin.pm index 544c7e9..969f749 100644 --- a/FS/FS/svc_Radius_Mixin.pm +++ b/FS/FS/svc_Radius_Mixin.pm @@ -159,6 +159,61 @@ sub radius_groups { return map {$_->$method} @groups; } +=item seconds_since_sqlradacct TIMESTAMP_START TIMESTAMP_END + +Returns the numbers of seconds this account has been online between +TIMESTAMP_START (inclusive) and TIMESTAMP_END (exclusive), according to an +external SQL radacct table, specified via sqlradius export. Sessions which +started in the specified range but are still open are counted from session +start to the end of the range (unless they are over 1 day old, in which case +they are presumed missing their stop record and not counted). Also, sessions +which end in the range but started earlier are counted from the start of the +range to session end. Finally, sessions which start before the range but end +after are counted for the entire range. + +TIMESTAMP_START and TIMESTAMP_END are specified as UNIX timestamps; see +L<perlfunc/"time">. Also see L<Time::Local> and L<Date::Parse> for conversion +functions. + +=cut + +#note: POD here, implementation in FS::cust_svc +sub seconds_since_sqlradacct { + my $self = shift; + $self->cust_svc->seconds_since_sqlradacct(@_); +} + +=item attribute_since_sqlradacct TIMESTAMP_START TIMESTAMP_END ATTRIBUTE + +Returns the sum of the given attribute for all accounts (see L<FS::svc_acct>) +in this package for sessions ending between TIMESTAMP_START (inclusive) and +TIMESTAMP_END (exclusive). + +TIMESTAMP_START and TIMESTAMP_END are specified as UNIX timestamps; see +L<perlfunc/"time">. Also see L<Time::Local> and L<Date::Parse> for conversion +functions. + +=cut + +#note: POD here, implementation in FS::cust_svc +sub attribute_since_sqlradacct { + my $self = shift; + $self->cust_svc->attribute_since_sqlradacct(@_); +} + +=item get_session_history TIMESTAMP_START TIMESTAMP_END + +Returns an array of hash references of this customers login history for the +given time range. (document this better) + +=cut + +sub get_session_history { + my $self = shift; + $self->cust_svc->get_session_history(@_); +} + + =back =cut |