# Copyright (C) 2006 Jason Woofenden
#
-# This file is part of wfpl.
-#
-# wfpl is free software; you can redistribute it and/or modify it under the
-# terms of the GNU Lesser General Public License as published by the Free
-# Software Foundation; either version 2.1 of the License, or (at your option)
-# any later version.
-#
-# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
-# more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with wfpl; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# you'll need these database tables:
# 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"
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'];
}
# return true if a session exists
function session_exists() {
- if(!isset($_REQUEST['session_key'])) {
+ if(!isset($_COOKIE['session_key'])) {
return false;
}
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;
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;
}
}
-# 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();