JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
tar.php better and configurable tmpdir
[wfpl.git] / session.php
index b36af68..9013157 100644 (file)
@@ -26,7 +26,7 @@
 # GLOSSARY
 #
 # session_key  16 digit string identifying the session
-# session_id   integer id of the record in the "sessions" table of the database
+# session_id   integer id of the record in the "wfpl_sessions" table of the database
 # UNTIL_CLOSE  a constant passed as session length to indicate "until browser window closes"
 
 
@@ -56,7 +56,7 @@ function session_new($length = 86400) {
        db_insert('wfpl_sessions', 'session_key,length', $session_key, $length);
        $GLOBALS['session_id'] = db_auto_id();
        $GLOBALS['session_key'] = $session_key;
-       $_REQUEST['session_key'] = $session_key; #just in case someone calls session_exists() after session_new()
+       $_COOKIE['session_key'] = $session_key; #just in case someone calls session_exists() after session_new()
        session_touch($length);
        return $GLOBALS['session_key'];
 }
@@ -99,7 +99,7 @@ function session_purge_old() {
 
 # return true if a session exists
 function session_exists() {
-       if(!isset($_REQUEST['session_key'])) {
+       if(!isset($_COOKIE['session_key'])) {
                return false;
        }
 
@@ -107,7 +107,7 @@ function session_exists() {
                return true;
        }
 
-       $session_key = ereg_replace('[^a-zA-Z0-9]', '', $_REQUEST['session_key']);
+       $session_key = ereg_replace('[^a-zA-Z0-9]', '', $_COOKIE['session_key']);
 
        if(!strlen($session_key) == 16) {
                return false;
@@ -125,8 +125,29 @@ function session_exists() {
        return true;
 }
 
-# return username if a session exists and is authenticated
+# depricated
 function session_exists_and_authed() {
+       return logged_in();
+}
+
+
+# generate a random password using only letters and numbers that look
+# particularly unique
+function new_readable_password($length = 8) {
+       $character_set = "ABCDEFHJKLMNPQRTUVWXY34789";
+       $code = "";
+
+       # PHP 4.2.0 and up seed the random number generator for you.
+       # Lets hope that it seeds with something harder to guess than the clock.
+       while($length--) {
+               $code .= $character_set{mt_rand(0, 25)}; # inclusive
+       }
+
+       return $code;
+}
+
+# return username if a session exists and is authenticated
+function logged_in() {
        if(!session_exists()) {
                return false;
        }
@@ -135,7 +156,21 @@ function session_exists_and_authed() {
 }
 
 
-# find existing session, or make one
+
+# return username if a session exists and is authenticated
+function logged_in_as_admin() {
+       if(!session_exists()) {
+               return false;
+       }
+
+       if(session_get('auth_admin')) {
+               return true;
+       }
+       return false;
+}
+
+
+# find existing session, or make one (name "session_init" was taken)
 function init_session() {
        if(!session_exists()) {
                session_new();