$full = $newUser->get_full_name(); $newUser->update_last_login(getIP()); session_start(); $_SESSION['username'] = $user; $_SESSION['fullname'] = $full; $_SESSION['password'] = $pass; $_SESSION['access'] = $access; $_SESSION['userid'] = $userID; $_SESSION['action'] = ""; header("Location: index.php"); echo "Login complete."; } else { ?> <form method='post' name="errorForm" action='login.php?action=loginFailed'> <input type='hidden' name='error' value="<?php echo $userCheck->get_error(); ?> " /> </form> <script LANGUAGE='JavaScript'>window.onload=function(){document.errorForm.submit()};</script> <?php echo "<h1>CANNOT LOGIN!</h1> <p>Reason: " . $userCheck->get_error() . ". If your page doesn't refresh, <a href='login.php?action=loginFailed'>click here to back</a></p>"; } } } function getIP() { $ip; if (getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); } else {
function delUserFromGroup() { global $tool, $propertyForm; $users = $_POST['userList']; $groupID = $_POST['groupID']; $delSuccess; echo $groupID; foreach ($users as $id => $value) { $curUser = new User($value); if ($curUser->delete_from_group($groupID)) { $delSuccess = true; } else { $delSuccess = false; $error = $curUser->get_error(); break; } } if ($delSuccess) { $status = "success"; echo "<script language='javascript'>LoadPage(\"configurations.php?action=groupManage&mode=edit&delete=" . $status . "\", 'settingsInfo');</script>"; } else { $propertyForm->error("Warning: Failed to delete user from group " . $groupID . ". Reason: " . $error, $_GET['ID']); } }
function changePass() { global $propertyForm; $oldpass = $_POST[oldpass]; $newpass1 = $_POST[newpass1]; $newpass2 = $_POST[newpass2]; $status == false; $user_id = $_SESSION[userid]; $user_name = $_SESSION[username]; $user = new User($user_id); if (empty($oldpass)) { $error = "Old password is empty<br>"; } elseif (empty($newpass1)) { $error = "new password is empty<br>"; } elseif (empty($newpass2)) { $error = "new password (confirm) is empty<br>"; } elseif ($newpass2 != $newpass1) { $error = "new password are not the same<br>"; } elseif (!$user->is_local_user($user_name, 'local')) { $error = "Sorry you're not a local user so can not change your password<br>\n\t\t\tYou are probably an LDAP user. Please contact your admin<br>"; } elseif (!$user->authenticate_user($user_name, $oldpass)) { $error = "Old password incorrect<br>"; } elseif (!$user->set_password($newpass1)) { $error = $user->get_error(); } elseif (!$user->update()) { $error = $user->get_error(); return false; } else { $status = "success"; } if ($status == "success") { echo "<script language='javascript'>LoadPage(\"userSettings.php?action=widgetsManagement&mode=edit&update=" . $status . "\", 'settingsInfo');</script>"; } else { $propertyForm->warning("Warning: Failed to update password. Reason: " . $error); } }
function authenticate_user($user_name, $user_pass) { // First determine if this is a local or ldap user if ($this->is_local_user($user_name, 'local')) { return $this->authenticate_local_user($user_name, $user_pass); } else { if (!($user_info = $this->authenticate_ldap_user($user_name, $user_pass))) { // Auth failed return false; } // Userinfo is an array which hold email and full name // Ok user is success fully authenticated // create user object and update / insert if (!($userid = $this->is_local_user($user_name, 'ldap'))) { $ldap_user = new User(); $ldap_user->set_full_name($user_info["fullname"]); $ldap_user->set_email($user_info["email"]); $ldap_user->set_user_name($user_name); $ldap_user->set_user_type('ldap'); // New user insert in local user if (!($userid = $ldap_user->insert())) { // Unable to update local user cache $this->error = $ldap_user->get_error(); return false; } // existing user update in local user cache } else { $ldap_user = new User($userid); $ldap_user->set_full_name($user_info["fullname"]); $ldap_user->set_email($user_info["email"]); $ldap_user->set_user_name($user_name); $ldap_user->set_user_type('ldap'); if (!$ldap_user->update()) { // Unable to update local user cache $this->error = $ldap_user->get_error(); return false; } } // get groups if (!($ldap_groups = $this->get_ldap_groups($user_name, $user_pass))) { return false; } if (!$this->update_ldap_groups($userid, $ldap_groups)) { // Unable to update local group cache return false; } return true; } }