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(); }
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; }
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; } }