3 # This program is in the public domain within the United States. Additionally,
4 # we waive copyright and related rights in the work worldwide through the CC0
5 # 1.0 Universal public domain dedication, which can be found at
6 # http://creativecommons.org/publicdomain/zero/1.0/
11 # 1) edit inc/wfpl/test/session_test_db_connect.php to connect to your TESTING database
13 # 2) add the wfpl_session tables to your TESTING database:
15 # create table wfpl_sessions (id int unique auto_increment, session_key varchar(16), length int, expires int);
16 # create table wfpl_session_data (id int unique auto_increment, session_id int, name varchar(100), value text);
19 # WARNING: this code deletes all wfpl sessions. Do not use on a live site's database
22 require_once(__DIR__.'/'.'session_test_db_connect.php');
23 require_once(__DIR__.'/../'.'session.php');
25 function session_dump($message) {
26 $ses = db_get_rows('wfpl_sessions', 'id,session_key,length,expires');
27 if($ses) foreach($ses as $row) {
28 list($id, $session_key, $length, $expires) = $row;
30 tem_set('session_key', $session_key);
31 tem_set('length', $length);
32 tem_set('expires', $expires);
33 tem_sub('wfpl_sessions_row');
36 $data = db_get_rows('wfpl_session_data', 'id,session_id,name,value');
37 if($data) foreach($data as $row) {
38 list($id, $session_id, $name, $value) = $row;
40 tem_set('session_id', $session_id);
41 tem_set('name', $name);
42 tem_set('value', $value);
43 tem_sub('wfpl_session_data_row');
46 tem_set('message', $message);
51 function session_test() {
52 tem_load(__DIR__.'/'.'session_test.html');
54 db_delete('wfpl_sessions');
55 db_delete('wfpl_session_data');
56 session_dump('Clean slate');
59 session_dump('new session');
61 session_set('username', 'jason');
62 session_dump('username jason');
64 session_set('username', 'phil');
65 session_dump('overwrote username as phil');
67 $old = $GLOBALS['session_id'];
70 session_dump('new session');
72 session_set('username', 'jason');
73 session_set('bamph', 'foo');
74 session_dump('set username=jason and bamph=foo in new session');
76 session_clear('username');
77 session_dump('cleared username in new session');
80 session_dump('killed old session');
83 session_dump('kill_session()');