mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-09 18:08:49 +00:00
Merge pull request #505 from MrPetovan/task/4116-move-twitteroauth-to-composer
Move TwitterOAuth to composer Part 1: Twitter
This commit is contained in:
commit
ffa36da2c9
49 changed files with 4334 additions and 2563 deletions
|
@ -2,11 +2,12 @@
|
|||
/**
|
||||
* Name: Twitter Connector
|
||||
* Description: Bidirectional (posting, relaying and reading) connector for Twitter.
|
||||
* Version: 1.0.4
|
||||
* Version: 1.1.0
|
||||
* Author: Tobias Diekershoff <https://f.diekershoff.de/profile/tobias>
|
||||
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
|
||||
* Maintainer: Hypolite Petovan <https://friendica.mrpetovan.com/profile/hypolite>
|
||||
*
|
||||
* Copyright (c) 2011-2013 Tobias Diekershoff, Michael Vogel
|
||||
* Copyright (c) 2011-2013 Tobias Diekershoff, Michael Vogel, Hypolite Petovan
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -56,9 +57,10 @@
|
|||
* setting. After this, your user can configure their Twitter account settings
|
||||
* from "Settings -> Addon Settings".
|
||||
*
|
||||
* Requirements: PHP5, curl [Slinky library]
|
||||
* Requirements: PHP5, curl
|
||||
*/
|
||||
|
||||
use Abraham\TwitterOAuth\TwitterOAuth;
|
||||
use Friendica\App;
|
||||
use Friendica\Content\OEmbed;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
|
@ -77,7 +79,12 @@ use Friendica\Model\User;
|
|||
use Friendica\Object\Image;
|
||||
use Friendica\Util\Network;
|
||||
|
||||
require_once 'boot.php';
|
||||
require_once 'include/dba.php';
|
||||
require_once 'include/enotify.php';
|
||||
require_once 'include/text.php';
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
define('TWITTER_DEFAULT_POLL_INTERVAL', 5); // given in minutes
|
||||
|
||||
|
@ -146,21 +153,13 @@ function twitter_follow(App $a, &$contact)
|
|||
|
||||
$uid = $a->user["uid"];
|
||||
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$csecret = Config::get('twitter', 'consumersecret');
|
||||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
|
||||
|
||||
require_once "addon/twitter/codebird.php";
|
||||
|
||||
$cb = \Codebird\Codebird::getInstance();
|
||||
$cb->setConsumerKey($ckey, $csecret);
|
||||
$cb->setToken($otoken, $osecret);
|
||||
|
||||
$parameters = [];
|
||||
$parameters["screen_name"] = $nickname;
|
||||
|
||||
$user = $cb->friendships_create($parameters);
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$connection->post('friendships/create', ['screen_name' => $nickname]);
|
||||
|
||||
twitter_fetchuser($a, $uid, $nickname);
|
||||
|
||||
|
@ -218,7 +217,6 @@ function twitter_settings_post(App $a, $post)
|
|||
if (isset($_POST['twitter-pin'])) {
|
||||
// if the user supplied us with a PIN from Twitter, let the magic of OAuth happen
|
||||
logger('got a Twitter PIN');
|
||||
require_once 'library/twitteroauth.php';
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$csecret = Config::get('twitter', 'consumersecret');
|
||||
// the token and secret for which the PIN was generated were hidden in the settings
|
||||
|
@ -261,10 +259,10 @@ function twitter_settings(App $a, &$s)
|
|||
* 2) If no OAuthtoken & stuff is present, generate button to get some
|
||||
* 3) Checkbox for "Send public notices (280 chars only)
|
||||
*/
|
||||
$ckey = Config::get('twitter', 'consumerkey' );
|
||||
$csecret = Config::get('twitter', 'consumersecret' );
|
||||
$otoken = PConfig::get(local_user(), 'twitter', 'oauthtoken' );
|
||||
$osecret = PConfig::get(local_user(), 'twitter', 'oauthsecret' );
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$csecret = Config::get('twitter', 'consumersecret');
|
||||
$otoken = PConfig::get(local_user(), 'twitter', 'oauthtoken');
|
||||
$osecret = PConfig::get(local_user(), 'twitter', 'oauthsecret');
|
||||
|
||||
$enabled = intval(PConfig::get(local_user(), 'twitter', 'post'));
|
||||
$defenabled = intval(PConfig::get(local_user(), 'twitter', 'post_by_default'));
|
||||
|
@ -299,7 +297,6 @@ function twitter_settings(App $a, &$s)
|
|||
* which the user can request a PIN to connect the account to a
|
||||
* account at Twitter.
|
||||
*/
|
||||
require_once 'library/twitteroauth.php';
|
||||
$connection = new TwitterOAuth($ckey, $csecret);
|
||||
$request_token = $connection->getRequestToken();
|
||||
$token = $request_token['oauth_token'];
|
||||
|
@ -320,7 +317,6 @@ function twitter_settings(App $a, &$s)
|
|||
* we have an OAuth key / secret pair for the user
|
||||
* so let's give a chance to disable the postings to Twitter
|
||||
*/
|
||||
require_once 'library/twitteroauth.php';
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$details = $connection->get('account/verify_credentials');
|
||||
|
||||
|
@ -399,11 +395,7 @@ function twitter_action(App $a, $uid, $pid, $action)
|
|||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
|
||||
|
||||
require_once "addon/twitter/codebird.php";
|
||||
|
||||
$cb = \Codebird\Codebird::getInstance();
|
||||
$cb->setConsumerKey($ckey, $csecret);
|
||||
$cb->setToken($otoken, $osecret);
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
||||
$post = ['id' => $pid];
|
||||
|
||||
|
@ -411,13 +403,13 @@ function twitter_action(App $a, $uid, $pid, $action)
|
|||
|
||||
switch ($action) {
|
||||
case "delete":
|
||||
// To-Do: $result = $cb->statuses_destroy($post);
|
||||
// To-Do: $result = $connection->post('statuses/destroy', $post);
|
||||
break;
|
||||
case "like":
|
||||
$result = $cb->favorites_create($post);
|
||||
$result = $connection->post('favorites/create', $post);
|
||||
break;
|
||||
case "unlike":
|
||||
$result = $cb->favorites_destroy($post);
|
||||
$result = $connection->post('favorites/destroy', $post);
|
||||
break;
|
||||
}
|
||||
logger("twitter_action '" . $action . "' send, result: " . print_r($result, true), LOGGER_DEBUG);
|
||||
|
@ -435,7 +427,10 @@ function twitter_post_hook(App $a, &$b)
|
|||
logger("twitter_post_hook: parameter " . print_r($b, true), LOGGER_DATA);
|
||||
|
||||
// Looking if its a reply to a twitter post
|
||||
if ((substr($b["parent-uri"], 0, 9) != "twitter::") && (substr($b["extid"], 0, 9) != "twitter::") && (substr($b["thr-parent"], 0, 9) != "twitter::")) {
|
||||
if ((substr($b["parent-uri"], 0, 9) != "twitter::")
|
||||
&& (substr($b["extid"], 0, 9) != "twitter::")
|
||||
&& (substr($b["thr-parent"], 0, 9) != "twitter::"))
|
||||
{
|
||||
logger("twitter_post_hook: no twitter post " . $b["parent"]);
|
||||
return;
|
||||
}
|
||||
|
@ -484,10 +479,12 @@ function twitter_post_hook(App $a, &$b)
|
|||
|
||||
if ($b['verb'] == ACTIVITY_LIKE) {
|
||||
logger("twitter_post_hook: parameter 2 " . substr($b["thr-parent"], 9), LOGGER_DEBUG);
|
||||
if ($b['deleted'])
|
||||
if ($b['deleted']) {
|
||||
twitter_action($a, $b["uid"], substr($b["thr-parent"], 9), "unlike");
|
||||
else
|
||||
} else {
|
||||
twitter_action($a, $b["uid"], substr($b["thr-parent"], 9), "like");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -521,9 +518,7 @@ function twitter_post_hook(App $a, &$b)
|
|||
return;
|
||||
}
|
||||
|
||||
require_once 'library/twitteroauth.php';
|
||||
require_once 'include/bbcode.php';
|
||||
$tweet = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
||||
$max_char = 280;
|
||||
$msgarr = BBCode::toPlaintext($b, $max_char, true, 8);
|
||||
|
@ -545,29 +540,16 @@ function twitter_post_hook(App $a, &$b)
|
|||
|
||||
// and now tweet it :-)
|
||||
if (strlen($msg) && ($image != "")) {
|
||||
$img_str = Network::fetchUrl($image);
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$media = $connection->upload('media/upload', ['media' => $image]);
|
||||
|
||||
$tempfile = tempnam(get_temppath(), "cache");
|
||||
file_put_contents($tempfile, $img_str);
|
||||
|
||||
// Twitter had changed something so that the old library doesn't work anymore
|
||||
// so we are using a new library for twitter
|
||||
// To-Do:
|
||||
// Switching completely to this library with all functions
|
||||
require_once "addon/twitter/codebird.php";
|
||||
|
||||
$cb = \Codebird\Codebird::getInstance();
|
||||
$cb->setConsumerKey($ckey, $csecret);
|
||||
$cb->setToken($otoken, $osecret);
|
||||
|
||||
$post = ['status' => $msg, 'media[]' => $tempfile];
|
||||
$post = ['status' => $msg, 'media_ids' => $media->media_id_string];
|
||||
|
||||
if ($iscomment) {
|
||||
$post["in_reply_to_status_id"] = substr($orig_post["uri"], 9);
|
||||
}
|
||||
|
||||
$result = $cb->statuses_updateWithMedia($post);
|
||||
unlink($tempfile);
|
||||
$result = $connection->post('statuses/update', $post);
|
||||
|
||||
logger('twitter_post_with_media send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
||||
|
@ -612,7 +594,7 @@ function twitter_post_hook(App $a, &$b)
|
|||
$post["in_reply_to_status_id"] = substr($orig_post["uri"], 9);
|
||||
}
|
||||
|
||||
$result = $tweet->post($url, $post);
|
||||
$result = $connection->post($url, $post);
|
||||
logger('twitter_post send, result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
||||
if ($result->source) {
|
||||
|
@ -628,7 +610,7 @@ function twitter_post_hook(App $a, &$b)
|
|||
}
|
||||
|
||||
$s = serialize(['url' => $url, 'item' => $b['id'], 'post' => $post]);
|
||||
|
||||
|
||||
Queue::add($a->contact, NETWORK_TWITTER, $s);
|
||||
notice(L10n::t('Twitter post failed. Queued for retry.') . EOL);
|
||||
} elseif ($iscomment) {
|
||||
|
@ -644,8 +626,8 @@ function twitter_post_hook(App $a, &$b)
|
|||
|
||||
function twitter_addon_admin_post(App $a)
|
||||
{
|
||||
$consumerkey = x($_POST, 'consumerkey') ? notags(trim($_POST['consumerkey'])) : '';
|
||||
$consumersecret = x($_POST, 'consumersecret') ? notags(trim($_POST['consumersecret'])) : '';
|
||||
$consumerkey = x($_POST, 'consumerkey') ? notags(trim($_POST['consumerkey'])) : '';
|
||||
$consumersecret = x($_POST, 'consumersecret') ? notags(trim($_POST['consumersecret'])) : '';
|
||||
Config::set('twitter', 'consumerkey', $consumerkey);
|
||||
Config::set('twitter', 'consumersecret', $consumersecret);
|
||||
info(L10n::t('Settings updated.') . EOL);
|
||||
|
@ -690,8 +672,9 @@ function twitter_cron(App $a, $b)
|
|||
}
|
||||
|
||||
$abandon_days = intval(Config::get('system', 'account_abandon_days'));
|
||||
if ($abandon_days < 1)
|
||||
if ($abandon_days < 1) {
|
||||
$abandon_days = 0;
|
||||
}
|
||||
|
||||
$abandon_limit = date("Y-m-d H:i:s", time() - $abandon_days * 86400);
|
||||
|
||||
|
@ -828,7 +811,14 @@ function twitter_do_mirrorpost(App $a, $uid, $post)
|
|||
// We don't support nested shares, so we mustn't show quotes as shares on retweets
|
||||
$item = twitter_createpost($a, $uid, $post->retweeted_status, ['id' => 0], false, false, true);
|
||||
|
||||
$datarray['body'] = "\n" . share_header($item['author-name'], $item['author-link'], $item['author-avatar'], "", $item['created'], $item['plink']);
|
||||
$datarray['body'] = "\n" . share_header(
|
||||
$item['author-name'],
|
||||
$item['author-link'],
|
||||
$item['author-avatar'],
|
||||
"",
|
||||
$item['created'],
|
||||
$item['plink']
|
||||
);
|
||||
|
||||
$datarray['body'] .= $item['body'] . '[/share]';
|
||||
} else {
|
||||
|
@ -871,7 +861,6 @@ function twitter_fetchtimeline(App $a, $uid)
|
|||
require_once 'include/items.php';
|
||||
require_once 'mod/share.php';
|
||||
|
||||
require_once 'library/twitteroauth.php';
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
||||
$parameters = ["exclude_replies" => true, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended"];
|
||||
|
@ -954,15 +943,8 @@ function twitter_queue_hook(App $a, &$b)
|
|||
|
||||
$z = unserialize($x['content']);
|
||||
|
||||
require_once "addon/twitter/codebird.php";
|
||||
|
||||
$cb = \Codebird\Codebird::getInstance();
|
||||
$cb->setConsumerKey($ckey, $csecret);
|
||||
$cb->setToken($otoken, $osecret);
|
||||
|
||||
if ($z['url'] == "statuses/update") {
|
||||
$result = $cb->statuses_update($z['post']);
|
||||
}
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$result = $connection->post($z['url'], $z['post']);
|
||||
|
||||
logger('twitter_queue: post result: ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
||||
|
@ -1010,7 +992,8 @@ function twitter_fetch_contact($uid, $contact, $create_user)
|
|||
"addr" => $contact->screen_name . "@twitter.com", "generation" => 2]);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
|
||||
intval($uid), dbesc("twitter::" . $contact->id_str));
|
||||
intval($uid),
|
||||
dbesc("twitter::" . $contact->id_str));
|
||||
|
||||
if (!count($r) && !$create_user) {
|
||||
return 0;
|
||||
|
@ -1128,17 +1111,11 @@ function twitter_fetch_contact($uid, $contact, $create_user)
|
|||
|
||||
function twitter_fetchuser(App $a, $uid, $screen_name = "", $user_id = "")
|
||||
{
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$ckey = Config::get('twitter', 'consumerkey');
|
||||
$csecret = Config::get('twitter', 'consumersecret');
|
||||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
|
||||
|
||||
require_once "addon/twitter/codebird.php";
|
||||
|
||||
$cb = \Codebird\Codebird::getInstance();
|
||||
$cb->setConsumerKey($ckey, $csecret);
|
||||
$cb->setToken($otoken, $osecret);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
|
||||
intval($uid));
|
||||
|
||||
|
@ -1159,7 +1136,8 @@ function twitter_fetchuser(App $a, $uid, $screen_name = "", $user_id = "")
|
|||
}
|
||||
|
||||
// Fetching user data
|
||||
$user = $cb->users_show($parameters);
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
$user = $connection->get('users/show', $parameters);
|
||||
|
||||
if (!is_object($user)) {
|
||||
return;
|
||||
|
@ -1395,8 +1373,8 @@ function twitter_createpost(App $a, $uid, $post, $self, $create_user, $only_exis
|
|||
|
||||
// Don't import our own comments
|
||||
$r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($postarray['uri']),
|
||||
intval($uid)
|
||||
dbesc($postarray['uri']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if (count($r)) {
|
||||
|
@ -1410,8 +1388,8 @@ function twitter_createpost(App $a, $uid, $post, $self, $create_user, $only_exis
|
|||
$parent = "twitter::" . $post->in_reply_to_status_id_str;
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($parent),
|
||||
intval($uid)
|
||||
dbesc($parent),
|
||||
intval($uid)
|
||||
);
|
||||
if (count($r)) {
|
||||
$postarray['thr-parent'] = $r[0]["uri"];
|
||||
|
@ -1420,8 +1398,8 @@ function twitter_createpost(App $a, $uid, $post, $self, $create_user, $only_exis
|
|||
$postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
|
||||
} else {
|
||||
$r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($parent),
|
||||
intval($uid)
|
||||
dbesc($parent),
|
||||
intval($uid)
|
||||
);
|
||||
if (count($r)) {
|
||||
$postarray['thr-parent'] = $r[0]['uri'];
|
||||
|
@ -1542,7 +1520,14 @@ function twitter_createpost(App $a, $uid, $post, $self, $create_user, $only_exis
|
|||
|
||||
$postarray['body'] = $statustext;
|
||||
|
||||
$postarray['body'] .= "\n" . share_header($quoted['author-name'], $quoted['author-link'], $quoted['author-avatar'], "", $quoted['created'], $quoted['plink']);
|
||||
$postarray['body'] .= "\n" . share_header(
|
||||
$quoted['author-name'],
|
||||
$quoted['author-link'],
|
||||
$quoted['author-avatar'],
|
||||
"",
|
||||
$quoted['created'],
|
||||
$quoted['plink']
|
||||
);
|
||||
|
||||
$postarray['body'] .= $quoted['body'] . '[/share]';
|
||||
}
|
||||
|
@ -1554,7 +1539,7 @@ function twitter_checknotification(App $a, $uid, $own_id, $top_item, $postarray)
|
|||
{
|
||||
/// TODO: this whole function doesn't seem to work. Needs complete check
|
||||
$user = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1",
|
||||
intval($uid)
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if (!count($user)) {
|
||||
|
@ -1567,8 +1552,8 @@ function twitter_checknotification(App $a, $uid, $own_id, $top_item, $postarray)
|
|||
}
|
||||
|
||||
$own_user = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
dbesc("twitter::".$own_id)
|
||||
intval($uid),
|
||||
dbesc("twitter::".$own_id)
|
||||
);
|
||||
|
||||
if (!count($own_user)) {
|
||||
|
@ -1581,8 +1566,8 @@ function twitter_checknotification(App $a, $uid, $own_id, $top_item, $postarray)
|
|||
}
|
||||
|
||||
$myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 AND `deleted` = 0",
|
||||
dbesc($postarray['parent-uri']),
|
||||
intval($uid)
|
||||
dbesc($postarray['parent-uri']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if (count($myconv)) {
|
||||
|
@ -1636,8 +1621,8 @@ function twitter_fetchparentposts(App $a, $uid, $post, $connection, $self, $own_
|
|||
}
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc("twitter::".$post->id_str),
|
||||
intval($uid)
|
||||
dbesc("twitter::".$post->id_str),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if (count($r)) {
|
||||
|
@ -1655,8 +1640,9 @@ function twitter_fetchparentposts(App $a, $uid, $post, $connection, $self, $own_
|
|||
foreach ($posts as $post) {
|
||||
$postarray = twitter_createpost($a, $uid, $post, $self, false, false, false);
|
||||
|
||||
if (trim($postarray['body']) == "")
|
||||
if (trim($postarray['body']) == "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
$item = Item::insert($postarray);
|
||||
$postarray["id"] = $item;
|
||||
|
@ -1687,7 +1673,6 @@ function twitter_fetchhometimeline(App $a, $uid)
|
|||
$application_name = $a->get_hostname();
|
||||
}
|
||||
|
||||
require_once 'library/twitteroauth.php';
|
||||
require_once 'include/items.php';
|
||||
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
@ -1849,8 +1834,9 @@ function twitter_fetchhometimeline(App $a, $uid)
|
|||
$item = $r[0]['id'];
|
||||
$parent_id = $r[0]['parent'];
|
||||
}
|
||||
} else
|
||||
} else {
|
||||
$parent_id = $postarray['parent'];
|
||||
}
|
||||
|
||||
if (($item != 0) && !function_exists("check_item_notification")) {
|
||||
require_once 'include/enotify.php';
|
||||
|
@ -1889,8 +1875,6 @@ function twitter_fetch_own_contact(App $a, $uid)
|
|||
$contact_id = 0;
|
||||
|
||||
if ($own_id == "") {
|
||||
require_once 'library/twitteroauth.php';
|
||||
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
||||
// Fetching user data
|
||||
|
@ -1957,9 +1941,7 @@ function twitter_is_retweet(App $a, $uid, $body)
|
|||
$otoken = PConfig::get($uid, 'twitter', 'oauthtoken');
|
||||
$osecret = PConfig::get($uid, 'twitter', 'oauthsecret');
|
||||
|
||||
require_once 'library/twitteroauth.php';
|
||||
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
|
||||
|
||||
$result = $connection->post('statuses/retweet/' . $id);
|
||||
|
||||
logger('twitter_is_retweet: result ' . print_r($result, true), LOGGER_DEBUG);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue