* Version: 0.1
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
*/
-require_once 'mod/item.php';
use Friendica\App;
use Friendica\Content\PageInfo;
use Friendica\Core\Hook;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Item;
+use Friendica\Model\Post;
use Friendica\Util\Strings;
function ifttt_install()
{
$a = DI::app();
- $_SESSION['authenticated'] = true;
- $_SESSION['uid'] = $uid;
-
- unset($_REQUEST);
- $_REQUEST['api_source'] = true;
- $_REQUEST['profile_uid'] = $uid;
- $_REQUEST['source'] = 'IFTTT';
- $_REQUEST['title'] = '';
- $_REQUEST['body'] = $item['msg'];
- //$_REQUEST['date'] = $item['date'];
- //$_REQUEST['uri'] = $item['url'];
+ $post = [];
+ $post['uid'] = $uid;
+ $post['app'] = 'IFTTT';
+ $post['title'] = '';
+ $post['body'] = $item['msg'];
+ //$post['date'] = $item['date'];
+ //$post['uri'] = $item['url'];
if (!empty($item['url']) && strstr($item['url'], 'facebook.com')) {
$hash = hash('ripemd128', $item['url']);
- $_REQUEST['extid'] = Protocol::FACEBOOK;
- $_REQUEST['message_id'] = Item::newURI($uid, Protocol::FACEBOOK . ':' . $hash);
+ $post['extid'] = Protocol::FACEBOOK;
+ $post['message_id'] = Item::newURI($uid, Protocol::FACEBOOK . ':' . $hash);
}
if ($item['type'] == 'link') {
+ $link = $item['link'];
$data = PageInfo::queryUrl($item['link']);
if (isset($item['title']) && (trim($item['title']) != '')) {
$data['text'] = $item['description'];
}
- $_REQUEST['body'] .= "\n" . PageInfo::getFooterFromData($data);
+ $post['body'] .= "\n" . PageInfo::getFooterFromData($data);
} elseif (($item['type'] == 'photo') && ($item['image'] != '')) {
- $_REQUEST['body'] .= "\n\n[img]" . $item['image'] . "[/img]\n";
+ $link = $item['image'];
+ $post['body'] .= "\n\n[img]" . $item['image'] . "[/img]\n";
+ } elseif (!empty($item['url'])) {
+ $link = $item['url'];
+ } else {
+ $link = hash('ripemd128', $item['msg']);
}
- item_post($a);
+ Post\Delayed::add($link, $post, PRIORITY_MEDIUM, true);
}
use Friendica\Model\Item;
use Friendica\Model\ItemContent;
use Friendica\Model\ItemURI;
+use Friendica\Model\Post;
use Friendica\Model\Tag;
use Friendica\Model\User;
use Friendica\Protocol\Activity;
*/
function twitter_do_mirrorpost(App $a, $uid, $post)
{
- $datarray['api_source'] = true;
- $datarray['profile_uid'] = $uid;
$datarray['extid'] = 'twitter::' . $post->id;
- $datarray['protocol'] = Conversation::PARCEL_TWITTER;
- $datarray['source'] = json_encode($post);
$datarray['title'] = '';
if (!empty($post->retweeted_status)) {
$datarray['body'] = $item['body'];
}
- $datarray['source'] = $item['app'];
+ $datarray['app'] = $item['app'];
$datarray['verb'] = $item['verb'];
if (isset($item['location'])) {
$application_name = DI::baseUrl()->getHostname();
}
- require_once 'mod/item.php';
- require_once 'mod/share.php';
-
$connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
$parameters = ["exclude_replies" => true, "trim_user" => false, "contributor_details" => true, "include_rts" => true, "tweet_mode" => "extended", "include_ext_alt_text" => true];
}
if (!stristr($post->source, $application_name)) {
- $_SESSION["authenticated"] = true;
- $_SESSION["uid"] = $uid;
-
Logger::info('Preparing mirror post', ['twitter-id' => $post->id_str, 'uid' => $uid]);
- $_REQUEST = twitter_do_mirrorpost($a, $uid, $post);
+ $mirrorpost = twitter_do_mirrorpost($a, $uid, $post);
- if (empty($_REQUEST['body'])) {
+ if (empty($mirrorpost['body'])) {
continue;
}
- Logger::info('Posting mirror post ', ['twitter-id' => $post->id_str, 'uid' => $uid]);
+ Logger::info('Posting mirror post', ['twitter-id' => $post->id_str, 'uid' => $uid]);
- item_post($a);
+ Post\Delayed::add($mirrorpost['extid'], $mirrorpost, PRIORITY_MEDIUM, true);
}
}
}