forgot password changes

This commit is contained in:
venbatechnologies@gmail.com 2018-03-30 12:54:18 +05:30
parent 83f1bd03a0
commit 9885941602
4 changed files with 326 additions and 16 deletions

View File

@ -150,11 +150,11 @@ $route['pageNotFound'] = "user/pageNotFound";
$route['checkEmailExists'] = "user/checkEmailExists";
$route['forgotPassword'] = "login/forgotPassword";
$route['resetPasswordUser'] = "login/resetPasswordUser";
$route['resetPasswordConfirmUser'] = "login/resetPasswordConfirmUser";
$route['resetPasswordConfirmUser/(:any)'] = "login/resetPasswordConfirmUser/$1";
$route['resetPasswordConfirmUser/(:any)/(:any)'] = "login/resetPasswordConfirmUser/$1/$2";
$route['createPasswordUser'] = "login/createPasswordUser";
$route['resetPasswordUser'] = "login/resetPasswordUser";//reset password without OTP
$route['resetPasswordConfirmUser'] = "login/resetPasswordConfirmUser";//reset password with OTP
// $route['resetPasswordConfirmUser/(:any)'] = "login/resetPasswordConfirmUser/$1";
// $route['resetPasswordConfirmUser/(:any)/(:any)'] = "login/resetPasswordConfirmUser/$1/$2";
// $route['createPasswordUser'] = "login/createPasswordUser";
/** --------------------------Payslip Routes---------------------- */
$route['monthlypay'] = "payslip/monthlyInputs";

View File

@ -122,13 +122,126 @@ class Login extends CI_Controller
$this->load->view('forgotPassword');
}
/**
* To reset password of the user (without one time code)
*/
function resetPasswordUser(){
$mobileno = $this->input->post('phno');
$emailid = $this->input->post('email');
$result = $this->login_model->getuserid($mobileno,$emailid);
if(!empty($result)){
$string = "abcde".rand(10000,99999)."vwxyz";
$string_shuffled = str_shuffle($string);
$passcode = substr($string_shuffled, 1, 6);
$password = "RESICO@".$passcode;
$mobile = "91".$result[0]->ContactNumber;
//$msg = "Your Password is 'resico1234' sent from Resico Industries ";
$msg = "Hi " .$result[0]->FirstName. ",
\n Your password has been resetted sucessfully.
\n Please login with your new password '".$password."'";
function resetPasswordUser()
{
$ContactNo = $this->input->post('phno');
echo $ContactNo;
$message = urlencode($msg);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=".$mobile."&SenderID=VNBAIT&Message=".$message."&ServiceName=PROMOTIONAL_HIGH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$output =curl_exec($ch);
curl_close($ch);
$resetpassword = getHashedPassword($password);
$updatepassword = $this->login_model->updatepassword($result[0]->userId,$resetpassword);
echo "<script>alert('Password Send successfully, Please check your mobile.');</script>";
redirect('/loginMe','refresh');
}
else{
echo "<script>alert('".$mobileno." This Mobile Number is not registered with us.');</script>";
redirect('/loginMe','refresh');
}
}
/**
* To Get One time code to reset password of the user (ajax call)
*/
/** function getOTP()
* {
* $id = $this->input->post('id');
* $result = $this->login_model->temp($id);
* if(!empty($result)){
* $string = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
* $string_shuffled = str_shuffle($string);
* $password = substr($string_shuffled, 1, 7);
* $otp = rand(1000, 9999);
* echo "resico@".rand(1000,9999);die;
*
* //print_r($result);die;
* //$result[0]->ContactNumber;
*
* $mobile = "91".$result[0]->ContactNumber;
* //$msg = "Your Password is 'resico1234' sent from Resico Industries ";
* $msg = "Hi " .$result[0]->FirstName. ",
* \n We have generated One Time Code For You. This code used for reset your password
* \n YOUR CODE IS'".$password."'and'".$otp."'";
*
* $message = urlencode($msg);
* // echo $mobile , $message;
* $ch=curl_init();
* curl_setopt($ch,CURLOPT_URL,"https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=".$mobile."&SenderID=VNBAIT&Message=".$message."&ServiceName=PROMOTIONAL_HIGH");
* curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
* $output =curl_exec($ch);
*
* //return $output;
* //print_r($output);exit();
* curl_close($ch);
* //echo json_encode($result);
* $updateotp = $this->login_model->temp2($result[0]->userId,$otp);
* $data = $updateotp[0]->OTP;
* echo $data;
* }}
*/
/**
* After Getting One time code
* Reset password of the user (with OTP)
*/
/** function resetPasswordConfirmUser(){
*
* // $this->load->library('form_validation');
*
* // $this->form_validation->set_rules('newPassword','New password','required|max_length[20]');
* // $this->form_validation->set_rules('confirmPassword','Confirm new password','required|matches[newPassword]|max_length[20]');
*
* $newPassword = $this->input->post('newPassword');
* $ConfirmPassword = $this->input->post('confirmPassword');
*
* $mobileno = $this->input->post('phno');
*
* $da ta = $this->login_model->getuserdtl($mobileno);
* $userid = $data[0]->userId;
* $OTP = NULL;
*
* $Array = array('password'=>getHashedPassword($newPassword),'OTP'=>$OTP);
*
* $result = $this->login_model->resetpassword($Array,$userid);
*
* if($result > 0)
* {
* echo "<script>alert('You Password Resetted!');</script>"; redirect('login','refresh');
* }
* else
* {
* echo "<script>alert('Have Not Update Error Msg!');</script>"; redirect('login','refresh');
* }
*
* }
*/
}

View File

@ -123,6 +123,77 @@ class Login_model extends CI_Model
// print_r( $this->db->last_query());
return $query->result();
}
/**
* get the user dtl
*/
function getuserid($mobileno,$emailid)
{
$this->db->select('UsrTbl.userId,UsrTbl.email,EmpTbl.ContactNumber,EmpTbl.FirstName');
$this->db->from('tbl_users as UsrTbl');
$this->db->join('T_Employee_Details as EmpTbl','UsrTbl.EmpID = EmpTbl.EmpID');
$this->db->where('EmpTbl.ContactNumber', $mobileno);
$this->db->where('UsrTbl.email',$emailid);
$this->db->where('UsrTbl.isDeleted', 0);
$res = $this->db->get();
return $res->result();
}
?>
/**
* To update opt in our database
**/
function temp2($userId,$otp){
$this->db->set('OTP',$otp);
$this->db->where('userId',$userId);
$this->db->update('tbl_users');
$count = $this->db->affected_rows();
if($count > 0)
{
$subQuery = "select OTP from tbl_users where userId = '".$userId."'";
$query = $this->db->query($subQuery);
return $query->result();
}
}
/**
* To get user id
**/
function getuserdtl($phno){
$this->db->select('BaseTbl.userId');
$this->db->from('tbl_users as BaseTbl');
$this->db->join('T_Employee_Details as Emp','BaseTbl.EmpID = Emp.EmpID');
$this->db->where('Emp.ContactNumber', $phno);
$query = $this->db->get();
$result = $query->result();
return $result;
}
/**
* To update password and otp
**/
function resetpassword($Array,$userid){
$this->db->where('userId',$userid);
$this->db->update('tbl_users',$Array);
$count = $this->db->affected_rows();
return $count;
}
/**
* To update password only
**/
function updatepassword($userid,$password){
$this->db->set('password',$password);
$this->db->where('userId',$userid);
$this->db->update('tbl_users');
$count = $this->db->affected_rows();
return $count;
}
}
?>

View File

