reset_password test
authorniekt0 <niekt0@kyberia.cz>
Thu, 12 Jan 2012 08:15:19 +0000 (09:15 +0100)
committerniekt0 <niekt0@kyberia.cz>
Thu, 12 Jan 2012 08:15:19 +0000 (09:15 +0100)
wwwroot/backend/mysql/backend.inc
wwwroot/inc/eventz/reset_password.inc

index 971bb104bd3a7aba4f2f97bbfcd87c67b6789d00..560c5b8f9f845aa0b6aa1aa8adeb6e7bf25c82d8 100644 (file)
@@ -698,7 +698,42 @@ public static function getPoll($user_id,$poll_id) {
        return $array;
 }
 
+// XXX
+
+public static function resetPassword($login_id,$login,$vercode,$password) {
+       global $db;
+
+       // Security checks
+       $login = db_escape_string($login);
+       if (!is_numeric($login_id)) { return false; } 
+
+       if ($login == '') {
+               $error="Please enter name or id";
+               return false;
+       }
+
+       if ($login_id = 0) {
+               $set=$db->query("select * from users where login='$login'");
+       } else {
+               $set=$db->query("select * from users where user_id='$login'");
+       }
 
+       $set->next();
+       $user_name=$set->getString('login');
+       $user_id=$set->getString('user_id');
+       $hash=$set->getString('hash');  
+
+       if ($hash != $vercode) {
+               $error="Bad verification code!";
+               return false;
+       }
+
+       $password = sha1($password);
+       $q="update users set password='$password',hash='' where user_id='$user_id'";
+       $db->query($q);
+
+       return 0;
 }
 
+}
 ?>
index 9b0af652d4b7abf5c585255fa0335581b43b779d..ccea2ff63882d05e11d6c10d76f3eeb0bd441c83 100644 (file)
@@ -1,58 +1,36 @@
 <?php
 function reset_password() {
     global $db,$error;
-    $login = db_escape_string($_POST['login']);
-    $login_type = db_escape_string($_POST['login_type']);
-    $vercode = db_escape_string($_POST['vercode']);
-    $password1 = db_escape_string($_POST['new_password1']);
-    $password2 = db_escape_string($_POST['new_password2']);
-
-    if ($login == '') {
-        $error="Please enter name or id";
-        return false;
-    }
-
-    if ($password1 == '' || $password2 == '') {
-        $error="Please enter password";
-        return false;
-    }
-
-    if ($password1 != $password2) {
-        $error = "The two passwords that you entered do not match.";
-        return false;
-    }
-
-    switch ($login_type) {
-        case "name":
-            $set=$db->query("select * from users where login='$login'");
-            $set->next();
-            $user_name=$set->getString('login');
-            $user_id=$set->getString('user_id');
-            $hash=$set->getString('hash');
-        break;
-        case "id":
-            $set=$db->query("select * from users where user_id='$login'");
-            $set->next();
-            $user_name=$set->getString('login');
-            $user_id=$set->getString('user_id');
-            $hash=$set->getString('hash');
-        break;
-    }
-
-    if ($hash != $vercode) {
-        $error="Bad verification code!";
-        return false;
-    }
-
-    // XXX fix
-    $password = md5($password1);
-    $q="update users set password='$password' where user_id='$user_id'";
-    $db->query($q);
-
-//    require(INCLUDE_DIR.'ldap.inc');
-//    LDAPuser::change_pass_forced($user_id,$password1);
-
-    $error="Password changed. Now you can login with your new password.";
-    return false;
+    $login = $_POST['login'];
+    $login_type = $_POST['login_type'];
+    $vercode = $_POST['vercode'];
+    $password1 = $_POST['new_password1'];
+    $password2 = $_POST['new_password2'];
+
+       if ($login == '') {
+               $error="Please enter name or id";
+               return false;
+       }
+
+       if ($password1 == '' || $password2 == '') {
+               $error="Please enter password";
+               return false;
+       }
+
+       if ($password1 != $password2) {
+               $error = "The two passwords that you entered do not match.";
+               return false;
+       }
+
+       if ($login_type = 'id') {
+               $login_id=$login;
+               $login='';
+       } else {
+               $login_id=0;
+       }
+       $error=resetPassword($login_id,$login,$vercode,$password1);
+       
+       $error="Password changed. Now you can login with your new password.";
+       return 0;
 }
 ?>
This page took 0.112355 seconds and 4 git commands to generate.