Advertisement
Guest User

Untitled

a guest
Aug 8th, 2017
109
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 index() {
  9. require '/facebook.php';
  10. $facebook = new Facebook(array(
  11. 'appId' => '109427889139003',
  12. 'secret' => '315c23fdce9950813c4c47246c1f3c28',
  13. 'cookie' => true,
  14. ));
  15. $data['session'] = $facebook->getSession();
  16. $data['appID'] = $facebook->getAppId();
  17. $data['me'] = null;
  18. if ($data['session']) {
  19. try {
  20. $data['uid'] = $facebook->getUser();
  21. $data['me'] = $facebook->api('/me');
  22. } catch (FacebookApiException $e) {
  23. error_log($e);
  24. }
  25. }
  26. if ($data['me']) {
  27. $data['logoutUrl'] = $facebook->getLogoutUrl(array('req_perms' => 'email'));
  28. } else {
  29. $data['loginUrl'] = $facebook->getLoginUrl(array('req_perms' => 'email'));
  30. }
  31. if($data['me']) {
  32. $userInfo = $this->loginModel->getUserByFaceBookID($data['me']['id']);
  33. if(isset($userInfo)) {
  34. $sessionData = array(
  35. 'username' => $userInfo->userName,
  36. 'email' => $userInfo->userEmail,
  37. 'logged_in' => TRUE
  38. );
  39. $this->session->set_userdata($sessionData);
  40. redirect('home');
  41. } else {
  42. // tell the fucker to register with his facebook first
  43. }
  44. }
  45. $this->load->library('form_validation');
  46. $this->form_validation->set_rules('userName', 'Username', 'trim|required');
  47. $this->form_validation->set_rules('userPassword', 'Password', 'trim|required');
  48. $this->form_validation->set_error_delimiters('<p class="error">*', '</p>');
  49. define('SALT_LENGTH', 20);
  50. function generateHash($plainText, $salt = null) {
  51. if ($salt === null) {
  52. $salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
  53. } else {
  54. $salt = substr($salt, 0, SALT_LENGTH);
  55. }
  56. return $salt . sha1($salt . $plainText);
  57. }
  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