]>
git.wh0rd.org - tt-rss.git/blob - include/sessions.php
2 // Original from http://www.daniweb.com/code/snippet43.html
4 require_once "config.php";
7 $session_expire = max(SESSION_COOKIE_LIFETIME
, 86400);
8 $session_name = (!defined('TTRSS_SESSION_NAME')) ?
"ttrss_sid" : TTRSS_SESSION_NAME
;
10 if (@$_SERVER['HTTPS'] == "on") {
11 $session_name .= "_ssl";
12 ini_set("session.cookie_secure", true);
15 ini_set("session.gc_probability", 50);
16 ini_set("session.name", $session_name);
17 ini_set("session.use_only_cookies", true);
18 ini_set("session.gc_maxlifetime", $session_expire);
20 function ttrss_open ($s, $n) {
22 global $session_connection;
24 $session_connection = db_connect(DB_HOST
, DB_USER
, DB_PASS
, DB_NAME
);
29 function ttrss_read ($id){
31 global $session_connection,$session_read;
33 $query = "SELECT data FROM ttrss_sessions WHERE id='$id'";
35 $res = db_query($session_connection, $query);
37 if (db_num_rows($res) != 1) {
40 $session_read = db_fetch_assoc($res);
41 $session_read["data"] = base64_decode($session_read["data"]);
42 return $session_read["data"];
46 function ttrss_write ($id, $data) {
52 global $session_connection, $session_read, $session_expire;
54 $expire = time() +
$session_expire;
56 $data = db_escape_string($session_connection, base64_encode($data), false);
59 $query = "UPDATE ttrss_sessions SET data='$data',
60 expire='$expire' WHERE id='$id'";
62 $query = "INSERT INTO ttrss_sessions (id, data, expire)
63 VALUES ('$id', '$data', '$expire')";
66 db_query($session_connection, $query);
70 function ttrss_close () {
72 global $session_connection;
74 //db_close($session_connection);
79 function ttrss_destroy ($id) {
81 global $session_connection;
83 $query = "DELETE FROM ttrss_sessions WHERE id = '$id'";
85 db_query($session_connection, $query);
90 function ttrss_gc ($expire) {
92 global $session_connection;
94 $query = "DELETE FROM ttrss_sessions WHERE expire < " . time();
96 db_query($session_connection, $query);
99 if (!SINGLE_USER_MODE
/* && DB_TYPE == "pgsql" */) {
100 session_set_save_handler("ttrss_open",
101 "ttrss_close", "ttrss_read", "ttrss_write",
102 "ttrss_destroy", "ttrss_gc");
105 if (!defined('TTRSS_SESSION_NAME') || TTRSS_SESSION_NAME
!= 'ttrss_api_sid') {
106 if (isset($_COOKIE[$session_name])) {
109 if (!$_SESSION["uid"]) {
111 setcookie(session_name(), '', time()-42000, '/');