This is an old revision of the document!


This module provides objects to create, load, store and remove sessions


Creates an object Session.


  • robot : sessions are related to a specific robot
  • cookie : the sympa_session cookie value which is a random value without any semantic

If cookie is undef or not in session_table, new() will create a new session by allocation of a random. If cookie is defined and found in the sympa_session table new check if the session is valid (mainly : the http client host (remote_addr) must be the same as the host that initialyse the session). FIXME : may be usefull to ignore old sessions. If the session is valid it is loaded : load() .


  • load() read session attributes from session_table using cookie value as the primary key. All attributes are returned in a hash. Load() use tools::string_2_hash in order to convert the varchar data_session column in a set of vars <var>=“<value>”;<var>=“<value>”;


  • store() store session attributes from curernt objet into session_table. Store update the date_session attributes which is used by &SympaSession::purge_session() to remove old sessions.

store() convert a set of vars into a data_session string which can be stored in the database using tools::hash_2_string



  • robot

This proc is not object oriented. It is deseign to remove from session_table old session. It is controled by the task_manager depending on sympa.conf parameter session_expiration_period


Use to list current session (feature from sympa admin page/listmaster only)


delay : number of second to select the age of listed sessions robot : connected_only : off|on in order to limit or not teh listed sessions to connected users

return an array of hash that describe sessions

  • internals/internals-session.1187935963.txt.gz
  • Last modified: 2007/08/24 08:22
  • (external edit)