Exemple #1
0
 /**
  * @param MauticFactory $factory
  * @param               $lead
  * @param               $event
  *
  * @return bool
  */
 public function sendTweetAction($lead, $event)
 {
     $tweetSent = false;
     /** @var \MauticPlugin\MauticSocialBundle\Integration\TwitterIntegration $twitterIntegration */
     $twitterIntegration = $this->integrationHelper->getIntegrationObject('Twitter');
     // Setup clickthrough for URLs in tweet
     $this->clickthrough = ['source' => ['campaign', $event['campaign']['id']]];
     $leadArray = $lead->getProfileFields();
     if (empty($leadArray['twitter'])) {
         return false;
     }
     $tweetText = $event['properties']['tweet_text'];
     $tweetText = $this->parseTweetText($tweetText, $leadArray);
     $tweetUrl = $twitterIntegration->getApiUrl('statuses/update');
     $status = ['status' => $tweetText];
     // fire the tweet
     $sendTweet = $twitterIntegration->makeRequest($tweetUrl, $status, 'POST', ['append_callback' => false]);
     // verify the tweet was sent by checking for a tweet id
     if (is_array($sendTweet) && array_key_exists('id_str', $sendTweet)) {
         $tweetSent = true;
     }
     return $tweetSent ? ['timeline' => $tweetText, 'response' => $sendTweet] : ['failed' => 1, 'response' => $sendTweet];
 }