Guest User

Untitled

a guest
Dec 21st, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. public function login(){
  2. $data['title'] = 'Sign In';
  3.  
  4. $validator = array('success' => false, 'messages' => array());
  5.  
  6. $validate_data = array(
  7. array(
  8. 'field' => 'usernameforlog',
  9. 'label' => lang('controller-username-label'),
  10. 'rules' => 'trim|required|alpha_dash'
  11. ),
  12. array(
  13. 'field' => 'passwordforlog',
  14. 'label' => lang('controller-password-label'),
  15. 'rules' => 'trim|required|md5'
  16. )
  17. );
  18.  
  19. $this->form_validation->set_rules($validate_data);
  20. $this->form_validation->set_message('required', lang("form_validation_required"));
  21. $this->form_validation->set_message('alpha_dash', lang("form_validation_alpha_dash"));
  22. $this->form_validation->set_error_delimiters('<p class="text-danger">', '</p>');
  23.  
  24.  
  25. if ($this->form_validation->run() === FALSE)
  26. {
  27.  
  28. // fails
  29. $validator['success'] = false;
  30. foreach ($_POST as $key => $value) {
  31. $validator['messages'][$key] = form_error($key);
  32. }
  33.  
  34. log_message('error', 'validation errors' );
  35.  
  36. }else {
  37.  
  38. // Get username
  39. $username = mb_strtolower($this->input->post('usernameforlog'), 'UTF-8');
  40. // Get and encrypt the password
  41. $password = $this->input->post('passwordforlog');
  42. // Login user
  43.  
  44. $user_id = $this->user_model->login($username, $password);
  45. if($user_id){
  46. // Create session
  47.  
  48. $user_data = array(
  49. 'id' => $user_id,
  50. 'instructors_slug' => $username,
  51. 'logged_in' => true
  52. );
  53.  
  54. $this->session->set_userdata($user_data);
  55. $validator['success'] = true;
  56. $validator['messages'] = array();
  57. } else {
  58.  
  59. $validator['success'] = false;
  60. $validator['messages'] = '<div class="alert alert-danger text-center">'.lang('controller-user-email-error3').'</div>';
  61. }
  62. }
  63.  
  64. echo json_encode($validator);
  65. }
  66.  
  67. $(document).ready(function() {
  68. $("#loginform").unbind('submit').bind('submit', function() {
  69. var form = $(this);
  70.  
  71. $.ajax({
  72. url: form.attr('action'),
  73. type: form.attr('method'),
  74. data: form.serialize(),
  75. dataType: 'json',
  76. success:function(response) {
  77. console.log(response);
  78. if(response.success) {
  79. //redirect main page
  80. location.reload();
  81. }
  82. else {
  83. $("#loginmsg").html(response.messages);
  84.  
  85. $.each(response.messages, function(index, value) {
  86. var element = $("#"+index);
  87.  
  88. $(element)
  89. .closest('.form-group')
  90. .removeClass('has-error')
  91. .removeClass('has-success')
  92. .addClass(value.length > 0 ? 'has-error' : 'has-success')
  93. .find('.text-danger').remove();
  94.  
  95. $(element).after(value);
  96.  
  97. });
  98. }
  99. } // /success
  100. }); // /ajax
  101.  
  102. return false;
  103. });
  104. });
Add Comment
Please, Sign In to add comment