Example #1
0
 function display($tpl = null)
 {
     $fbProfiles = JHtml::_('select.genericlist', RedSocialStreamHelper::getFacebookProfilesOptions(), 'fb_profile_id', 'class="inputbox"', 'value', 'text', '');
     $twitterProfiles = JHtml::_('select.genericlist', RedSocialStreamHelper::getTwitterProfilesOptions(), 'twitter_profile_id', 'class="inputbox"', 'value', 'text', '');
     $linkedinProfiles = JHtml::_('select.genericlist', RedSocialStreamHelper::getLinkedinProfilesOptions(), 'linkedin_profile_id', 'class="inputbox"', 'value', 'text', '');
     $this->fbProfiles = $fbProfiles;
     $this->twitterProfiles = $twitterProfiles;
     $this->linkedinProfiles = $linkedinProfiles;
     $this->addToolbar();
     parent::display($tpl);
     $this->setDocument();
 }
Example #2
0
 public function getLinkedinData($linkedinProfiles)
 {
     $mainframe = JFactory::getApplication();
     $params = $mainframe->getparams();
     $limit = $params->get('limit');
     $linkedinDataList = array();
     if (count($linkedinProfiles) > 0) {
         $accessLinkedin = RedSocialStreamHelper::getLinkinAccessToken();
         include_once JPATH_COMPONENT . '/helpers/twitter/statuses.php';
         $twitterStatuses = new TwitterStatuses();
         foreach ($linkedinProfiles as $twitterProfile) {
             if (isset($accessLinkedin->access_token) && !empty($accessLinkedin->access_token)) {
                 $tweetList = $twitterStatuses->getUserTimeline($twitterProfile['title'], $accessLinkedin->access_token, $limit);
                 for ($i = 0; $i < count($tweetList); $i++) {
                     $tweet = $tweetList[$i];
                     $linkedinDataList[$twitterProfile['id']]['data'] = $tweet;
                     $linkedinDataList[$twitterProfile['id']]['profile_id'] = $twitterProfile['id'];
                     $linkedinDataList[$twitterProfile['id']]['title'] = '';
                     $linkedinDataList[$twitterProfile['id']]['type'] = TWITTER;
                     $linkedinDataList[$twitterProfile['id']]['group_id'] = $twitterProfile['group_id'];
                     $linkedinDataList[$twitterProfile['id']]['source_link'] = "https://twitter.com/" . $tweet->user->screen_name . "/status" . $tweet->id_str;
                     $linkedinDataList[$twitterProfile['id']]['thumb_uri'] = $tweet->user->profile_image_url;
                     if (isset($tweet->text)) {
                         $linkedinDataList[$twitterProfile['id']]['message'] = addslashes($tweet->text);
                     }
                     $linkedinDataList[$twitterProfile['id']]['ext_profile_id'] = $tweet->user->id;
                     $linkedinDataList[$twitterProfile['id']]['ext_post_id'] = $tweet->id_str;
                     $linkedinDataList[$twitterProfile['id']]['ext_post_name'] = $tweet->user->screen_name;
                     $linkedinDataList[$twitterProfile['id']]['duration'] = '';
                     $linkedinDataList[$twitterProfile['id']]['created_time'] = date("Y-m-d H:i:s", strtotime($tweet->created_at));
                     $linkedinDataList[$twitterProfile['id']]['published'] = 1;
                 }
             }
         }
     }
     return $linkedinDataList;
     $api_key = $login['linked_api_key'];
     // Linkedin Api key
     $secret_key = $login['linked_secret_key'];
     //Linkedin Secret key
     $access_tokens = $this->getLinkedinAccessToken();
     include JPATH_SITE . '/components/com_redsocialstream/helpers/linkedin/linkedin.php';
     require_once JPATH_SITE . '/components/com_redsocialstream/helpers/twitter/OAuth.php';
     $API_CONFIG = array('appKey' => $api_key, 'appSecret' => $secret_key, 'callbackUrl' => "");
     $linkedin = new LinkedIn($API_CONFIG);
     $access_token = $access_tokens[0]->linkedin_token;
     $access_secret = $access_tokens[0]->linkedin_secret;
     $token = array("oauth_token" => $access_token, "oauth_token_secret" => $access_secret);
     $linkedin->setTokenAccess($token);
     $query = '?type=SHAR&count=30';
     $response = $linkedin->updates($query);
     if ($response['success'] === TRUE) {
         $updates = new SimpleXMLElement($response['linkedin']);
         if ((int) $updates['total'] > 0) {
             $i = 0;
             foreach ($updates->update as $update) {
                 $person = $update->{'update-content'}->person;
                 $share = $update->{'update-content'}->person->{'current-share'};
                 $linkedinlist[$i]['data'] = $update;
                 $linkedinlist[$i]['created_time'] = date("Y-m-d", trim($share->timestamp));
                 $linkedinlist[$i]['type'] = 'linkedin';
                 $savedata[$i]['group_id'] = $linkedlistdata['group_id'];
                 $savedata[$i]['type'] = LINKEDIN;
                 $savedata[$i]['ext_profile_id'] = $person->{id};
                 $savedata[$i]['ext_post_id'] = $share->{id};
                 $savedata[$i]['ext_post_name'] = $person->{'first-name'} . ' ' . $person->{'last-name'};
                 if (isset($share->comment)) {
                     $savedata[$i]['message'] = addslashes($share->comment);
                 }
                 $savedata[$i]['title'] = '';
                 $savedata[$i]['source_link'] = $person->{'site-standard-profile-request'}->url;
                 $savedata[$i]['created_time'] = date("Y-m-d", trim($share->timestamp));
                 $savedata[$i]['duration'] = '';
                 $savedata[$i]['profile_id'] = $linkedlistdata['profile_id'];
                 $savedata[$i]['published'] = 1;
                 $savedata[$i]['thumb_uri'] = $person->{'picture-url'};
                 $i++;
             }
         }
     }
     if (isset($savedata)) {
         $this->savePost($savedata);
     }
     return $linkedinlist;
 }
Example #3
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;
     }
 }