@ -15,26 +15,152 @@
</div><!-- /.login-logo -->
<div class="login-box-body">
<p class="login-box-msg">Forgot Password</p>
<!-- <form action="<?php echo base_url(); ?>resetPasswordConfirmUser" method="post"> // this form action for OTP -->
<form action="<?php echo base_url(); ?>resetPasswordUser" method="post">
<div class="form-group has-feedback">
<!-- <input type="email" name="login_email" required /> -->
<input type="text" class="form-control" placeholder="Mobile Number" name ="phno" id= "phno" maxlength="10" onkeypress="return isNumberKey(event)">
<input type="text" class="form-control" placeholder="Mobile Number" name ="phno" id= "phno" maxlength="10" onkeypress="return isNumber(event)">
<span class="glyphicon glyphicon glyphicon-phone form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="text" class="form-control" placeholder="Email" name="email" required />
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<!--
<div class="form-group has-feedback" id="pin">
<input type="text" class="form-control" placeholder="One time Code" name ="otp" id= "otp" maxlength="4">
<span class="glyphicon glyphicon-paperclip form-control-feedback"></span>
</div>
<div id="passwordfields">
<hr>
<div>
<label for="inputPassword1">New Password</label>
<input type="password" class="form-control required" id="NewPassword" placeholder="New password" name="newPassword" maxlength="10" required>
</div>
<div>
<label for="inputPassword2">Confirm New Password</label>
<input type="password" class="form-control required equalTo" required id="ConfirmPassword" placeholder="Confirm new password" name="confirmPassword" maxlength="10" required>
<span id='message'></span>
</div>
<input type="text" id="hideuserid" name="hideuserid" readonly>
</div> -->
<br/>
<div class="row">
<div class="col-xs-8">
</div><!-- /.col -->
<div class="col-xs-4">
<input type="submit" class="btn btn-primary btn-block btn-flat" value="Submit" />
<input type="submit" id="submit" class="btn btn-primary btn-block btn-flat" value="Submit"/>
</div><!-- /.col -->
</div>
</form>
<!-- </form> -->
<a href="<?php echo base_url() ?>">Login</a><br>
</div><!-- /.login-box-body -->
</div><!-- /.login-box -->
<script src="<?php echo base_url(); ?>assets/js/jQuery-2.1.4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script>
/** This for Used as OTP
* var dbOTP = '' ;
*
* $(function() {
* $('#passwordfields').hide();
* $('#pin').hide();
* $('#NewPassword, #ConfirmPassword').on('keyup', function () {
* if ($('#NewPassword').val() == $('#ConfirmPassword').val()) {
* $('#message').html('Matching').css('color', 'green');
* //$("input[type=submit]").attr("disabled", "disabled");
* } else
* $('#message').html('Password MisMatch').css('color', 'red');
* //$("input[type=submit]").attr("disabled", "disabled");
* });
* });
* $('#phno').change(function() {
* var id = $(this).val();
* //alert(id);
* $.ajax({
* data:{id:id},
* type:"POST",
* url:"<?php echo base_url();?>login/temp",
* success:function(data) {
* if(data.length == 4){
* $('#pin').show();
* dbOTP = data; }
* else{ alert(data); }
* }
* // var data = JSON.parse(data);
* // $.each(data,function(index,value){ var i = value.ContactNumber
* // if( i == id ){
* // alert('OTP send successfully, please check your mobile.');
* // }
* // else{
* // alert(id+'This Mobile Number is not registered with us.');
* // }
* // });
* // }
* });
* });
* $('#otp').change(function() {
* var enteredOTP = $(this).val();
* //alert('dbOTP'+dbOTP);
* if(enteredOTP == dbOTP){
* //alert("cont. true");
* $('#passwordfields').show();
* }
* else{
* alert("One Time Code Does not Matched. Try Next Times");
* $('#passwordfields').hide();
* }
* });//change function closed
*/
</script>
<script>
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
// $('#phno').change(function() {
// var id = $(this).val();
// //alert(id);
// $.ajax({
// data:{id:id},
// type:"POST",
// url:"<?php echo base_url();?>login/sendthepassword",
// success:function(data) {
// alert(data);
// // if(data){
// // alert('Password Send successfully, Please check your mobile.');
// // }
// // else{
// // alert(id+'This Mobile Number is not registered with us.');
// // alert(data);
// // }
// }
// // var data = JSON.parse(data);
// // $.each(data,function(index,value){ var i = value.ContactNumber
// // if( i == id ){
// // alert('OTP send successfully, please check your mobile.');
// // }
// // else{
// // alert(id+'This Mobile Number is not registered with us.');
// // }
// // });
// });
// });
// $('#submit').click(function() {
// alert("adlkhadskjfjhadf");
// window.location.href = "loginMe";
// });
</script>
</body>
</html>