<HTML> <HEAD> <TITLE>FS::session - Object methods for session records</TITLE> <LINK REV="made" HREF="mailto:perl@packages.debian.org"> </HEAD> <BODY> <A NAME="__index__"></A> <!-- INDEX BEGIN --> <UL> <LI><A HREF="#name">NAME</A></LI> <LI><A HREF="#synopsis">SYNOPSIS</A></LI> <LI><A HREF="#description">DESCRIPTION</A></LI> <LI><A HREF="#methods">METHODS</A></LI> <LI><A HREF="#version">VERSION</A></LI> <LI><A HREF="#bugs">BUGS</A></LI> <LI><A HREF="#see also">SEE ALSO</A></LI> </UL> <!-- INDEX END --> <HR> <P> <H1><A NAME="name">NAME</A></H1> <P>FS::session - Object methods for session records</P> <P> <HR> <H1><A NAME="synopsis">SYNOPSIS</A></H1> <PRE> use FS::session;</PRE> <PRE> $record = new FS::session \%hash; $record = new FS::session { 'portnum' => 1, 'svcnum' => 2, 'login' => $timestamp, 'logout' => $timestamp, };</PRE> <PRE> $error = $record->insert;</PRE> <PRE> $error = $new_record->replace($old_record);</PRE> <PRE> $error = $record->delete;</PRE> <PRE> $error = $record->check;</PRE> <PRE> $error = $record->nas_heartbeat($timestamp);</PRE> <P> <HR> <H1><A NAME="description">DESCRIPTION</A></H1> <P>An FS::session object represents an user login session. FS::session inherits from FS::Record. The following fields are currently supported:</P> <DL> <DT><STRONG><A NAME="item_sessionnum_%2D_primary_key">sessionnum - primary key</A></STRONG><BR> <DD> <DT><STRONG><A NAME="item_portnum_%2D_NAS_port_for_this_session_%2D_see_FS%3">portnum - NAS port for this session - see <A HREF=".././FS/port.html">the FS::port manpage</A></A></STRONG><BR> <DD> <DT><STRONG><A NAME="item_svcnum_%2D_User_for_this_session_%2D_see_FS%3A%3As">svcnum - User for this session - see <A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A></A></STRONG><BR> <DD> <DT><STRONG><A NAME="item_login_%2D_timestamp_indicating_the_beginning_of_th">login - timestamp indicating the beginning of this user session.</A></STRONG><BR> <DD> <DT><STRONG><A NAME="item_logout_%2D_timestamp_indicating_the_end_of_this_us">logout - timestamp indicating the end of this user session. May be null, which indicates a currently open session.</A></STRONG><BR> <DD> </DL> <P> <HR> <H1><A NAME="methods">METHODS</A></H1> <DL> <DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR> <DD> Creates a new session. To add the session to the database, see <A HREF="#insert">insert</A>. <P>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 <EM>hash</EM> method.</P> <P></P> <DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR> <DD> 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. <P></P> <DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR> <DD> Delete this record from the database. <P></P> <DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR> <DD> 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. <P></P> <DT><STRONG><A NAME="item_check">check</A></STRONG><BR> <DD> 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. <P></P> <DT><STRONG><A NAME="item_nas_heartbeat">nas_heartbeat</A></STRONG><BR> <DD> Heartbeats the nas associated with this session (see <A HREF=".././FS/nas.html">the FS::nas manpage</A>). <P></P> <DT><STRONG><A NAME="item_svc_acct">svc_acct</A></STRONG><BR> <DD> Returns the svc_acct record associated with this session (see <A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>). <P></P></DL> <P> <HR> <H1><A NAME="version">VERSION</A></H1> <P>$Id: session.html,v 1.3 2002-01-29 17:42:46 ivan Exp $</P> <P> <HR> <H1><A NAME="bugs">BUGS</A></H1> <P>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*</P> <P>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).</P> <P> <HR> <H1><A NAME="see also">SEE ALSO</A></H1> <P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, schema.html from the base documentation.</P> </BODY> </HTML>