Advertisement
Guest User

Untitled

a guest
Aug 8th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. <?php
  2. class Login extends CI_Controller {
  3. public function __construct() {
  4. parent::__construct();
  5. $this->load->model('loginModel');
  6. $this->load->helper('form');
  7. }
  8. function generateHash($plainText, $salt = null) {
  9. if ($salt === null) {
  10. $salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
  11. } else {
  12. $salt = substr($salt, 0, SALT_LENGTH);
  13. }
  14. return $salt . sha1($salt . $plainText);
  15. }
  16. function index() {
  17. require '/facebook.php';
  18. $facebook = new Facebook(array(
  19. 'appId' => '109427889139003',
  20. 'secret' => '315c23fdce9950813c4c47246c1f3c28',
  21. 'cookie' => true,
  22. ));
  23. $data['session'] = $facebook->getSession();
  24. $data['appID'] = $facebook->getAppId();
  25. $data['me'] = null;
  26. if ($data['session']) {
  27. try {
  28. $data['uid'] = $facebook->getUser();
  29. $data['me'] = $facebook->api('/me');
  30. } catch (FacebookApiException $e) {
  31. error_log($e);
  32. }
  33. }
  34. if ($data['me']) {
  35. $data['logoutUrl'] = $facebook->getLogoutUrl(array('req_perms' => 'email'));
  36. } else {
  37. $data['loginUrl'] = $facebook->getLoginUrl(array('req_perms' => 'email'));
  38. }
  39. if($data['me']) {
  40. $userInfo = $this->loginModel->getUserByFaceBookID($data['me']['id']);
  41. if(isset($userInfo)) {
  42. $sessionData = array(
  43. 'username' => $userInfo->userName,
  44. 'email' => $userInfo->userEmail,
  45. 'logged_in' => TRUE
  46. );
  47. $this->session->set_userdata($sessionData);
  48. redirect('home');
  49. } else {
  50. // tell the fucker to register with his facebook first
  51. }
  52. }
  53. $this->load->library('form_validation');
  54. $this->form_validation->set_rules('userName', 'Username', 'trim|required');
  55. $this->form_validation->set_rules('userPassword', 'Password', 'trim|required');
  56. $this->form_validation->set_error_delimiters('<p class="error">*', '</p>');
  57. define('SALT_LENGTH', 20);
  58. $data['title'] = 'Login - ' . $this->config->item('siteName');
  59. $data['siteName'] = $this->config->item('siteName');
  60. $data['bodyTemplate'] = 'login';
  61. if(isset($_POST['loginSubmit'])) {
  62. if($this->form_validation->run() == FALSE) {
  63. $this->load->view('index', $data);
  64. } else {
  65. $userName = $_POST['userName'];
  66. $plainPassword = $_POST['userPassword'];
  67. $userData = $this->loginModel->getUserData($userName);
  68. if($userData) {
  69. $password = generateHash($plainPassword, $userData->userPassword);
  70. if($password == $userData->userPassword) {
  71. $sessionData = array(
  72. 'username' => $userName,
  73. 'email' => $userData->userEmail,
  74. 'logged_in' => TRUE
  75. );
  76. $this->session->set_userdata($sessionData);
  77. redirect('home');
  78. } else {
  79. $data['error'] = 'Username and Password do not match.';
  80. $this->load->view('index', $data);
  81. }
  82. } else {
  83. $data['error'] = 'Username not found.';
  84. $this->load->view('index', $data);
  85. }
  86. }
  87. } else {
  88. $this->load->view('index', $data);
  89. }
  90. }
  91. }
  92. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement