use Friendica\Model\Conversation;
use Friendica\Model\Event;
use Friendica\Model\FContact;
+use Friendica\Model\GServer;
use Friendica\Model\Item;
use Friendica\Model\ItemURI;
use Friendica\Model\Mail;
-use Friendica\Model\Notify;
-use Friendica\Model\Notify\Type;
+use Friendica\Model\Notification;
use Friendica\Model\PermissionSet;
use Friendica\Model\Post;
use Friendica\Model\Post\Category;
}
/**
- * Generate an atom entry for a given item id
+ * Generate an atom entry for a given uri id and user
*
- * @param int $item_id The item id
+ * @param int $uri_id The uri id
+ * @param int $uid The user id
* @param boolean $conversation Show the conversation. If false show the single post.
*
* @return string DFRN feed entry
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
- public static function itemFeed($item_id, $conversation = false)
+ public static function itemFeed(int $uri_id, int $uid, bool $conversation = false)
{
if ($conversation) {
- $condition = ['parent' => $item_id];
+ $condition = ['parent-uri-id' => $uri_id];
} else {
- $condition = ['id' => $item_id];
+ $condition = ['uri-id' => $uri_id];
}
+ $condition['uid'] = $uid;
+
$items = Post::selectToArray(Item::DELIVER_FIELDLIST, $condition);
if (!DBA::isResult($items)) {
return '';
// send a notification
notification(
[
- "type" => Type::POKE,
- "otype" => Notify\ObjectType::PERSON,
+ "type" => Notification\Type::POKE,
+ "otype" => Notification\ObjectType::PERSON,
"activity" => $verb,
"verb" => $item["verb"],
"uid" => $importer["importer_uid"],
Logger::log("Import DFRN message for user " . $importer["importer_uid"] . " from contact " . $importer["id"], Logger::DEBUG);
+ if (!empty($importer['gsid'])) {
+ if ($protocol == Conversation::PARCEL_DIASPORA_DFRN) {
+ GServer::setProtocol($importer['gsid'], Post\DeliveryData::DFRN);
+ } elseif ($protocol == Conversation::PARCEL_LEGACY_DFRN) {
+ GServer::setProtocol($importer['gsid'], Post\DeliveryData::LEGACY_DFRN);
+ }
+ }
+
// is it a public forum? Private forums aren't exposed with this method
$forum = intval(XML::getFirstNodeValue($xpath, "/atom:feed/dfrn:community/text()"));