예제 #1
0
}
session_start();
if (isset($_POST['remember'])) {
    setcookie(THcookieid . "-uname", $_SESSION['username'], time() + THprofile_cookietime, THprofile_cookiepath);
    setcookie(THcookieid . "-id", $_SESSION['userid'], time() + THprofile_cookietime, THprofile_cookiepath);
}
if (!isset($_GET['action'])) {
    $_GET['action'] = '';
}
$db = new ThornProfileDBI();
if ($_GET['action'] == "login") {
    $sm = sminit("login.tpl", null, "profiles", false, false);
    // Three POST parameters:
    // $_POST['name'], $_POST['password'], $_POST['remember']
    if (isset($_POST['name']) && isset($_POST['password'])) {
        $userdata = $db->getuserdata_login($_POST['name'], $_POST['password']);
        if ($userdata != NULL) {
            $_SESSION['username'] = $userdata['username'];
            $_SESSION['userid'] = generateRandID();
            $_SESSION['userlevel'] = $userdata['userlevel'];
            $_SESSION['admin'] = $userdata['mod_admin'];
            $_SESSION['mod_array'] = $userdata['mod_array'];
            $_SESSION['mod_global'] = $userdata['mod_global'];
            if ($userdata['mod_global'] || $userdata['mod_array']) {
                $_SESSION['moderator'] = true;
            }
            // Update userid field
            $db->updateuser($_POST['name'], $_SESSION['userid']);
        } else {
            // Login error - show that in the template
            $sm->assign("loginerror", 1);