mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-12-23 00:30:21 +00:00
commit
68b6443e69
1 changed files with 70 additions and 0 deletions
|
@ -1542,15 +1542,69 @@ function twitter_checknotification($a, $uid, $own_id, $top_item, $postarray) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function twitter_fetchparentposts($a, $uid, $post, $connection, $self, $own_id) {
|
||||||
|
logger("twitter_fetchparentposts: Fetching for user ".$uid." and post ".$post->id_str, LOGGER_DEBUG);
|
||||||
|
|
||||||
|
$posts = array();
|
||||||
|
|
||||||
|
while ($post->in_reply_to_status_id_str != "") {
|
||||||
|
$parameters = array("trim_user" => false, "id" => $post->in_reply_to_status_id_str);
|
||||||
|
|
||||||
|
$post = $connection->get('statuses/show', $parameters);
|
||||||
|
|
||||||
|
if (!count($post)) {
|
||||||
|
logger("twitter_fetchparentposts: Can't fetch post ".$parameters->id, LOGGER_DEBUG);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
|
dbesc("twitter::".$post->id_str),
|
||||||
|
intval($uid)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (count($r))
|
||||||
|
break;
|
||||||
|
|
||||||
|
$posts[] = $post;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger("twitter_fetchparentposts: Fetching ".count($posts)." parents", LOGGER_DEBUG);
|
||||||
|
|
||||||
|
$posts = array_reverse($posts);
|
||||||
|
|
||||||
|
if (count($posts)) {
|
||||||
|
foreach ($posts as $post) {
|
||||||
|
$postarray = twitter_createpost($a, $uid, $post, $self, false, false);
|
||||||
|
|
||||||
|
if (trim($postarray['body']) == "")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$item = item_store($postarray);
|
||||||
|
$postarray["id"] = $item;
|
||||||
|
|
||||||
|
logger('twitter_fetchparentpost: User '.$self["nick"].' posted parent timeline item '.$item);
|
||||||
|
|
||||||
|
if ($item != 0)
|
||||||
|
twitter_checknotification($a, $uid, $own_id, $item, $postarray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function twitter_fetchhometimeline($a, $uid) {
|
function twitter_fetchhometimeline($a, $uid) {
|
||||||
$ckey = get_config('twitter', 'consumerkey');
|
$ckey = get_config('twitter', 'consumerkey');
|
||||||
$csecret = get_config('twitter', 'consumersecret');
|
$csecret = get_config('twitter', 'consumersecret');
|
||||||
$otoken = get_pconfig($uid, 'twitter', 'oauthtoken');
|
$otoken = get_pconfig($uid, 'twitter', 'oauthtoken');
|
||||||
$osecret = get_pconfig($uid, 'twitter', 'oauthsecret');
|
$osecret = get_pconfig($uid, 'twitter', 'oauthsecret');
|
||||||
$create_user = get_pconfig($uid, 'twitter', 'create_user');
|
$create_user = get_pconfig($uid, 'twitter', 'create_user');
|
||||||
|
$mirror_posts = get_pconfig($uid, 'twitter', 'mirror_posts');
|
||||||
|
|
||||||
logger("twitter_fetchhometimeline: Fetching for user ".$uid, LOGGER_DEBUG);
|
logger("twitter_fetchhometimeline: Fetching for user ".$uid, LOGGER_DEBUG);
|
||||||
|
|
||||||
|
$application_name = get_config('twitter', 'application_name');
|
||||||
|
|
||||||
|
if ($application_name == "")
|
||||||
|
$application_name = $a->get_hostname();
|
||||||
|
|
||||||
require_once('library/twitteroauth.php');
|
require_once('library/twitteroauth.php');
|
||||||
require_once('include/items.php');
|
require_once('include/items.php');
|
||||||
|
|
||||||
|
@ -1617,6 +1671,19 @@ function twitter_fetchhometimeline($a, $uid) {
|
||||||
if ($first_time)
|
if ($first_time)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (stristr($post->source, $application_name) && $post->user->screen_name == $own_id) {
|
||||||
|
logger("twitter_fetchhometimeline: Skip previously sended post", LOGGER_DEBUG);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($mirror_posts && $post->user->screen_name == $own_id && $post->in_reply_to_status_id_str == "") {
|
||||||
|
logger("twitter_fetchhometimeline: Skip post that will be mirrored", LOGGER_DEBUG);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($post->in_reply_to_status_id_str != "")
|
||||||
|
twitter_fetchparentposts($a, $uid, $post, $connection, $self, $own_id);
|
||||||
|
|
||||||
$postarray = twitter_createpost($a, $uid, $post, $self, $create_user, true);
|
$postarray = twitter_createpost($a, $uid, $post, $self, $create_user, true);
|
||||||
|
|
||||||
if (trim($postarray['body']) == "")
|
if (trim($postarray['body']) == "")
|
||||||
|
@ -1661,6 +1728,9 @@ function twitter_fetchhometimeline($a, $uid) {
|
||||||
if ($first_time)
|
if ($first_time)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if ($post->in_reply_to_status_id_str != "")
|
||||||
|
twitter_fetchparentposts($a, $uid, $post, $connection, $self, $own_id);
|
||||||
|
|
||||||
$postarray = twitter_createpost($a, $uid, $post, $self, false, false);
|
$postarray = twitter_createpost($a, $uid, $post, $self, false, false);
|
||||||
|
|
||||||
if (trim($postarray['body']) == "")
|
if (trim($postarray['body']) == "")
|
||||||
|
|
Loading…
Reference in a new issue