Created
May 7, 2013 08:10
-
-
Save devyfriend/5531016 to your computer and use it in GitHub Desktop.
twitter fb login
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function _savetw() | |
| { | |
| $conf = config_item('twapps'); | |
| $params = array('consumer_key' => $conf['key'], 'consumer_secret' => $conf['secret']); | |
| $this->load->library('twitter', $params ); | |
| /* Get temporary credentials. */ | |
| $this->session->set_userdata('twitter', $request_token = $this->twitter->getRequestToken()); // getRequestToken(base_url('startrek/auth/twitter_callback')) | |
| switch ($this->twitter->http_code) | |
| { | |
| case 200: | |
| /* Build authorize URL and redirect user to Twitter. */ | |
| $url = $this->twitter->getAuthorizeURL($request_token['oauth_token']); | |
| redirect($url); | |
| break; | |
| default: | |
| /* Show notification if something went wrong. */ | |
| echo 'Could not connect to Twitter. Refresh the page or try again later.'; | |
| } | |
| } | |
| function _saveme($me) | |
| { | |
| $form = array( | |
| 'name' => $me['name'], | |
| 'infrom' => $me['loginwith'], | |
| 'infrom_id' => $me['id'], | |
| 'link' => $me['link'], | |
| 'email' => $me['email'], | |
| 'raw_data' => @addslashes(serialize($me)), | |
| 'save_date' => phpdbnow() | |
| ); | |
| $sql = " | |
| INSERT INTO flash_users (`username`,`infrom`,`infrom_id`,`link`,`email`,`raw_data`,`save_date`,`create_date`) VALUES ( | |
| '".$form['name']."','".$form['infrom']."','".$form['infrom_id']."','".$form['link']."','".$form['email']."','".$form['raw_data']."','".$form['save_date']."','".$form['save_date']."') | |
| ON DUPLICATE KEY UPDATE `username` = '".$form['name']."', `raw_data` = '".$form['raw_data']."', `save_date` = '".$form['save_date']."'; | |
| "; | |
| $this->db->query($sql); | |
| $iam = $this->db->where('infrom_id', $me['id'])->limit(1)->get('flash_users')->row_array(); | |
| $this->session->set_userdata('me', $iam); | |
| if(isset($iam['id'])) | |
| { | |
| if($iam['phone'] != '' && $iam['email'] != '' && $iam['username']) | |
| { | |
| redirect('startrek'); | |
| }else{ | |
| redirect('startrek/regis','refresh'); | |
| } | |
| } | |
| redirect('startrek/auth','refresh'); | |
| exit; | |
| } | |
| function twitter_callback() | |
| { | |
| $tw = @$this->session->userdata('twitter'); | |
| if(! $tw){ | |
| /* If the oauth_token is old redirect to the connect page. */ | |
| if (isset($_GET['oauth_token']) && @$_SESSION['twitter']['oauth_token'] !== $_GET['oauth_token']) | |
| { | |
| $this->session->unset_userdata('twitter'); | |
| header('Location: '.base_url('startrek/auth')); | |
| } | |
| } | |
| $conf = config_item('twapps'); | |
| $params = array('consumer_key' => $conf['key'], 'consumer_secret' => $conf['secret']); | |
| if( isset($tw['oauth_token']) && isset($tw['oauth_token_secret']) ) | |
| { | |
| $params['oauth_token'] = $tw['oauth_token']; | |
| $params['oauth_token_secret'] = $tw['oauth_token_secret']; | |
| } | |
| $this->load->library('twitter', $params ); | |
| /* Request access tokens from twitter : FCKIN IMBA!*//* Save the access tokens. Normally these would be saved in a database for future use. */ | |
| $this->session->set_userdata('twitter', $this->twitter->getAccessToken($_GET['oauth_verifier'])); | |
| /* If HTTP response is 200 continue otherwise send to connect page to retry */ | |
| if (200 == $this->twitter->http_code) | |
| { | |
| /* The user has been verified and the access tokens can be saved for future use */ | |
| $me = (array) $this->twitter->get('account/verify_credentials'); | |
| $me['loginwith'] = 'tw'; | |
| $this->session->set_userdata('loggedin', $me); | |
| $me['name'] = $me['screen_name']; | |
| $me['email'] = ''; | |
| $me['link'] = 'http://twitter.com/'.$me['screen_name']; | |
| $this->_saveme($me); | |
| } else { | |
| /* Save HTTP status for error dialog on connnect page.*/ | |
| //header('Location: '.base_url('startrek')); | |
| } | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment