Welcome Guest, Not a member yet? Register   Sign In
CI2 and PEAR - how to get it work?
#1

[eluser]takasia[/eluser]
Hi!

I need to use some PEAR libraries with my CI app (ver2), how to do it?

This code:
// require HTTP_OAuth
require_once('HTTP/OAuth/Consumer.php');

works fine in a single php file, outside CodeIgniter (PEAR is installed and working, I got what I need).

I tried this:
http://codeigniter.com/wiki/PEAR_integration/
but I keep getting something wrong, cannot get it working.

Cannot I just do this in the controller:
Code:
require_once('HTTP/OAuth/Consumer.php');
$this->my_model->tweetMessageFAN();
and then, this in model:

Code:
function tweetMessageFAN()
    {
        
        /* Consumer key from twitter */
        $consumer_key = TWITTER_CONSUMER_KEY;
        /* Consumer Secret from twitter */
        $consumer_secret = TWITTER_CONSUMER_SECRET;
        /* Callback url */
        $callback_url = base_url().'dreams/share/';

        /* Set up placeholder */
        $content = "";

        // source below changed to work with existing CI session!

        try {

        $oauth = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
        $http_request = new HTTP_Request2();
        $http_request->setConfig('ssl_verify_peer', false);
        $consumer_request = new HTTP_OAuth_Consumer_Request;
        $consumer_request->accept($http_request);
        $oauth->accept($consumer_request);

        if (!empty($_REQUEST['oauth_token']) && $this->session->userdata('oauth_state') === 'start') {
        
            $session_data = array(
                'oauth_state'  => 'returned',
                );
            $this->session->set_userdata($session_data);
            //clear $session_data
            $session_data = array();
            
            echo $this->session->userdata('oauth_state');

          if (empty($this->session->userdata('oauth_request_token')) || empty($this->session->userdata('oauth_request_token_secret'))) {
                    
$oauth->setToken($this->session->userdata('oauth_request_token'));
            $oauth->setTokenSecret($this->session->userdata('oauth_request_token_secret'));

            $oauth_verifier = $_REQUEST['oauth_verifier'];

            $oauth->getAccessToken('https://twitter.com/oauth/access_token', $oauth_verifier);

            $session_data = array(
                'oauth_access_token'  => $oauth->getToken(),
                'oauth_access_token_secret'  => $oauth->getTokenSecret(),
            );
            $this->session->set_userdata($session_data);
            //clear $session_data
            $session_data = array();
        
        }

    }

        if (!empty($this->session->userdata('oauth_request_token')) && !empty($this->session->userdata('oauth_request_token_secret'))) {
    
        $content = 'your account should now be registered with twitter. Check here:<br />';
        $content .= '<a href="https://twitter.com/account/connections">https://twitter.com/account/connections</a>';

        $oauth->setToken($this->session->userdata('oauth_request_token'));
        $oauth->setTokenSecret($this->session->userdata('oauth_request_token_secret'));
        
        $result = $oauth->sendRequest('https://twitter.com/account/verify_credentials.xml', array(), 'GET');

        $content = $result->getBody();

    } else {

        $oauth->getRequestToken('https://twitter.com/oauth/request_token', $callback_url);

        $session_data = array(
               'oauth_access_token'  => $oauth->getToken(),
               'oauth_access_token_secret'  => $oauth->getTokenSecret(),
            'oauth_state' => "start"
        );
        $this->session->set_userdata($session_data);
        //clear $session_data
        $session_data = array();
        
        $request_link = $oauth->getAuthorizeURL('https://twitter.com/oauth/authorize');

        $content = 'Click on the link to go to twitter to authorize your account.';
        $content .= '<br /><a href="'.$request_link.'">'.$request_link.'</a>';

        }

    } catch (Exception $e)
    {
    $content = $e->getMessage();
    }

    print_r($content);

    }

It gots me blank screen....




Theme © iAndrew 2016 - Forum software by © MyBB