From 7338b5de599a6b71530033b01ea750dada20b573 Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Wed, 23 Nov 2022 06:25:28 +0000
Subject: [PATCH] Don't call mod/item.php anymore

---
 ifttt/ifttt.php         |  6 +-----
 pumpio/pumpio.php       | 26 ++++++++------------------
 statusnet/statusnet.php | 36 +++++++++++-------------------------
 twitter/twitter.php     |  2 +-
 4 files changed, 21 insertions(+), 49 deletions(-)

diff --git a/ifttt/ifttt.php b/ifttt/ifttt.php
index 582b6b26..3906fd0a 100644
--- a/ifttt/ifttt.php
+++ b/ifttt/ifttt.php
@@ -10,12 +10,10 @@ use Friendica\App;
 use Friendica\Content\PageInfo;
 use Friendica\Core\Hook;
 use Friendica\Core\Logger;
-use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
-use Friendica\Model\Item;
 use Friendica\Model\Post;
 use Friendica\Util\Strings;
 
@@ -152,8 +150,6 @@ function ifttt_post(App $a)
 
 function ifttt_message($uid, $item)
 {
-	$a = DI::app();
-
 	$post = [];
 	$post['uid'] = $uid;
 	$post['app'] = 'IFTTT';
@@ -184,5 +180,5 @@ function ifttt_message($uid, $item)
 		$link = hash('ripemd128', $item['msg']);
 	}
 
-	Post\Delayed::add($link, $post, Worker::PRIORITY_MEDIUM, Post\Delayed::UNPREPARED);
+	Post\Delayed::add($link, $post, Worker::PRIORITY_MEDIUM, Post\Delayed::PREPARED);
 }
diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php
index 903450c2..bd38fbeb 100644
--- a/pumpio/pumpio.php
+++ b/pumpio/pumpio.php
@@ -780,40 +780,30 @@ function pumpio_fetchtimeline(App $a, int $uid)
 			}
 
 			if ($public && !stristr($post->generator->displayName, $application_name)) {
-				$_SESSION['authenticated'] = true;
-				$_SESSION['uid'] = $uid;
-
-				unset($_REQUEST);
-				$_REQUEST['api_source'] = true;
-				$_REQUEST['profile_uid'] = $uid;
-				$_REQUEST['source'] = 'pump.io';
-
-				if (isset($post->object->id)) {
-					$_REQUEST['message_id'] = Protocol::PUMPIO . ':' . $post->object->id;
-				}
+				$postarray['uid'] = $uid;
+				$postarray['app'] = 'pump.io';
 
 				if ($post->object->displayName != '') {
-					$_REQUEST['title'] = HTML::toBBCode($post->object->displayName);
+					$postarray['title'] = HTML::toBBCode($post->object->displayName);
 				} else {
-					$_REQUEST['title'] = '';
+					$postarray['title'] = '';
 				}
 
-				$_REQUEST['body'] = HTML::toBBCode($post->object->content);
+				$postarray['body'] = HTML::toBBCode($post->object->content);
 
 				// To-Do: Picture has to be cached and stored locally
 				if ($post->object->fullImage->url != '') {
 					if ($post->object->fullImage->pump_io->proxyURL != '') {
-						$_REQUEST['body'] = '[url=' . $post->object->fullImage->pump_io->proxyURL . '][img]' . $post->object->image->pump_io->proxyURL . "[/img][/url]\n" . $_REQUEST['body'];
+						$postarray['body'] = '[url=' . $post->object->fullImage->pump_io->proxyURL . '][img]' . $post->object->image->pump_io->proxyURL . "[/img][/url]\n" . $postarray['body'];
 					} else {
-						$_REQUEST['body'] = '[url=' . $post->object->fullImage->url . '][img]' . $post->object->image->url . "[/img][/url]\n" . $_REQUEST['body'];
+						$postarray['body'] = '[url=' . $post->object->fullImage->url . '][img]' . $post->object->image->url . "[/img][/url]\n" . $postarray['body'];
 					}
 				}
 
 				Logger::notice('pumpio: posting for user ' . $uid);
 
-				require_once 'mod/item.php';
+				Item::insert($postarray, true);
 
-				item_post($a);
 				Logger::notice('pumpio: posting done - user ' . $uid);
 			}
 		}
diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php
index 97281a39..9e009d1b 100644
--- a/statusnet/statusnet.php
+++ b/statusnet/statusnet.php
@@ -762,7 +762,6 @@ function statusnet_fetchtimeline(App $a, int $uid)
 	$osecret = DI::pConfig()->get($uid, 'statusnet', 'oauthsecret');
 	$lastid  = DI::pConfig()->get($uid, 'statusnet', 'lastid');
 
-	require_once 'mod/item.php';
 	//  get the application name for the SN app
 	//  1st try personal config, then system config and fallback to the
 	//  hostname of the node if neither one is set.
@@ -819,46 +818,33 @@ function statusnet_fetchtimeline(App $a, int $uid)
 			}
 
 			if (!stristr($post->source, $application_name)) {
-				$_SESSION['authenticated'] = true;
-				$_SESSION['uid'] = $uid;
+				$postarray['uid'] = $uid;
+				$postarray['app'] = $post->source;
+				$postarray['extid'] = Protocol::STATUSNET;
 
-				unset($_REQUEST);
-				$_REQUEST['api_source'] = true;
-				$_REQUEST['profile_uid'] = $uid;
-				//$_REQUEST['source'] = 'StatusNet';
-				$_REQUEST['source'] = $post->source;
-				$_REQUEST['extid'] = Protocol::STATUSNET;
+				$postarray['title'] = '';
 
-				if (isset($post->id)) {
-					$_REQUEST['message_id'] = Item::newURI(Protocol::STATUSNET . ':' . $post->id);
-				}
-
-				//$_REQUEST['date'] = $post->created_at;
-
-				$_REQUEST['title'] = '';
-
-				$_REQUEST['body'] = $post->text;
+				$postarray['body'] = $post->text;
 				if (is_string($post->place->name)) {
-					$_REQUEST['location'] = $post->place->name;
+					$postarray['location'] = $post->place->name;
 				}
 
 				if (is_string($post->place->full_name)) {
-					$_REQUEST['location'] = $post->place->full_name;
+					$postarray['location'] = $post->place->full_name;
 				}
 
 				if (is_array($post->geo->coordinates)) {
-					$_REQUEST['coord'] = $post->geo->coordinates[0] . ' ' . $post->geo->coordinates[1];
+					$postarray['coord'] = $post->geo->coordinates[0] . ' ' . $post->geo->coordinates[1];
 				}
 
 				if (is_array($post->coordinates->coordinates)) {
-					$_REQUEST['coord'] = $post->coordinates->coordinates[1] . ' ' . $post->coordinates->coordinates[0];
+					$postarray['coord'] = $post->coordinates->coordinates[1] . ' ' . $post->coordinates->coordinates[0];
 				}
 
-				//print_r($_REQUEST);
-				if ($_REQUEST['body'] != '') {
+				if ($postarray['body'] != '') {
 					Logger::notice('statusnet: posting for user ' . $uid);
 
-					item_post($a);
+					Item::insert($postarray, true);
 				}
 			}
 		}
diff --git a/twitter/twitter.php b/twitter/twitter.php
index 54ccfa1e..a243a75c 100644
--- a/twitter/twitter.php
+++ b/twitter/twitter.php
@@ -1337,7 +1337,7 @@ function twitter_fetchtimeline(App $a, int $uid): void
 
 			Logger::info('Posting mirror post', ['twitter-id' => $post->id_str, 'uid' => $uid]);
 
-			Post\Delayed::add($mirrorpost['extid'], $mirrorpost, Worker::PRIORITY_MEDIUM, Post\Delayed::UNPREPARED);
+			Post\Delayed::add($mirrorpost['extid'], $mirrorpost, Worker::PRIORITY_MEDIUM, Post\Delayed::PREPARED);
 		}
 	}
 	DI::pConfig()->set($uid, 'twitter', 'lastid', $lastid);