Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Login extends CI_Controller {
- public function __construct() {
- parent::__construct();
- $this->load->model('loginModel');
- $this->load->helper('form');
- }
- function index() {
- require '/facebook.php';
- $facebook = new Facebook(array(
- 'appId' => '109427889139003',
- 'secret' => '315c23fdce9950813c4c47246c1f3c28',
- 'cookie' => true,
- ));
- $data['session'] = $facebook->getSession();
- $data['appID'] = $facebook->getAppId();
- $data['me'] = null;
- if ($data['session']) {
- try {
- $data['uid'] = $facebook->getUser();
- $data['me'] = $facebook->api('/me');
- } catch (FacebookApiException $e) {
- error_log($e);
- }
- }
- if ($data['me']) {
- $data['logoutUrl'] = $facebook->getLogoutUrl(array('req_perms' => 'email'));
- } else {
- $data['loginUrl'] = $facebook->getLoginUrl(array('req_perms' => 'email'));
- }
- if($data['me']) {
- $userInfo = $this->loginModel->getUserByFaceBookID($data['me']['id']);
- if(isset($userInfo)) {
- $sessionData = array(
- 'username' => $userInfo->userName,
- 'email' => $userInfo->userEmail,
- 'logged_in' => TRUE
- );
- $this->session->set_userdata($sessionData);
- redirect('home');
- } else {
- // tell the fucker to register with his facebook first
- }
- }
- $this->load->library('form_validation');
- $this->form_validation->set_rules('userName', 'Username', 'trim|required');
- $this->form_validation->set_rules('userPassword', 'Password', 'trim|required');
- $this->form_validation->set_error_delimiters('<p class="error">*', '</p>');
- define('SALT_LENGTH', 20);
- function generateHash($plainText, $salt = null) {
- if ($salt === null) {
- $salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
- } else {
- $salt = substr($salt, 0, SALT_LENGTH);
- }
- return $salt . sha1($salt . $plainText);
- }
- $data['title'] = 'Login - ' . $this->config->item('siteName');
- $data['siteName'] = $this->config->item('siteName');
- $data['bodyTemplate'] = 'login';
- if(isset($_POST['loginSubmit'])) {
- if($this->form_validation->run() == FALSE) {
- $this->load->view('index', $data);
- } else {
- $userName = $_POST['userName'];
- $plainPassword = $_POST['userPassword'];
- $userData = $this->loginModel->getUserData($userName);
- if($userData) {
- $password = generateHash($plainPassword, $userData->userPassword);
- if($password == $userData->userPassword) {
- $sessionData = array(
- 'username' => $userName,
- 'email' => $userData->userEmail,
- 'logged_in' => TRUE
- );
- $this->session->set_userdata($sessionData);
- redirect('home');
- } else {
- $data['error'] = 'Username and Password do not match.';
- $this->load->view('index', $data);
- }
- } else {
- $data['error'] = 'Username not found.';
- $this->load->view('index', $data);
- }
- }
- } else {
- $this->load->view('index', $data);
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement