예제 #1
0
 public function sendTweet($text, $shortenURLs = true)
 {
     if (!$this->_config['twitter']['enabled']) {
         return false;
     }
     if ($shortenURLs) {
         $url_match = '@(https?://([-\\w\\.]+)+(:\\d+)?(/([-\\w/_\\.]*(\\?\\S+)?)?)?)@';
         $text = preg_replace_callback($url_match, array($this, 'parseURL'), $text);
     }
     try {
         $twitter = new Zend_Service_Twitter($this->_config['twitter']['username'], $this->_config['twitter']['password']);
         /* @var $response Zend_Rest_Client_Result */
         $response = $twitter->account->verifyCredentials();
         //die(var_dump($response));
         //if ($response->isError())
         //throw new sfException($response->error);
         $response = $twitter->statusUpdate($text);
         if ($response->isError()) {
             throw new sfException($response->error);
         }
     } catch (Exception $exc) {
         return false;
     }
     return true;
 }
예제 #2
0
 public function send($message, $logRow)
 {
     if (!$this->_getAuthRow()->auth_token) {
         throw new Kwf_Exception('no auth token saved');
     }
     $accessToken = unserialize($this->_getAuthRow()->auth_token);
     Zend_Service_Twitter::setHttpClient($accessToken->getHttpClient($this->_config));
     $twitter = new Zend_Service_Twitter(null, null);
     $response = $twitter->account->verifyCredentials();
     if (!$response->isSuccess()) {
         throw new Kwf_Exception('verifyCredentials failed: ' . $response->__toString());
     }
     $response = $twitter->statusUpdate($message);
     if (!$response->isSuccess()) {
         throw new Kwf_Exception('statusUpdate failed: ' . $response->__toString());
     }
     $logRow->status_id = (string) $response->id;
     $logRow->user_id = (string) $response->user->id;
     $logRow->screen_name = (string) $response->user->screen_name;
 }