public static function login($username, $password) { if (Configs::get_system_param("auth_method") != "LDAP") { $local_user = DigiplayDB::select("* FROM users WHERE username = '******' AND password = '******';", "User"); if ($local_user) { self::$data["user"] = true; self::$user_object = $local_user; } else { return false; } } else { $ldap_instance = new LDAP(); if (!$ldap_instance->login($username, $password)) { return false; } if (is_object($ldap_instance) && get_class($ldap_instance) == "LDAP") { if ($ldap_instance->login_status()) { self::$data = $ldap_instance->userdetails(); self::$data["user"] = true; # Get the user's info, or insert them as a new user if there isn't any self::$user_object = Users::get_by_username(self::$data["username"]); if (!self::$user_object) { $id = DigiplayDB::insert("users", array("username" => self::$data["username"], "password" => NULL), "id"); self::$user_object = Users::get_by_id($id); } } else { return false; } } } if (self::$user_object) { $result = self::$user_object->get_config_var("user_curlogin"); if ($result) { self::$data["lastlogin"] = $result; DigiplayDB::query("UPDATE usersconfigs SET val = '" . time() . "' WHERE userid = " . self::$user_object->get_id() . " AND configid = 3;"); } else { DigiplayDB::query("INSERT INTO usersconfigs (userid,configid,val) VALUES (" . self::$user_object->get_id() . ",3,'" . time() . "');"); DigiplayDB::query("INSERT INTO usersconfigs (userid,configid,val) VALUES (" . self::$user_object->get_id() . ",1,'');"); } return true; } else { return false; } }