X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=htdocs%2Fdocs%2Fman%2FFS%2Fsession.html;fp=htdocs%2Fdocs%2Fman%2FFS%2Fsession.html;h=c714337be625503af54d49ff20b87765bb94836e;hp=0000000000000000000000000000000000000000;hb=35227000d6222f35ec49bc4226e94200b77abc4f;hpb=f3235d39d083518d47f21cd5585e5f9a13070763 diff --git a/htdocs/docs/man/FS/session.html b/htdocs/docs/man/FS/session.html new file mode 100644 index 000000000..c714337be --- /dev/null +++ b/htdocs/docs/man/FS/session.html @@ -0,0 +1,129 @@ + + +FS::session - Object methods for session records + + + + + + + + + + + +
+

+

NAME

+

FS::session - Object methods for session records

+

+


+

SYNOPSIS

+
+  use FS::session;
+
+  $record = new FS::session \%hash;
+  $record = new FS::session {
+    'portnum' => 1,
+    'svcnum'  => 2,
+    'login'   => $timestamp,
+    'logout'  => $timestamp,
+  };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+  $error = $record->nas_heartbeat($timestamp);
+

+


+

DESCRIPTION

+

An FS::session object represents an user login session. FS::session inherits +from FS::Record. The following fields are currently supported:

+
+
sessionnum - primary key
+
+
portnum - NAS port for this session - see the FS::port manpage
+
+
svcnum - User for this session - see the FS::svc_acct manpage
+
+
login - timestamp indicating the beginning of this user session.
+
+
logout - timestamp indicating the end of this user session. May be null, + which indicates a currently open session.
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new session. To add the session to the database, see insert. +

Note that this stores the hash reference, not a distinct copy of the hash it +points to. You can ask the object for a copy with the hash method.

+

+
insert
+
+Adds this record to the database. If there is an error, returns the error, +otherwise returns false. If the `login' field is empty, it is replaced with +the current time. +

+
delete
+
+Delete this record from the database. +

+
replace OLD_RECORD
+
+Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. If the `logout' field is empty, +it is replaced with the current time. +

+
check
+
+Checks all fields to make sure this is a valid session. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. +

+
nas_heartbeat
+
+Heartbeats the nas associated with this session (see the FS::nas manpage). +

+
svc_acct
+
+Returns the svc_acct record associated with this session (see the FS::svc_acct manpage). +

+

+


+

VERSION

+

$Id: session.html,v 1.1 2001-04-23 12:41:57 ivan Exp $

+

+


+

BUGS

+

Maybe you shouldn't be able to insert a session if there's currently an open +session on that port. Or maybe the open session on that port should be flagged +as problematic? autoclosed? *sigh*

+

Hmm, sessions refer to current svc_acct records... probably need to constrain +deletions to svc_acct records such that no svc_acct records are deleted which +have a session (even if long-closed).

+

+


+

SEE ALSO

+

the FS::Record manpage, schema.html from the base documentation.

+ + + +