Merge pull request #7334 from annando/federated-protocol
New constant for federated protocols
This commit is contained in:
commit
a248da8f2e
14 changed files with 28 additions and 27 deletions
|
@ -584,7 +584,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
|
||||||
if (in_array($mode, ['community', 'contacts'])) {
|
if (in_array($mode, ['community', 'contacts'])) {
|
||||||
$writable = true;
|
$writable = true;
|
||||||
} else {
|
} else {
|
||||||
$writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
|
$writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], Protocol::FEDERATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!local_user()) {
|
if (!local_user()) {
|
||||||
|
@ -872,7 +872,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid)
|
||||||
|
|
||||||
foreach ($items as $index => $item) {
|
foreach ($items as $index => $item) {
|
||||||
if ($item['uid'] == 0) {
|
if ($item['uid'] == 0) {
|
||||||
$items[$index]['writable'] = in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
|
$items[$index]['writable'] = in_array($item['network'], Protocol::FEDERATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -931,7 +931,7 @@ function item_photo_menu($item) {
|
||||||
$contact_url = 'contact/' . $cid;
|
$contact_url = 'contact/' . $cid;
|
||||||
$posts_link = 'contact/' . $cid . '/posts';
|
$posts_link = 'contact/' . $cid . '/posts';
|
||||||
|
|
||||||
if (in_array($network, [Protocol::DFRN, Protocol::DIASPORA])) {
|
if (in_array($network, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA])) {
|
||||||
$pm_url = 'message/new/' . $cid;
|
$pm_url = 'message/new/' . $cid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -954,7 +954,7 @@ function item_photo_menu($item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
|
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
|
||||||
in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA])) {
|
in_array($item['network'], Protocol::FEDERATED)) {
|
||||||
$menu[L10n::t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
|
$menu[L10n::t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -132,7 +132,7 @@ function crepair_content(App $a)
|
||||||
$remote_self_options = ['0' => L10n::t('No mirroring'), '2' => L10n::t('Mirror as my own posting')];
|
$remote_self_options = ['0' => L10n::t('No mirroring'), '2' => L10n::t('Mirror as my own posting')];
|
||||||
}
|
}
|
||||||
|
|
||||||
$update_profile = in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS]);
|
$update_profile = in_array($contact['network'], Protocol::FEDERATED);
|
||||||
|
|
||||||
$tab_str = Module\Contact::getTabsHTML($a, $contact, 5);
|
$tab_str = Module\Contact::getTabsHTML($a, $contact, 5);
|
||||||
|
|
||||||
|
|
|
@ -163,7 +163,7 @@ function item_post(App $a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow commenting if it is an answer to a public post
|
// Allow commenting if it is an answer to a public post
|
||||||
$allow_comment = local_user() && ($profile_uid == 0) && $toplevel_item_id && in_array($toplevel_item['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
|
$allow_comment = local_user() && ($profile_uid == 0) && $toplevel_item_id && in_array($toplevel_item['network'], Protocol::FEDERATED);
|
||||||
|
|
||||||
// Now check that valid personal details have been provided
|
// Now check that valid personal details have been provided
|
||||||
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
|
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
|
||||||
|
|
|
@ -105,7 +105,7 @@ class ContactSelector
|
||||||
|
|
||||||
$networkname = str_replace($search, $replace, $network);
|
$networkname = str_replace($search, $replace, $network);
|
||||||
|
|
||||||
if ((in_array($network, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) && ($profile != "")) {
|
if ((in_array($network, Protocol::FEDERATED)) && ($profile != "")) {
|
||||||
// Create the server url out of the profile url
|
// Create the server url out of the profile url
|
||||||
$parts = parse_url($profile);
|
$parts = parse_url($profile);
|
||||||
unset($parts['path']);
|
unset($parts['path']);
|
||||||
|
|
|
@ -75,7 +75,7 @@ class ContactBlock
|
||||||
'hidden' => false,
|
'hidden' => false,
|
||||||
'archive' => false,
|
'archive' => false,
|
||||||
'rel' => $rel,
|
'rel' => $rel,
|
||||||
'network' => [Protocol::DFRN, Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA],
|
'network' => Protocol::FEDERATED,
|
||||||
], ['limit' => $shown]);
|
], ['limit' => $shown]);
|
||||||
|
|
||||||
if (DBA::isResult($contact_ids_stmt)) {
|
if (DBA::isResult($contact_ids_stmt)) {
|
||||||
|
|
|
@ -23,6 +23,8 @@ class Protocol
|
||||||
|
|
||||||
const NATIVE_SUPPORT = [self::DFRN, self::DIASPORA, self::OSTATUS, self::FEED, self::MAIL, self::ACTIVITYPUB];
|
const NATIVE_SUPPORT = [self::DFRN, self::DIASPORA, self::OSTATUS, self::FEED, self::MAIL, self::ACTIVITYPUB];
|
||||||
|
|
||||||
|
const FEDERATED = [self::DFRN, self::DIASPORA, self::OSTATUS, self::ACTIVITYPUB];
|
||||||
|
|
||||||
// Supported through a connector
|
// Supported through a connector
|
||||||
const DIASPORA2 = 'dspc'; // Diaspora connector
|
const DIASPORA2 = 'dspc'; // Diaspora connector
|
||||||
const LINKEDIN = 'lnkd'; // LinkedIn
|
const LINKEDIN = 'lnkd'; // LinkedIn
|
||||||
|
|
|
@ -49,7 +49,7 @@ class Search extends BaseObject
|
||||||
return $emptyResultList;
|
return $emptyResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(in_array($user_data["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA]))) {
|
if (!(in_array($user_data["network"], Protocol::FEDERATED))) {
|
||||||
return $emptyResultList;
|
return $emptyResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -963,7 +963,7 @@ class Contact extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((empty($profile["addr"]) || empty($profile["name"])) && (defaults($profile, "gid", 0) != 0)
|
if ((empty($profile["addr"]) || empty($profile["name"])) && (defaults($profile, "gid", 0) != 0)
|
||||||
&& in_array($profile["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])
|
&& in_array($profile["network"], Protocol::FEDERATED)
|
||||||
) {
|
) {
|
||||||
Worker::add(PRIORITY_LOW, "UpdateGContact", $profile["gid"]);
|
Worker::add(PRIORITY_LOW, "UpdateGContact", $profile["gid"]);
|
||||||
}
|
}
|
||||||
|
@ -1587,7 +1587,7 @@ class Contact extends BaseObject
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($contact["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, ""])) {
|
if (empty($contact["network"]) || in_array($contact["network"], Protocol::FEDERATED)) {
|
||||||
$sql = "(`item`.`uid` = 0 OR (`item`.`uid` = ? AND NOT `item`.`global`))";
|
$sql = "(`item`.`uid` = 0 OR (`item`.`uid` = ? AND NOT `item`.`global`))";
|
||||||
} else {
|
} else {
|
||||||
$sql = "`item`.`uid` = ?";
|
$sql = "`item`.`uid` = ?";
|
||||||
|
@ -1779,8 +1779,7 @@ class Contact extends BaseObject
|
||||||
self::markForArchival($contact);
|
self::markForArchival($contact);
|
||||||
}
|
}
|
||||||
|
|
||||||
$condition = ['self' => false, 'nurl' => Strings::normaliseLink($url),
|
$condition = ['self' => false, 'nurl' => Strings::normaliseLink($url), 'network' => Protocol::FEDERATED];
|
||||||
'network' => [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS]];
|
|
||||||
|
|
||||||
// These contacts are sharing with us, we don't poll them.
|
// These contacts are sharing with us, we don't poll them.
|
||||||
// This means that we don't set the update fields in "OnePoll.php".
|
// This means that we don't set the update fields in "OnePoll.php".
|
||||||
|
@ -1878,7 +1877,7 @@ class Contact extends BaseObject
|
||||||
self::updateContact($id, $uid, $ret['url'], $ret);
|
self::updateContact($id, $uid, $ret['url'], $ret);
|
||||||
|
|
||||||
// Update the corresponding gcontact entry
|
// Update the corresponding gcontact entry
|
||||||
PortableContact::lastUpdated($ret["url"]);
|
GContact::updateFromProbe($ret['url']);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,7 +177,7 @@ class Item extends BaseObject
|
||||||
|
|
||||||
// We can always comment on posts from these networks
|
// We can always comment on posts from these networks
|
||||||
if (array_key_exists('writable', $row) &&
|
if (array_key_exists('writable', $row) &&
|
||||||
in_array($row['internal-network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) {
|
in_array($row['internal-network'], Protocol::FEDERATED)) {
|
||||||
$row['writable'] = true;
|
$row['writable'] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1354,7 +1354,7 @@ class Item extends BaseObject
|
||||||
* We have to check several networks since Friendica posts could be repeated
|
* We have to check several networks since Friendica posts could be repeated
|
||||||
* via OStatus (maybe Diasporsa as well)
|
* via OStatus (maybe Diasporsa as well)
|
||||||
*/
|
*/
|
||||||
if (in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DIASPORA, Protocol::DFRN, Protocol::OSTATUS, ""])) {
|
if (empty($item['network']) || in_array($item['network'], Protocol::FEDERATED)) {
|
||||||
$condition = ["`uri` = ? AND `uid` = ? AND `network` IN (?, ?, ?)",
|
$condition = ["`uri` = ? AND `uid` = ? AND `network` IN (?, ?, ?)",
|
||||||
trim($item['uri']), $item['uid'],
|
trim($item['uri']), $item['uid'],
|
||||||
Protocol::DIASPORA, Protocol::DFRN, Protocol::OSTATUS];
|
Protocol::DIASPORA, Protocol::DFRN, Protocol::OSTATUS];
|
||||||
|
@ -2077,7 +2077,7 @@ class Item extends BaseObject
|
||||||
|
|
||||||
// Only distribute public items from native networks
|
// Only distribute public items from native networks
|
||||||
$condition = ['id' => $itemid, 'uid' => 0,
|
$condition = ['id' => $itemid, 'uid' => 0,
|
||||||
'network' => [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, ""],
|
'network' => array_merge(Protocol::FEDERATED ,['']),
|
||||||
'visible' => true, 'deleted' => false, 'moderated' => false, 'private' => false];
|
'visible' => true, 'deleted' => false, 'moderated' => false, 'private' => false];
|
||||||
$item = self::selectFirst(self::ITEM_FIELDLIST, $condition);
|
$item = self::selectFirst(self::ITEM_FIELDLIST, $condition);
|
||||||
if (!DBA::isResult($item)) {
|
if (!DBA::isResult($item)) {
|
||||||
|
@ -2233,7 +2233,7 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// is it an entry from a connector? Only add an entry for natively connected networks
|
// is it an entry from a connector? Only add an entry for natively connected networks
|
||||||
if (!in_array($item["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, ""])) {
|
if (!in_array($item["network"], array_merge(Protocol::FEDERATED ,['']))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -471,7 +471,7 @@ class Profile
|
||||||
'pending' => false,
|
'pending' => false,
|
||||||
'hidden' => false,
|
'hidden' => false,
|
||||||
'archive' => false,
|
'archive' => false,
|
||||||
'network' => [Protocol::DFRN, Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA],
|
'network' => Protocol::FEDERATED,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -521,7 +521,7 @@ class Contact extends BaseModule
|
||||||
$relation_text = '';
|
$relation_text = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA])) {
|
if (!in_array($contact['network'], Protocol::FEDERATED)) {
|
||||||
$relation_text = '';
|
$relation_text = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -968,7 +968,7 @@ class Contact extends BaseModule
|
||||||
|
|
||||||
$profiledata = Model\Contact::getDetailsByURL($contact['url']);
|
$profiledata = Model\Contact::getDetailsByURL($contact['url']);
|
||||||
|
|
||||||
if (local_user() && in_array($profiledata['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) {
|
if (local_user() && in_array($profiledata['network'], Protocol::FEDERATED)) {
|
||||||
$profiledata['remoteconnect'] = System::baseUrl() . '/follow?url=' . urlencode($profiledata['url']);
|
$profiledata['remoteconnect'] = System::baseUrl() . '/follow?url=' . urlencode($profiledata['url']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -556,7 +556,7 @@ class Receiver
|
||||||
// Check if the potential receiver is following the actor
|
// Check if the potential receiver is following the actor
|
||||||
// Exception: The receiver is targetted via "to" or this is a comment
|
// Exception: The receiver is targetted via "to" or this is a comment
|
||||||
if ((($element != 'as:to') && empty($replyto)) || ($contact['contact-type'] == Contact::TYPE_COMMUNITY)) {
|
if ((($element != 'as:to') && empty($replyto)) || ($contact['contact-type'] == Contact::TYPE_COMMUNITY)) {
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
$networks = Protocol::FEDERATED;
|
||||||
$condition = ['nurl' => Strings::normaliseLink($actor), 'rel' => [Contact::SHARING, Contact::FRIEND],
|
$condition = ['nurl' => Strings::normaliseLink($actor), 'rel' => [Contact::SHARING, Contact::FRIEND],
|
||||||
'network' => $networks, 'archive' => false, 'pending' => false, 'uid' => $contact['uid']];
|
'network' => $networks, 'archive' => false, 'pending' => false, 'uid' => $contact['uid']];
|
||||||
|
|
||||||
|
@ -591,7 +591,7 @@ class Receiver
|
||||||
public static function getReceiverForActor($actor, $tags)
|
public static function getReceiverForActor($actor, $tags)
|
||||||
{
|
{
|
||||||
$receivers = [];
|
$receivers = [];
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
$networks = Protocol::FEDERATED;
|
||||||
$condition = ['nurl' => Strings::normaliseLink($actor), 'rel' => [Contact::SHARING, Contact::FRIEND, Contact::FOLLOWER],
|
$condition = ['nurl' => Strings::normaliseLink($actor), 'rel' => [Contact::SHARING, Contact::FRIEND, Contact::FOLLOWER],
|
||||||
'network' => $networks, 'archive' => false, 'pending' => false];
|
'network' => $networks, 'archive' => false, 'pending' => false];
|
||||||
$contacts = DBA::select('contact', ['uid', 'rel'], $condition);
|
$contacts = DBA::select('contact', ['uid', 'rel'], $condition);
|
||||||
|
|
|
@ -358,7 +358,7 @@ class Transmitter
|
||||||
|
|
||||||
if (Config::get('debug', 'total_ap_delivery')) {
|
if (Config::get('debug', 'total_ap_delivery')) {
|
||||||
// Will be activated in a later step
|
// Will be activated in a later step
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
$networks = Protocol::FEDERATED;
|
||||||
} else {
|
} else {
|
||||||
// For now only send to these contacts:
|
// For now only send to these contacts:
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::OSTATUS];
|
$networks = [Protocol::ACTIVITYPUB, Protocol::OSTATUS];
|
||||||
|
@ -530,7 +530,7 @@ class Transmitter
|
||||||
|
|
||||||
if (Config::get('debug', 'total_ap_delivery')) {
|
if (Config::get('debug', 'total_ap_delivery')) {
|
||||||
// Will be activated in a later step
|
// Will be activated in a later step
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
$networks = Protocol::FEDERATED;
|
||||||
} else {
|
} else {
|
||||||
// For now only send to these contacts:
|
// For now only send to these contacts:
|
||||||
$networks = [Protocol::ACTIVITYPUB, Protocol::OSTATUS];
|
$networks = [Protocol::ACTIVITYPUB, Protocol::OSTATUS];
|
||||||
|
|
|
@ -31,13 +31,13 @@ class UpdateGContact
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($r[0]["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) {
|
if (!in_array($r[0]["network"], Protocol::FEDERATED)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = Probe::uri($r[0]["url"]);
|
$data = Probe::uri($r[0]["url"]);
|
||||||
|
|
||||||
if (!in_array($data["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS])) {
|
if (!in_array($data["network"], Protocol::FEDERATED)) {
|
||||||
if ($r[0]["server_url"] != "") {
|
if ($r[0]["server_url"] != "") {
|
||||||
PortableContact::checkServer($r[0]["server_url"], $r[0]["network"]);
|
PortableContact::checkServer($r[0]["server_url"], $r[0]["network"]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue