Beispiel #1
0
 public static function footer()
 {
     $current_user =& singleton("current_user");
     include_template(ALLOC_MOD_DIR . "shared/templates/footerS.tpl");
     // close page
     $sess = new session();
     $sess->Save();
     if (is_object($current_user) && method_exists($current_user, "get_id") && $current_user->get_id()) {
         $current_user->store_prefs();
     }
 }
Beispiel #2
0
 private function get_current_user($sessID)
 {
     $sess = new session($sessID);
     if ($sess->Started()) {
         $person = new person();
         $person->load_current_user($sess->Get("personID"));
         // update session_started, which affects session lifetime
         $sess->Save();
         return $person;
     }
 }
Beispiel #3
0
} else {
    if ($_POST["login"]) {
        $person = new person();
        $row = $person->get_valid_login_row($_POST["username"], $_POST["password"]);
        if ($row) {
            $sess->Start($row);
            $q = prepare("UPDATE person SET lastLoginDate = '%s' WHERE personID = %d", date("Y-m-d H:i:s"), $row["personID"]);
            $db = new db_alloc();
            $db->query($q);
            if ($sess->TestCookie()) {
                $sess->UseCookie();
                $sess->SetTestCookie($_POST["username"]);
            } else {
                $sess->UseGet();
            }
            $sess->Save();
            alloc_redirect($url);
        }
        $error = "Invalid username or password.";
    } else {
        if ($_POST["new_pass"]) {
            $db = new db_alloc();
            $db->query("SELECT * FROM person WHERE emailAddress = '%s'", $_POST["email"]);
            if ($db->next_record()) {
                // generate new random password
                $password = "";
                $pwSource = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!?";
                srand((double) microtime() * 1000000);
                for ($i = 0; $i < 8; $i++) {
                    $password .= substr($pwSource, rand(0, strlen($pwSource)), 1);
                }