Пример #1
0
 public function connectAction()
 {
     if (!isset($this->_config->twitter->consumer_key) && !isset($this->_config->twitter->consumer_secret)) {
         $this->addErrorMessage("Missing OAuth consumer key and secret, these should be added to the Storytlr config.ini file.\n\t\t\tMore details <a href='http://github.com/storytlr/storytlr/wiki/How-to-integrate-with-twitter'>here</a>.");
         $this->_forward('index');
         return;
     }
     $consumer_key = $this->_config->twitter->consumer_key;
     $consumer_secret = $this->_config->twitter->consumer_secret;
     $oauth_callback = $this->getStaticUrl() . "/admin/sns/callback";
     /* Create a new twitter client */
     $connection = new TwitterOAuth_Client($consumer_key, $consumer_secret);
     /* Get temporary credentials. */
     $request_token = $connection->getRequestToken($oauth_callback);
     /* Save temporary credentials to session. */
     $oauth_token = $request_token['oauth_token'];
     $oauth_token_secret = $request_token['oauth_token_secret'];
     $this->_properties->setProperty("twitter_oauth_token", $oauth_token);
     $this->_properties->setProperty("twitter_oauth_token_secret", $oauth_token_secret);
     /* If last connection failed don't display authorization link. */
     switch ($connection->http_code) {
         case 200:
             /* Build authorize URL and redirect user to Twitter. */
             $this->_redirect($connection->getAuthorizeURL($oauth_token));
             break;
         default:
             /* Show notification if something went wrong. */
             $this->addErrorMessage('Could not connect to Twitter. Refresh the page or try again later.');
     }
     $this->_forward('index');
 }