3 if($IS_WEB_REQUEST) session_start();
5 $CALL_ME_FUNCTIONS["auth"] = "gwvpmini_AuthCallMe";
\r
7 function gwvpmini_AuthCallMe()
\r
10 //error_log("in repoadmin callme");
\r
11 if(isset($_REQUEST["q"])) {
\r
12 $query = $_REQUEST["q"];
\r
13 $qspl = explode("/", $query);
\r
14 if(isset($qspl[0])) {
\r
15 if($qspl[0] == "login") {
16 return "gwvpmini_AuthHandleLogin";
17 } else if($qspl[0] == "logout") {
18 return "gwvpmini_AuthHandleLogout";
19 } else return false;
\r
27 function gwvpmini_AuthHandleLogout()
\r
31 unset($_SESSION["isloggedin"]);
\r
32 unset($_SESSION["username"]);
\r
33 unset($_SESSION["fullname"]);
\r
34 unset($_SESSION["usertype"]);
\r
35 unset($_SESSION["id"]);
\r
37 gwvpmini_SendMessage("info", "Logged out");
\r
38 header("Location: $BASE_URL");
\r
42 function gwvpmini_AuthHandleLogin()
48 if(isset($_REQUEST["username"])) $user = $_REQUEST["username"];
\r
49 if(isset($_REQUEST["password"])) $pass = $_REQUEST["password"];
\r
51 if(gwvpmini_authUserPass($user, $pass) === false) {
\r
52 gwvpmini_SendMessage("error", "Login Failed");
\r
53 header("Location: $BASE_URL");
\r
55 $details = gwvpmini_getUser($user);
\r
56 $_SESSION["isloggedin"] = true;
\r
57 $_SESSION["username"] = "$user";
\r
58 $_SESSION["fullname"] = $details["fullname"];
\r
59 $_SESSION["id"] = $details["id"];
\r
60 gwvpmini_SendMessage("info", "Welcome ".$details["fullname"]." you are logged in");
\r
61 header("Location: $BASE_URL");
\r
68 function gwvpmini_SingleLineLoginForm()
\r
72 echo "<form method=\"post\" action=\"$BASE_URL/login\">Username <input type=\"text\" name=\"username\" class=\"login\">";
\r
73 echo " Passowrd <input type=\"password\" name=\"password\" class=\"login\"><input type=\"submit\" name=\"login\" value=\"Login\" class=\"loginbutton\">";
\r
74 if(gwvpmini_IsRegistrationEnabled()) echo "<a href=\"$BASE_URL/register\">Register</a></form>";
\r
75 else echo "</form>";
\r
79 function gwvpmini_IsRegistrationEnabled()
85 function gwvpmini_isLoggedIn()
89 if(isset($_SESSION)) {
90 if(isset($_SESSION["username"])) {
91 if(!gwvpmini_isUserEnabled($_SESSION["id"])) return false;
99 function gwvpmini_AskForBasicAuth()
\r
101 error_log("SEND BASIC AUTH");
102 header_remove("Pragma");
103 header_remove("Cache-Control");
\r
104 header_remove("Set-Cookie");
105 header_remove("Expires");
\r
106 header_remove("X-Powered-By");
\r
107 header_remove("Vary");
\r
109 header('HTTP/1.1 401 Unauthorized');
110 header('WWW-Authenticate: Basic realm="GITRepo"');
\r
114 function gwvpmini_checkBasicAuthLogin()
\r
119 if(isset($_SERVER["PHP_AUTH_USER"])) {
\r
120 $user = $_SERVER["PHP_AUTH_USER"];
\r
121 } else return false;
\r
123 if(isset($_SERVER["PHP_AUTH_PW"])) {
\r
124 $pass = $_SERVER["PHP_AUTH_PW"];
\r
127 error_log("IN CHECK FOR BASIC AUTH: $user");
\r
129 error_log("passing basic auth for $user, $pass to backend");
\r
130 $auth = gwvpmini_authUserPass($user, $pass);
\r
131 if($auth !== false) {
\r
132 error_log("auth passes");
\r
134 error_log("auth failes");
\r
141 function gwvpmini_isUserAdmin($id=-1)
146 if(isset($_SESSION)) if(isset($_SESSION["id"])) $id = $_SESSION["id"];
149 if($id == -1) return false;
151 $lev = gwvpmini_userLevel($id);
153 if($lev == 1) return true;
158 function gwvpmini_authUserPass($user, $pass)
160 $details = gwvpmini_getUser($user);
161 if($details == false) {
162 error_log("no user details for $user");
166 if(!gwvpmini_isUserEnabled($details["id"])) return false;
168 if(sha1($pass)!=$details["password"]) return false;
170 return $details["username"];
173 function gwvpmini_isUserEnabled($id=-1)
176 if(isset($_SESSION)) if(isset($_SESSION["id"])) $id = $_SESSION["id"];
\r
179 if($id == -1) return false;
\r
181 $lev_t = gwvpmini_getUser(null, null, $id);
183 $lev = $lev_t["status"];
\r
185 if($lev == 0) return true;
\r