flatpress/fp-includes/core/core.users.php
azett d8de4bfb02 Replaced some more class-named constructors (and calls to them).
Removed unused and/or commented code.
Replaced calls to deprecated each() with array_shift() (not completely done yet, still some more to fix!).
Replaced call to deprecated create_function() with real callback function.
2018-10-03 13:53:40 +02:00

133 lines
2.3 KiB
PHP
Executable File

<?php
class user_lister extends fs_filelister {
var $_varname = 'cache';
var $_cachefile = null;
var $_directory = USERS_DIR;
function bdb_entrylister() {
$this->_cachefile = CACHE_DIR . 'userlist.php';
parent::__construct();
}
function _checkFile($directory, $file) {
if (fnmatch('*.php', $file)) {
array_push($this->_list, basename($file,EXT));
return 0;
}
}
}
function user_list(){
$obj = new user_lister;
if ($users = $obj->getList()) {
return $entry_arr;
} else return false;
}
function user_pwd($userid, $pwd){
return wp_hash($userid.$pwd);
}
function user_login($userid, $pwd, $params=null){
global $loggedin;
$loggedin = false;
$user = user_get($userid);
if (user_pwd($userid,$pwd) == $user['password']){
$loggedin = true;
// session_regenerate_id();
$expire = time() + 31536000;
setcookie(USER_COOKIE, $userid, $expire, COOKIEPATH, COOKIE_DOMAIN);
setcookie(PASS_COOKIE, $user['password'], $expire, COOKIEPATH, COOKIE_DOMAIN);
}
return $loggedin;
}
function user_logout(){
global $loggedin;
if ( user_loggedin() ) {
setcookie(USER_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN);
setcookie(PASS_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN);
}
$loggedin = false;
}
function user_loggedin(){
global $loggedin, $fp_user;
if ($loggedin)
return $fp_user;
if ( empty($_COOKIE[USER_COOKIE]) || empty($_COOKIE[PASS_COOKIE]) ) {
$fp_user = null;
return $loggedin = false;
}
$fp_user = user_get($_COOKIE[USER_COOKIE]);
if (!$fp_user) {
return false;
}
if($_COOKIE[PASS_COOKIE] == $fp_user['password']) {
$loggedin = true;
return $fp_user;
}
$fp_user = null;
$loggedin = false;
return false;
}
function user_get($userid=null){
if ($userid == null && ($user = user_loggedin())) {
return $user;
}
if (!preg_match('![/\\.]!', $userid) &&
file_exists($f = USERS_DIR . $userid.".php")) {
include($f);
return $user;
}
}
function user_add($user){
$user['password']=user_pwd($user['userid'], $user['password']);
return system_save(USERS_DIR . $user['userid'] . ".php", compact('user'));
}
?>