Browse Source

Merge pull request #3908 from zeroadam/OStatus-#3878

OStatus moved to src
tags/3.6
Michael Vogel 2 years ago
committed by GitHub
parent
commit
fda48ec431
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 113 additions and 100 deletions
  1. +5
    -5
      include/Contact.php
  2. +3
    -2
      include/delivery.php
  3. +2
    -2
      include/follow.php
  4. +4
    -4
      include/items.php
  5. +2
    -2
      include/notifier.php
  6. +8
    -5
      include/pubsubpublish.php
  7. +7
    -5
      mod/dfrn_poll.php
  8. +10
    -8
      mod/salmon.php
  9. +2
    -2
      src/Protocol/DFRN.php
  10. +70
    -65
      src/Protocol/OStatus.php

+ 5
- 5
include/Contact.php View File

@@ -1,5 +1,7 @@
<?php

/**
* @file include/Contact.php
*/
use Friendica\App;
use Friendica\Core\PConfig;
use Friendica\Core\System;
@@ -8,6 +10,7 @@ use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\DFRN;
use Friendica\Protocol\OStatus;

// Included here for completeness, but this is a very dangerous operation.
// It is the caller's responsibility to confirm the requestor's intent and
@@ -79,14 +82,11 @@ function terminate_friendship($user,$self,$contact) {
require_once 'include/datetime.php';

if ($contact['network'] === NETWORK_OSTATUS) {

require_once 'include/ostatus.php';

// create an unfollow slap
$item = array();
$item['verb'] = NAMESPACE_OSTATUS."/unfollow";
$item['follow'] = $contact["url"];
$slap = ostatus::salmon($item, $user);
$slap = OStatus::salmon($item, $user);

if ((x($contact,'notify')) && (strlen($contact['notify']))) {
require_once 'include/salmon.php';


+ 3
- 2
include/delivery.php View File

@@ -1,5 +1,7 @@
<?php

/**
* @file include/delivery.php
*/
use Friendica\App;
use Friendica\Core\System;
use Friendica\Core\Config;
@@ -9,7 +11,6 @@ use Friendica\Protocol\DFRN;

require_once 'include/queue_fn.php';
require_once 'include/html2plain.php';
require_once 'include/ostatus.php';

function delivery_run(&$argv, &$argc){
global $a;


+ 2
- 2
include/follow.php View File

@@ -9,11 +9,11 @@ use Friendica\Core\Worker;
use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\OStatus;
use Friendica\Protocol\PortableContact;

require_once 'include/group.php';
require_once 'include/salmon.php';
require_once 'include/ostatus.php';
require_once 'include/Photo.php';

function update_contact($id) {
@@ -267,7 +267,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
$item = array();
$item['verb'] = ACTIVITY_FOLLOW;
$item['follow'] = $contact["url"];
$slap = ostatus::salmon($item, $r[0]);
$slap = OStatus::salmon($item, $r[0]);
slapper($r[0], $contact['notify'], $slap);
}



+ 4
- 4
include/items.php View File

@@ -13,6 +13,7 @@ use Friendica\Core\System;
use Friendica\Database\DBM;
use Friendica\Model\GlobalContact;
use Friendica\Protocol\DFRN;
use Friendica\Protocol\OStatus;
use Friendica\Util\Lock;

require_once 'include/bbcode.php';
@@ -26,7 +27,6 @@ require_once 'include/text.php';
require_once 'include/email.php';
require_once 'include/threads.php';
require_once 'include/plaintext.php';
require_once 'include/ostatus.php';
require_once 'include/feed.php';
require_once 'include/Contact.php';
require_once 'mod/share.php';
@@ -542,9 +542,9 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
/// @todo Check if this is really still needed
if ($arr['network'] == NETWORK_OSTATUS) {
if (isset($arr['plink'])) {
$arr['plink'] = ostatus::convert_href($arr['plink']);
$arr['plink'] = OStatus::convertHref($arr['plink']);
} elseif (isset($arr['uri'])) {
$arr['plink'] = ostatus::convert_href($arr['uri']);
$arr['plink'] = OStatus::convertHref($arr['uri']);
}
}

@@ -1532,7 +1532,7 @@ function consume_feed($xml, $importer, &$contact, &$hub, $datedir = 0, $pass = 0
//$tempfile = tempnam(get_temppath(), "ostatus2");
//file_put_contents($tempfile, $xml);
logger("Consume OStatus messages ", LOGGER_DEBUG);
ostatus::import($xml, $importer, $contact, $hub);
OStatus::import($xml, $importer, $contact, $hub);
}
return;
}


+ 2
- 2
include/notifier.php View File

@@ -6,10 +6,10 @@ use Friendica\Core\Worker;
use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Protocol\Diaspora;
use Friendica\Protocol\OStatus;

require_once 'include/queue_fn.php';
require_once 'include/html2plain.php';
require_once 'include/ostatus.php';
require_once 'include/salmon.php';

/*
@@ -225,7 +225,7 @@ function notifier_run(&$argv, &$argc){

if (! ($mail || $fsuggest || $relocate)) {

$slap = ostatus::salmon($target_item,$owner);
$slap = OStatus::salmon($target_item, $owner);

require_once 'include/group.php';



+ 8
- 5
include/pubsubpublish.php View File

@@ -1,15 +1,18 @@
<?php

/**
* @file include/pubsubpublish.php
*/
use Friendica\App;
use Friendica\Core\System;
use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
use Friendica\Protocol\OStatus;

require_once('include/items.php');
require_once('include/ostatus.php');
require_once 'include/items.php';

function pubsubpublish_run(&$argv, &$argc){
function pubsubpublish_run(&$argv, &$argc)
{
global $a;

if ($argc > 1) {
@@ -47,7 +50,7 @@ function handle_pubsubhubbub($id) {
logger("Generate feed of user ".$rr['nickname']." to ".$rr['callback_url']." - last updated ".$rr['last_update'], LOGGER_DEBUG);

$last_update = $rr['last_update'];
$params = ostatus::feed($a, $rr['nickname'], $last_update);
$params = OStatus::feed($a, $rr['nickname'], $last_update);

if (!$params) {
return;


+ 7
- 5
mod/dfrn_poll.php View File

@@ -1,14 +1,16 @@
<?php

/**
* @file mod/dfrn_poll.php
*/
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\System;
use Friendica\Database\DBM;
use Friendica\Protocol\DFRN;
use Friendica\Protocol\OStatus;

require_once('include/items.php');
require_once('include/auth.php');
require_once('include/ostatus.php');
require_once 'include/items.php';
require_once 'include/auth.php';

function dfrn_poll_init(App $a) {
$dfrn_id = ((x($_GET,'dfrn_id')) ? $_GET['dfrn_id'] : '');
@@ -25,7 +27,7 @@ function dfrn_poll_init(App $a) {
if (($a->argc > 1) && ($dfrn_id == '') && !strstr($_SERVER["HTTP_USER_AGENT"], 'Friendica')) {
$nickname = $a->argv[1];
header("Content-type: application/atom+xml");
echo ostatus::feed($a, $nickname, $last_update, 10);
echo OStatus::feed($a, $nickname, $last_update, 10);
killme();
}



+ 10
- 8
mod/salmon.php View File

@@ -1,14 +1,16 @@
<?php

/**
* @file mod/salmon.php
*/
use Friendica\App;
use Friendica\Core\PConfig;
use Friendica\Database\DBM;
use Friendica\Protocol\OStatus;

require_once('include/salmon.php');
require_once('include/ostatus.php');
require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/follow.php');
require_once 'include/salmon.php';
require_once 'include/crypto.php';
require_once 'include/items.php';
require_once 'include/follow.php';

function salmon_return($val) {

@@ -89,7 +91,7 @@ function salmon_post(App $a) {
// decode the data
$data = base64url_decode($data);

$author = ostatus::salmon_author($data,$importer);
$author = OStatus::salmonAuthor($data, $importer);
$author_link = $author["author-link"];

if(! $author_link) {
@@ -190,7 +192,7 @@ function salmon_post(App $a) {

$contact_rec = ((DBM::is_result($r)) ? $r[0] : null);

ostatus::import($data,$importer,$contact_rec, $hub);
OStatus::import($data, $importer, $contact_rec, $hub);

http_status_exit(200);
}

+ 2
- 2
src/Protocol/DFRN.php View File

@@ -14,12 +14,12 @@ use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Model\GlobalContact;
use Friendica\Database\DBM;
use Friendica\Protocol\OStatus;
use Friendica\Util\XML;

use dba;
use DOMDocument;
use DomXPath;
use ostatus;

require_once "include/Contact.php";
require_once "include/enotify.php";
@@ -554,7 +554,7 @@ class DFRN

if ($public) {
// DFRN itself doesn't uses this. But maybe someone else wants to subscribe to the public feed.
ostatus::hublinks($doc, $root, $owner["nick"]);
OStatus::hublinks($doc, $root, $owner["nick"]);

$attributes = array("rel" => "salmon", "href" => System::baseUrl()."/salmon/".$owner["nick"]);
XML::add_element($doc, $root, "link", "", $attributes);


include/ostatus.php → src/Protocol/OStatus.php View File

@@ -1,7 +1,8 @@
<?php
/**
* @file include/ostatus.php
* @file src/Protocol/OStatus.php
*/
namespace Friendica\Protocol;

use Friendica\App;
use Friendica\Core\Cache;
@@ -12,6 +13,9 @@ use Friendica\Model\GlobalContact;
use Friendica\Network\Probe;
use Friendica\Util\Lock;
use Friendica\Util\XML;
use dba;
use DOMDocument;
use DomXPath;

require_once 'include/Contact.php';
require_once 'include/threads.php';
@@ -28,7 +32,7 @@ require_once 'mod/proxy.php';
/**
* @brief This class contain functions for the OStatus protocol
*/
class ostatus
class OStatus
{
private static $itemlist;
private static $conv_list = array();
@@ -44,7 +48,7 @@ class ostatus
*
* @return array Array of author related entries for the item
*/
private static function fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
private static function fetchAuthor($xpath, $context, $importer, &$contact, $onlyfetch)
{
$author = array();
$author["author-link"] = $xpath->evaluate('atom:author/atom:uri/text()', $context)->item(0)->nodeValue;
@@ -241,7 +245,7 @@ class ostatus
*
* @return array Array of author related entries for the item
*/
public static function salmon_author($xml, $importer)
public static function salmonAuthor($xml, $importer)
{
if ($xml == "") {
return;
@@ -264,7 +268,7 @@ class ostatus

foreach ($entries as $entry) {
// fetch the author
$author = self::fetchauthor($xpath, $entry, $importer, $contact, true);
$author = self::fetchAuthor($xpath, $entry, $importer, $contact, true);
return $author;
}
}
@@ -276,7 +280,7 @@ class ostatus
*
* @return array attributes
*/
private static function read_attributes($element)
private static function readAttributes($element)
{
$attribute = array();

@@ -380,7 +384,7 @@ class ostatus

// Fetch the first author
$authordata = $xpath->query('//author')->item(0);
$author = self::fetchauthor($xpath, $authordata, $importer, $contact, $stored);
$author = self::fetchAuthor($xpath, $authordata, $importer, $contact, $stored);

$entry = $xpath->query('/atom:entry');

@@ -400,7 +404,7 @@ class ostatus
}

if ($authorelement->length > 0) {
$author = self::fetchauthor($xpath, $entry, $importer, $contact, $stored);
$author = self::fetchAuthor($xpath, $entry, $importer, $contact, $stored);
}

$value = $xpath->evaluate('atom:author/poco:preferredUsername/text()', $entry)->item(0)->nodeValue;
@@ -542,7 +546,8 @@ class ostatus
return;
}

// Currently we don't have a central deletion function that we could use in this case. The function "item_drop" doesn't work for that case
// Currently we don't have a central deletion function that we could use in this case
// The function "item_drop" doesn't work for that case
dba::update(
'item',
array('deleted' => true, 'title' => '', 'body' => '',
@@ -735,7 +740,7 @@ class ostatus
$links = $xpath->query('//link');
if ($links) {
foreach ($links as $link) {
$attribute = ostatus::read_attributes($link);
$attribute = self::readAttributes($link);
if (($attribute['rel'] == 'alternate') && ($attribute['type'] == 'application/atom+xml')) {
$file = $attribute['href'];
}
@@ -924,7 +929,7 @@ class ostatus
$links = $xpath->query('//link');
if ($links) {
foreach ($links as $link) {
$attribute = self::read_attributes($link);
$attribute = self::readAttributes($link);
if (($attribute['rel'] == 'alternate') && ($attribute['type'] == 'application/atom+xml')) {
$atom_file = $attribute['href'];
}
@@ -952,7 +957,7 @@ class ostatus

// Even more worse workaround for GNU Social ;-)
if ($xml == '') {
$related_guess = ostatus::convert_href($related_uri);
$related_guess = OStatus::convertHref($related_uri);
$related_atom = z_fetch_url(str_replace('/notice/', '/api/statuses/show/', $related_guess).'.atom');

if ($related_atom['success']) {
@@ -1012,7 +1017,7 @@ class ostatus
$orig_edited = $xpath->query('atom:updated/text()', $activityobjects)->item(0)->nodeValue;

$orig_contact = $contact;
$orig_author = self::fetchauthor($xpath, $activityobjects, $importer, $orig_contact, false);
$orig_author = self::fetchAuthor($xpath, $activityobjects, $importer, $orig_contact, false);

$item["author-name"] = $orig_author["author-name"];
$item["author-link"] = $orig_author["author-link"];
@@ -1053,7 +1058,7 @@ class ostatus
$link_data = array('add_body' => '', 'self' => '');

foreach ($links as $link) {
$attribute = self::read_attributes($link);
$attribute = self::readAttributes($link);

if (($attribute['rel'] != "") && ($attribute['href'] != "")) {
switch ($attribute['rel']) {
@@ -1115,7 +1120,7 @@ class ostatus
*
* @return string URL in the format http(s)://....
*/
public static function convert_href($href)
public static function convertHref($href)
{
$elements = explode(":", $href);

@@ -1148,7 +1153,7 @@ class ostatus
*
* @return string The guid if the post is a reshare
*/
private static function get_reshared_guid($item)
private static function getResharedGuid($item)
{
$body = trim($item["body"]);

@@ -1190,7 +1195,7 @@ class ostatus
*
* @return string The cleaned body
*/
private static function format_picture_post($body)
private static function formatPicturePost($body)
{
$siteinfo = get_attached_data($body);

@@ -1228,7 +1233,7 @@ class ostatus
*
* @return object header root element
*/
private static function add_header($doc, $owner)
private static function addHeader($doc, $owner)
{
$a = get_app();

@@ -1252,7 +1257,7 @@ class ostatus
XML::add_element($doc, $root, "logo", $owner["photo"]);
XML::add_element($doc, $root, "updated", datetime_convert("UTC", "UTC", "now", ATOM_TIME));

$author = self::add_author($doc, $owner);
$author = self::addAuthor($doc, $owner);
$root->appendChild($author);

$attributes = array("href" => $owner["url"], "rel" => "alternate", "type" => "text/html");
@@ -1302,7 +1307,7 @@ class ostatus
* @param object $root XML root element where the hub links are added
* @param array $item Data of the item that is to be posted
*/
private static function get_attachment($doc, $root, $item)
private static function getAttachment($doc, $root, $item)
{
$o = "";
$siteinfo = get_attached_data($item["body"]);
@@ -1368,7 +1373,7 @@ class ostatus
*
* @return object author element
*/
private static function add_author($doc, $owner)
private static function addAuthor($doc, $owner)
{
$r = q("SELECT `homepage`, `publish` FROM `profile` WHERE `uid` = %d AND `is-default` LIMIT 1", intval($owner["uid"]));
if (DBM::is_result($r)) {
@@ -1445,7 +1450,7 @@ class ostatus
*
* @return string activity
*/
private static function construct_verb($item)
private static function constructVerb($item)
{
if ($item['verb']) {
return $item['verb'];
@@ -1461,7 +1466,7 @@ class ostatus
*
* @return string Object type
*/
private static function construct_objecttype($item)
private static function constructObjecttype($item)
{
if (in_array($item['object-type'], array(ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT)))
return $item['object-type'];
@@ -1480,9 +1485,9 @@ class ostatus
*/
private static function entry($doc, $item, $owner, $toplevel = false)
{
$repeated_guid = self::get_reshared_guid($item);
$repeated_guid = self::getResharedGuid($item);
if ($repeated_guid != "") {
$xml = self::reshare_entry($doc, $item, $owner, $repeated_guid, $toplevel);
$xml = self::reshareEntry($doc, $item, $owner, $repeated_guid, $toplevel);
}

if ($xml) {
@@ -1490,11 +1495,11 @@ class ostatus
}

if ($item["verb"] == ACTIVITY_LIKE) {
return self::like_entry($doc, $item, $owner, $toplevel);
return self::likeEntry($doc, $item, $owner, $toplevel);
} elseif (in_array($item["verb"], array(ACTIVITY_FOLLOW, NAMESPACE_OSTATUS."/unfollow"))) {
return self::follow_entry($doc, $item, $owner, $toplevel);
return self::followEntry($doc, $item, $owner, $toplevel);
} else {
return self::note_entry($doc, $item, $owner, $toplevel);
return self::noteEntry($doc, $item, $owner, $toplevel);
}
}

@@ -1506,7 +1511,7 @@ class ostatus
*
* @return object Source element
*/
private static function source_entry($doc, $contact)
private static function sourceEntry($doc, $contact)
{
$source = $doc->createElement("source");
XML::add_element($doc, $source, "id", $contact["poll"]);
@@ -1527,7 +1532,7 @@ class ostatus
*
* @return array Contact array
*/
private static function contact_entry($url, $owner)
private static function contactEntry($url, $owner)
{
$r = q(
"SELECT * FROM `contact` WHERE `nurl` = '%s' AND `uid` IN (0, %d) ORDER BY `uid` DESC LIMIT 1",
@@ -1582,13 +1587,13 @@ class ostatus
*
* @return object Entry element
*/
private static function reshare_entry($doc, $item, $owner, $repeated_guid, $toplevel)
private static function reshareEntry($doc, $item, $owner, $repeated_guid, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}

$title = self::entry_header($doc, $entry, $owner, $toplevel);
$title = self::entryHeader($doc, $entry, $owner, $toplevel);

$r = q(
"SELECT * FROM `item` WHERE `uid` = %d AND `guid` = '%s' AND NOT `private` AND `network` IN ('%s', '%s', '%s') LIMIT 1",
@@ -1603,42 +1608,42 @@ class ostatus
} else {
return false;
}
$contact = self::contact_entry($repeated_item['author-link'], $owner);
$contact = self::contactEntry($repeated_item['author-link'], $owner);

$parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);

$title = $owner["nick"]." repeated a notice by ".$contact["nick"];

self::entry_content($doc, $entry, $item, $owner, $title, ACTIVITY_SHARE, false);
self::entryContent($doc, $entry, $item, $owner, $title, ACTIVITY_SHARE, false);

$as_object = $doc->createElement("activity:object");

XML::add_element($doc, $as_object, "activity:object-type", NAMESPACE_ACTIVITY_SCHEMA."activity");

self::entry_content($doc, $as_object, $repeated_item, $owner, "", "", false);
self::entryContent($doc, $as_object, $repeated_item, $owner, "", "", false);

$author = self::add_author($doc, $contact);
$author = self::addAuthor($doc, $contact);
$as_object->appendChild($author);

$as_object2 = $doc->createElement("activity:object");

XML::add_element($doc, $as_object2, "activity:object-type", self::construct_objecttype($repeated_item));
XML::add_element($doc, $as_object2, "activity:object-type", self::constructObjecttype($repeated_item));

$title = sprintf("New comment by %s", $contact["nick"]);

self::entry_content($doc, $as_object2, $repeated_item, $owner, $title);
self::entryContent($doc, $as_object2, $repeated_item, $owner, $title);

$as_object->appendChild($as_object2);

self::entry_footer($doc, $as_object, $item, $owner, false);
self::entryFooter($doc, $as_object, $item, $owner, false);

$source = self::source_entry($doc, $contact);
$source = self::sourceEntry($doc, $contact);

$as_object->appendChild($source);

$entry->appendChild($as_object);

self::entry_footer($doc, $entry, $item, $owner);
self::entryFooter($doc, $entry, $item, $owner);

return $entry;
}
@@ -1653,16 +1658,16 @@ class ostatus
*
* @return object Entry element with "like"
*/
private static function like_entry($doc, $item, $owner, $toplevel)
private static function likeEntry($doc, $item, $owner, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}

$title = self::entry_header($doc, $entry, $owner, $toplevel);
$title = self::entryHeader($doc, $entry, $owner, $toplevel);

$verb = NAMESPACE_ACTIVITY_SCHEMA."favorite";
self::entry_content($doc, $entry, $item, $owner, "Favorite", $verb, false);
self::entryContent($doc, $entry, $item, $owner, "Favorite", $verb, false);

$as_object = $doc->createElement("activity:object");

@@ -1673,13 +1678,13 @@ class ostatus
);
$parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);

XML::add_element($doc, $as_object, "activity:object-type", self::construct_objecttype($parent[0]));
XML::add_element($doc, $as_object, "activity:object-type", self::constructObjecttype($parent[0]));

self::entry_content($doc, $as_object, $parent[0], $owner, "New entry");
self::entryContent($doc, $as_object, $parent[0], $owner, "New entry");

$entry->appendChild($as_object);

self::entry_footer($doc, $entry, $item, $owner);
self::entryFooter($doc, $entry, $item, $owner);

return $entry;
}
@@ -1693,7 +1698,7 @@ class ostatus
*
* @return object author element
*/
private static function add_person_object($doc, $owner, $contact)
private static function addPersonObject($doc, $owner, $contact)
{
$object = $doc->createElement("activity:object");
XML::add_element($doc, $object, "activity:object-type", ACTIVITY_OBJ_PERSON);
@@ -1739,7 +1744,7 @@ class ostatus
*
* @return object Entry element
*/
private static function follow_entry($doc, $item, $owner, $toplevel)
private static function followEntry($doc, $item, $owner, $toplevel)
{
$item["id"] = $item["parent"] = 0;
$item["created"] = $item["edited"] = date("c");
@@ -1782,14 +1787,14 @@ class ostatus

$item["body"] = sprintf($message, $owner["nick"], $contact["nick"]);

self::entry_header($doc, $entry, $owner, $toplevel);
self::entryHeader($doc, $entry, $owner, $toplevel);

self::entry_content($doc, $entry, $item, $owner, $title);
self::entryContent($doc, $entry, $item, $owner, $title);

$object = self::add_person_object($doc, $owner, $contact);
$object = self::addPersonObject($doc, $owner, $contact);
$entry->appendChild($object);

self::entry_footer($doc, $entry, $item, $owner);
self::entryFooter($doc, $entry, $item, $owner);

return $entry;
}
@@ -1804,19 +1809,19 @@ class ostatus
*
* @return object Entry element
*/
private static function note_entry($doc, $item, $owner, $toplevel)
private static function noteEntry($doc, $item, $owner, $toplevel)
{
if (($item["id"] != $item["parent"]) && (normalise_link($item["author-link"]) != normalise_link($owner["url"]))) {
logger("OStatus entry is from author ".$owner["url"]." - not from ".$item["author-link"].". Quitting.", LOGGER_DEBUG);
}

$title = self::entry_header($doc, $entry, $owner, $toplevel);
$title = self::entryHeader($doc, $entry, $owner, $toplevel);

XML::add_element($doc, $entry, "activity:object-type", ACTIVITY_OBJ_NOTE);

self::entry_content($doc, $entry, $item, $owner, $title);
self::entryContent($doc, $entry, $item, $owner, $title);

self::entry_footer($doc, $entry, $item, $owner);
self::entryFooter($doc, $entry, $item, $owner);

return $entry;
}
@@ -1831,7 +1836,7 @@ class ostatus
*
* @return string The title for the element
*/
private static function entry_header($doc, &$entry, $owner, $toplevel)
private static function entryHeader($doc, &$entry, $owner, $toplevel)
{
/// @todo Check if this title stuff is really needed (I guess not)
if (!$toplevel) {
@@ -1849,7 +1854,7 @@ class ostatus
$entry->setAttribute("xmlns:statusnet", NAMESPACE_STATUSNET);
$entry->setAttribute("xmlns:mastodon", NAMESPACE_MASTODON);

$author = self::add_author($doc, $owner);
$author = self::addAuthor($doc, $owner);
$entry->appendChild($author);

$title = sprintf("New comment by %s", $owner["nick"]);
@@ -1868,16 +1873,16 @@ class ostatus
* @param string $verb The activity verb
* @param bool $complete Add the "status_net" element?
*/
private static function entry_content($doc, $entry, $item, $owner, $title, $verb = "", $complete = true)
private static function entryContent($doc, $entry, $item, $owner, $title, $verb = "", $complete = true)
{
if ($verb == "") {
$verb = self::construct_verb($item);
$verb = self::constructVerb($item);
}

XML::add_element($doc, $entry, "id", $item["uri"]);
XML::add_element($doc, $entry, "title", $title);

$body = self::format_picture_post($item['body']);
$body = self::formatPicturePost($item['body']);

if ($item['title'] != "") {
$body = "[b]".$item['title']."[/b]\n\n".$body;
@@ -1910,7 +1915,7 @@ class ostatus
* @param array $owner Contact data of the poster
* @param bool $complete default true
*/
private static function entry_footer($doc, $entry, $item, $owner, $complete = true)
private static function entryFooter($doc, $entry, $item, $owner, $complete = true)
{
$mentioned = array();

@@ -2028,7 +2033,7 @@ class ostatus
}
}

self::get_attachment($doc, $entry, $item);
self::getAttachment($doc, $entry, $item);

if ($complete && ($item["id"] > 0)) {
$app = $item["app"];
@@ -2110,7 +2115,7 @@ class ostatus
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;

$root = self::add_header($doc, $owner);
$root = self::addHeader($doc, $owner);

foreach ($items as $item) {
if (Config::get('system', 'ostatus_debug')) {

Loading…
Cancel
Save