Beispiel #1
0
 public function getTwitterData($twitterProfiles)
 {
     $mainframe = JFactory::getApplication();
     $params = $mainframe->getparams();
     $limit = $params->get('limit');
     $tweetDataList = array();
     if (count($twitterProfiles) > 0) {
         $accessTokenData = RedSocialStreamHelper::getTwitterAccessToken();
         include_once JPATH_COMPONENT . '/helpers/twitter/statuses.php';
         $twitterStatuses = new TwitterStatuses();
         foreach ($twitterProfiles as $twitterProfile) {
             if (isset($accessTokenData->access_token) && !empty($accessTokenData->access_token)) {
                 $tweetList = $twitterStatuses->getUserTimeline($twitterProfile['title'], $accessTokenData->access_token, $limit);
                 for ($i = 0; $i < count($tweetList); $i++) {
                     $tweet = $tweetList[$i];
                     $tweetDataList[$twitterProfile['id']]['data'] = $tweet;
                     $tweetDataList[$twitterProfile['id']]['profile_id'] = $twitterProfile['id'];
                     $tweetDataList[$twitterProfile['id']]['title'] = '';
                     $tweetDataList[$twitterProfile['id']]['type'] = TWITTER;
                     $tweetDataList[$twitterProfile['id']]['group_id'] = $twitterProfile['group_id'];
                     $tweetDataList[$twitterProfile['id']]['source_link'] = "https://twitter.com/" . $tweet->user->screen_name . "/status" . $tweet->id_str;
                     $tweetDataList[$twitterProfile['id']]['thumb_uri'] = $tweet->user->profile_image_url;
                     if (isset($tweet->text)) {
                         $tweetDataList[$twitterProfile['id']]['message'] = addslashes($tweet->text);
                     }
                     $tweetDataList[$twitterProfile['id']]['ext_profile_id'] = $tweet->user->id;
                     $tweetDataList[$twitterProfile['id']]['ext_post_id'] = $tweet->id_str;
                     $tweetDataList[$twitterProfile['id']]['ext_post_name'] = $tweet->user->screen_name;
                     $tweetDataList[$twitterProfile['id']]['duration'] = '';
                     $tweetDataList[$twitterProfile['id']]['created_time'] = date("Y-m-d H:i:s", strtotime($tweet->created_at));
                     $tweetDataList[$twitterProfile['id']]['published'] = 1;
                 }
             }
         }
     }
     return $tweetDataList;
 }
Beispiel #2
0
 public function getAccessToken()
 {
     // Get data which was redirect from social site
     $input = JFactory::getApplication()->input;
     $session = JFactory::getSession();
     $generateToken = $input->get('generate_token', '', 'STRING');
     $model = $this->getModel('AccessToken');
     $settingData = $session->get('settingData');
     $generateToken = $session->get('generateToken');
     $session->clear('generateToken');
     $session->clear('settingData');
     switch ($generateToken) {
         case 'facebook':
             $code = $input->get('code', '', 'STRING');
             $fbProfileId = $session->get('fbProfileId');
             $callbackUrl = $session->get('callbackUrl');
             $session->clear('fbProfileId');
             $session->clear('callbackUrl');
             $accessToken = "";
             if ($code != "") {
                 $accessToken = RedSocialStreamHelper::requestFbAccessToken($settingData['app_id'], $settingData['app_secret'], $callbackUrl, $code);
             }
             if (!empty($accessToken)) {
                 // Save to database
                 $data = RedSocialStreamHelper::getFacebookAccessToken($fbProfileId);
                 $now = date('Y-m-d H:i:s');
                 if (empty($data)) {
                     $data = new stdClass();
                     $data->created = $now;
                 }
                 $data->profile_id = $fbProfileId;
                 $data->access_token = $accessToken;
                 $data->updated = $now;
                 if ($model->saveFacebookAccessToken($data)) {
                     $msg = JText::_('COM_REDSOCIALSTREAM_FACEBOOK_TOKEN_GENERATED');
                     $level = 'MESSAGE';
                 } else {
                     $msg = $model->getError();
                     if (empty($msg)) {
                         $msg = JText::_('COM_REDSOCIALSTREAM_FACEBOOK_TOKEN_UNGENERATED');
                     }
                     $level = 'WARNING';
                 }
             } else {
                 $msg = JText::_('COM_REDSOCIALSTREAM_FACEBOOK_TOKEN_UNGENERATED');
                 $level = 'WARNING';
             }
             $this->setRedirect('index.php?option=com_redsocialstream&view=accesstoken', $msg, $level);
             break;
         case 'twitter':
             $twitterProfileId = $session->get('twitterProfileId');
             $session->clear('twitterProfileId');
             $bearerToken = RedSocialStreamHelper::requestTwitterAccessToken($settingData['twitter_consumer_key'], $settingData['twitter_consumer_sec']);
             if (!empty($bearerToken)) {
                 // Save to database
                 $data = RedSocialStreamHelper::getTwitterAccessToken($twitterProfileId);
                 $now = date('Y-m-d H:i:s');
                 if (empty($data)) {
                     $data = new stdClass();
                     $data->created = $now;
                 }
                 $data->profile_id = $twitterProfileId;
                 $data->access_token = $bearerToken;
                 $data->updated = $now;
                 if ($model->saveTwitterAccessToken($data)) {
                     $msg = JText::_('COM_REDSOCIALSTREAM_TWITTER_TOKEN_GENERATED');
                     $level = 'MESSAGE';
                 } else {
                     $msg = $model->getError();
                     if (empty($msg)) {
                         $msg = JText::_('COM_REDSOCIALSTREAM_TWITTER_TOKEN_UNGENERATED');
                     }
                     $level = 'WARNING';
                 }
             } else {
                 $msg = JText::_('COM_REDSOCIALSTREAM_TWITTER_TOKEN_UNGENERATED');
                 $level = 'WARNING';
             }
             $this->setRedirect('index.php?option=com_redsocialstream&view=accesstoken', $msg, $level);
             break;
         case 'linkedin':
             $code = $input->get('code', '', 'STRING');
             $linkedinProfileId = $session->get('linkedinProfileId');
             $callbackUrl = $session->get('callbackUrl');
             $session->clear('linkedinProfileId');
             $session->clear('callbackUrl');
             $accessToken = "";
             if ($code != "") {
                 $accessToken = RedSocialStreamHelper::requestLinkedinAccessToken($settingData['linked_api_key'], $settingData['linked_secret_key'], $callbackUrl, $code);
             }
             if (!empty($accessToken)) {
                 // Save to database
                 $data = RedSocialStreamHelper::getLinkinAccessToken($linkedinProfileId);
                 $now = date('Y-m-d H:i:s');
                 if (empty($data)) {
                     $data = new stdClass();
                     $data->created = $now;
                 }
                 $data->profile_id = $linkedinProfileId;
                 $data->access_token = $accessToken;
                 $data->updated = $now;
                 if ($model->saveLinkedinAccessToken($data)) {
                     $msg = JText::_('COM_REDSOCIALSTREAM_LINKEDIN_TOKEN_GENERATED');
                     $level = 'MESSAGE';
                 } else {
                     $msg = $model->getError();
                     if (empty($msg)) {
                         $msg = JText::_('COM_REDSOCIALSTREAM_LINKEDIN_TOKEN_UNGENERATED');
                     }
                     $level = 'WARNING';
                 }
             } else {
                 $msg = JText::_('COM_REDSOCIALSTREAM_LINKEDIN_TOKEN_UNGENERATED');
                 $level = 'WARNING';
             }
             $this->setRedirect('index.php?option=com_redsocialstream&view=accesstoken', $msg, $level);
             break;
         case 'youtube':
             break;
         default:
             break;
     }
 }