Advertisement
Guest User

Untitled

a guest
Jun 13th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. <?php
  2. require_once(APPPATH . 'controllers/admin/authcontroller.php');
  3. class Change_pass extends AuthController{
  4.  
  5. function index(){
  6. $data['title'] = 'Change Password';
  7. $change_form_rules = array
  8. (
  9. 'password' => 'required|callback_check_password',
  10. 'captcha' => 'required|callback_check_captcha',
  11. 'new_pass' => 'required'
  12. );
  13. $change_form_fields = array
  14. (
  15. 'password' => ' Password ',
  16. 'captcha' => ' Captcha ',
  17. 'new_pass' => ' New Password '
  18. );
  19. $this->validation->set_message('required','Field %s harus diisi!');
  20. $this->validation->set_fields($change_form_fields);
  21. $this->validation->set_rules($change_form_rules);
  22. if ($this->validation->run() == FALSE)
  23. {
  24. $expiration = time()-300; // Two hour limit
  25. $this->db->query("DELETE FROM captcha WHERE captcha_time < ".$expiration);
  26. $vals = array(
  27. //'word' => 'Random word',
  28. 'word_length' => 6,
  29. 'img_path' => './uploads/',
  30. 'img_url' => base_url().'uploads/',
  31. 'font_path' => base_url().'system/fonts/Jester.ttf',
  32. 'img_width' => '150',
  33. 'img_height' => '50',
  34. 'expiration' => '3600'
  35. );
  36.  
  37. $cap = create_captcha($vals);
  38. //
  39. $data['image']= $cap['image'];
  40. //mette nel db
  41. $dati = array(
  42. 'captcha_id' => '',
  43. 'captcha_time' => $cap['time'],
  44. 'ip_address' => $this->input->ip_address(),
  45. 'word' => $cap['word']
  46. );
  47.  
  48. $query = $this->db->insert_string('captcha', $dati);
  49. $this->db->query($query);
  50. if(getField('Position') == 'Superadmin')
  51. $this->layout->display_admin('',$data,'change_pass');
  52. else
  53. $this->layout->display('',$data,'change_pass');
  54. }
  55. else
  56. {
  57. $name = getField('username');
  58. $data ['password'] = $this->input->post('new_pass');
  59. $new = dohash($this->input->post('new_pass'));
  60. $this->changepass_model->change_password($new,$name);
  61. if(getField('Position') == 'Superadmin')
  62. $this->layout->display_admin('',$data,'sukses_change');
  63. else
  64. $this->layout->display('',$data,'sukses_change');
  65. }
  66. }
  67.  
  68. function check_captcha()
  69. {
  70. $captcha = $this->input->post('captcha');
  71. $expiration = time()-3600;
  72. // Then see if a captcha exists:
  73. $sql = "SELECT COUNT(*) AS count FROM captcha WHERE word = ? AND ip_address = ? AND captcha_time > ?";
  74. $binds = array($captcha, $this->input->ip_address(), $expiration);
  75. $query = $this->db->query($sql, $binds);
  76. $row = $query->row();
  77.  
  78. if ($row->count == 0) {
  79. $this->validation->set_message('check_captcha', 'Captcha salah !');
  80. return FALSE;
  81. } else {
  82. return TRUE;
  83. }
  84.  
  85. }
  86.  
  87. function check_password($password){
  88. $username = getField('username');
  89. $pass = dohash($password);
  90. if($this->changepass_model->cek_password($pass,$username)){
  91. return TRUE;
  92. }
  93. else{
  94. $this->validation->set_message('check_password', 'Password salah');
  95. return False;
  96. }
  97. }
  98. }
  99. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement