UUID instead of GUID

This commit is contained in:
Michael 2018-09-26 20:03:46 +00:00
parent 9ec30010c5
commit 60b0759b50
13 changed files with 40 additions and 47 deletions

View File

@ -4534,7 +4534,7 @@ function post_photo_item($hash, $allow_cid, $deny_cid, $allow_gid, $deny_gid, $f
$owner_record = DBA::selectFirst('contact', [], ['uid' => api_user(), 'self' => true]); $owner_record = DBA::selectFirst('contact', [], ['uid' => api_user(), 'self' => true]);
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uid'] = intval(api_user()); $arr['uid'] = intval(api_user());
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['parent-uri'] = $uri; $arr['parent-uri'] = $uri;

View File

@ -240,7 +240,7 @@ function item_post(App $a) {
$emailcc = notags(trim(defaults($_REQUEST, 'emailcc' , ''))); $emailcc = notags(trim(defaults($_REQUEST, 'emailcc' , '')));
$body = escape_tags(trim(defaults($_REQUEST, 'body' , ''))); $body = escape_tags(trim(defaults($_REQUEST, 'body' , '')));
$network = notags(trim(defaults($_REQUEST, 'network' , Protocol::DFRN))); $network = notags(trim(defaults($_REQUEST, 'network' , Protocol::DFRN)));
$guid = System::createGUID(32); $guid = System::UUID();
$postopts = defaults($_REQUEST, 'postopts', ''); $postopts = defaults($_REQUEST, 'postopts', '');

View File

@ -472,7 +472,7 @@ function photos_post(App $a)
$uri = Item::newURI($page_owner_uid); $uri = Item::newURI($page_owner_uid);
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uid'] = $page_owner_uid; $arr['uid'] = $page_owner_uid;
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['parent-uri'] = $uri; $arr['parent-uri'] = $uri;
@ -651,7 +651,7 @@ function photos_post(App $a)
$uri = Item::newURI($page_owner_uid); $uri = Item::newURI($page_owner_uid);
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uid'] = $page_owner_uid; $arr['uid'] = $page_owner_uid;
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['parent-uri'] = $uri; $arr['parent-uri'] = $uri;
@ -889,7 +889,7 @@ function photos_post(App $a)
$arr['coord'] = $lat . ' ' . $lon; $arr['coord'] = $lat . ' ' . $lon;
} }
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uid'] = $page_owner_uid; $arr['uid'] = $page_owner_uid;
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['parent-uri'] = $uri; $arr['parent-uri'] = $uri;

View File

@ -97,7 +97,7 @@ function poke_init(App $a)
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uid'] = $uid; $arr['uid'] = $uid;
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['parent-uri'] = (!empty($parent_uri) ? $parent_uri : $uri); $arr['parent-uri'] = (!empty($parent_uri) ? $parent_uri : $uri);

View File

@ -108,7 +108,7 @@ EOT;
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['uid'] = $owner_uid; $arr['uid'] = $owner_uid;
$arr['contact-id'] = $contact['id']; $arr['contact-id'] = $contact['id'];

View File

@ -115,7 +115,7 @@ EOT;
$arr = []; $arr = [];
$arr['guid'] = System::createGUID(32); $arr['guid'] = System::UUID();
$arr['uri'] = $uri; $arr['uri'] = $uri;
$arr['uid'] = $owner_uid; $arr['uid'] = $owner_uid;
$arr['contact-id'] = $contact['id']; $arr['contact-id'] = $contact['id'];

View File

@ -161,6 +161,18 @@ class System extends BaseObject
killme(); killme();
} }
/**
* Generates a random string in the UUID format
*
* @param bool|string $prefix A given prefix (default is empty)
* @return string a generated UUID
*/
public static function UUID($prefix = '')
{
$guid = System::createGUID(32, $prefix);
return substr($guid, 0, 8). '-' . substr($guid, 8, 4) . '-' . substr($guid, 12, 4) . '-' . substr($guid, 16, 4) . '-' . substr($guid, 20, 12);
}
/** /**
* Generates a GUID with the given parameters * Generates a GUID with the given parameters
* *

View File

@ -314,7 +314,7 @@ class Event extends BaseObject
Addon::callHooks('event_updated', $event['id']); Addon::callHooks('event_updated', $event['id']);
} else { } else {
$event['guid'] = defaults($arr, 'guid', System::createGUID(32)); $event['guid'] = defaults($arr, 'guid', System::UUID());
// New event. Store it. // New event. Store it.
DBA::insert('event', $event); DBA::insert('event', $event);

View File

@ -1205,7 +1205,7 @@ class Item extends BaseObject
} elseif (!empty($item['uri'])) { } elseif (!empty($item['uri'])) {
$guid = self::guidFromUri($item['uri'], $prefix_host); $guid = self::guidFromUri($item['uri'], $prefix_host);
} else { } else {
$guid = System::createGUID(32, hash('crc32', $prefix_host)); $guid = System::UUID(hash('crc32', $prefix_host));
} }
return $guid; return $guid;
@ -2359,7 +2359,7 @@ class Item extends BaseObject
public static function newURI($uid, $guid = "") public static function newURI($uid, $guid = "")
{ {
if ($guid == "") { if ($guid == "") {
$guid = System::createGUID(32); $guid = System::UUID();
} }
return self::getApp()->get_baseurl() . '/object/' . $guid; return self::getApp()->get_baseurl() . '/object/' . $guid;
@ -2686,7 +2686,7 @@ class Item extends BaseObject
} }
if ($contact['network'] != Protocol::FEED) { if ($contact['network'] != Protocol::FEED) {
$datarray["guid"] = System::createGUID(32); $datarray["guid"] = System::UUID();
unset($datarray["plink"]); unset($datarray["plink"]);
$datarray["uri"] = self::newURI($contact['uid'], $datarray["guid"]); $datarray["uri"] = self::newURI($contact['uid'], $datarray["guid"]);
$datarray["parent-uri"] = $datarray["uri"]; $datarray["parent-uri"] = $datarray["uri"];
@ -3115,7 +3115,7 @@ class Item extends BaseObject
$objtype = $item['resource-id'] ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE ; $objtype = $item['resource-id'] ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE ;
$new_item = [ $new_item = [
'guid' => System::createGUID(32), 'guid' => System::UUID(),
'uri' => self::newURI($item['uid']), 'uri' => self::newURI($item['uid']),
'uid' => $item['uid'], 'uid' => $item['uid'],
'contact-id' => $item_contact_id, 'contact-id' => $item_contact_id,

View File

@ -46,7 +46,7 @@ class Mail
return -2; return -2;
} }
$guid = System::createGUID(32); $guid = System::UUID();
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
$convid = 0; $convid = 0;
@ -73,7 +73,7 @@ class Mail
$recip_handle = (($contact['addr']) ? $contact['addr'] : $contact['nick'] . '@' . $recip_host); $recip_handle = (($contact['addr']) ? $contact['addr'] : $contact['nick'] . '@' . $recip_host);
$sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); $sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3);
$conv_guid = System::createGUID(32); $conv_guid = System::UUID();
$convuri = $recip_handle . ':' . $conv_guid; $convuri = $recip_handle . ':' . $conv_guid;
$handles = $recip_handle . ';' . $sender_handle; $handles = $recip_handle . ';' . $sender_handle;
@ -171,7 +171,7 @@ class Mail
$subject = L10n::t('[no subject]'); $subject = L10n::t('[no subject]');
} }
$guid = System::createGUID(32); $guid = System::UUID();
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
$me = Probe::uri($replyto); $me = Probe::uri($replyto);
@ -180,7 +180,7 @@ class Mail
return -2; return -2;
} }
$conv_guid = System::createGUID(32); $conv_guid = System::UUID();
$recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); $recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3);

View File

@ -495,7 +495,7 @@ class User
$spubkey = $sres['pubkey']; $spubkey = $sres['pubkey'];
$insert_result = DBA::insert('user', [ $insert_result = DBA::insert('user', [
'guid' => System::createGUID(32), 'guid' => System::UUID(),
'username' => $username, 'username' => $username,
'password' => $new_password_encoded, 'password' => $new_password_encoded,
'email' => $email, 'email' => $email,

View File

@ -78,9 +78,10 @@ class ActivityPub
const PUBLIC = 'https://www.w3.org/ns/activitystreams#Public'; const PUBLIC = 'https://www.w3.org/ns/activitystreams#Public';
const CONTEXT = ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1', const CONTEXT = ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1',
['ostatus' => 'http://ostatus.org#', 'uuid' => 'http://schema.org/identifier', ['ostatus' => 'http://ostatus.org#', 'uuid' => 'http://schema.org/identifier',
'sensitive' => 'as:sensitive', 'Hashtag' => 'as:Hashtag', 'vcard' => 'http://www.w3.org/2006/vcard/ns#',
'atomUri' => 'ostatus:atomUri', 'conversation' => 'ostatus:conversation', 'diaspora' => 'https://diasporafoundation.org#',
'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri']]; 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers',
'sensitive' => 'as:sensitive', 'Hashtag' => 'as:Hashtag']];
public static function isRequest() public static function isRequest()
{ {
@ -235,12 +236,9 @@ class ActivityPub
return []; return [];
} }
$data = ['@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1', $data = ['@context' => self::CONTEXT];
['vcard' => 'http://www.w3.org/2006/vcard/ns#', 'uuid' => 'http://schema.org/identifier',
'sensitive' => 'as:sensitive', 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers']]];
$data['id'] = $contact['url']; $data['id'] = $contact['url'];
$data['uuid'] = $user['guid']; $data['diaspora:guid'] = $user['guid'];
$data['type'] = $accounttype[$user['account-type']]; $data['type'] = $accounttype[$user['account-type']];
$data['following'] = System::baseUrl() . '/following/' . $user['nickname']; $data['following'] = System::baseUrl() . '/following/' . $user['nickname'];
$data['followers'] = System::baseUrl() . '/followers/' . $user['nickname']; $data['followers'] = System::baseUrl() . '/followers/' . $user['nickname'];
@ -562,19 +560,6 @@ class ActivityPub
return $tags; return $tags;
} }
private static function fetchConversationURLForItem($item)
{
$conversation = DBA::selectFirst('conversation', ['conversation-href', 'conversation-uri'], ['item-uri' => $item['parent-uri']]);
if (DBA::isResult($conversation) && !empty($conversation['conversation-uri'])) {
$conversation_uri = $conversation['conversation-uri'];
} elseif (DBA::isResult($conversation) && !empty($conversation['conversation-href'])) {
$conversation_uri = $conversation['conversation-href'];
} else {
$conversation_uri = str_replace('/object/', '/context/', $item['parent-uri']);
}
return $conversation_uri;
}
private static function fetchContextURLForItem($item) private static function fetchContextURLForItem($item)
{ {
$conversation = DBA::selectFirst('conversation', ['conversation-href', 'conversation-uri'], ['item-uri' => $item['parent-uri']]); $conversation = DBA::selectFirst('conversation', ['conversation-href', 'conversation-uri'], ['item-uri' => $item['parent-uri']]);
@ -616,7 +601,7 @@ class ActivityPub
$data['inReplyTo'] = null; $data['inReplyTo'] = null;
} }
$data['uuid'] = $item['guid']; $data['diaspora:guid'] = $item['guid'];
$data['published'] = DateTimeFormat::utc($item["created"]."+00:00", DateTimeFormat::ATOM); $data['published'] = DateTimeFormat::utc($item["created"]."+00:00", DateTimeFormat::ATOM);
if ($item["created"] != $item["edited"]) { if ($item["created"] != $item["edited"]) {
@ -627,7 +612,6 @@ class ActivityPub
$data['attributedTo'] = $item['author-link']; $data['attributedTo'] = $item['author-link'];
$data['actor'] = $item['author-link']; $data['actor'] = $item['author-link'];
$data['sensitive'] = false; // - Query NSFW $data['sensitive'] = false; // - Query NSFW
$data['conversation'] = self::fetchConversationURLForItem($item);
$data['context'] = self::fetchContextURLForItem($item); $data['context'] = self::fetchContextURLForItem($item);
if (!empty($item['title'])) { if (!empty($item['title'])) {
@ -755,7 +739,7 @@ class ActivityPub
$profile = ['network' => Protocol::ACTIVITYPUB]; $profile = ['network' => Protocol::ACTIVITYPUB];
$profile['nick'] = $apcontact['nick']; $profile['nick'] = $apcontact['nick'];
$profile['name'] = $apcontact['name']; $profile['name'] = $apcontact['name'];
$profile['guid'] = $apcontact['uuid']; $profile['guid'] = $apcontact['diaspora:guid'];
$profile['url'] = $apcontact['url']; $profile['url'] = $apcontact['url'];
$profile['addr'] = $apcontact['addr']; $profile['addr'] = $apcontact['addr'];
$profile['alias'] = $apcontact['alias']; $profile['alias'] = $apcontact['alias'];
@ -1232,9 +1216,6 @@ class ActivityPub
// Data in Notes: // Data in Notes:
// To-Do?
// emoji, atomUri, inReplyToAtomUri
// Unhandled // Unhandled
// contentMap, announcement_count, announcements, context_id, likes, like_count // contentMap, announcement_count, announcements, context_id, likes, like_count
// inReplyToStatusId, shares, quoteUrl, statusnetConversationId // inReplyToStatusId, shares, quoteUrl, statusnetConversationId
@ -1368,7 +1349,7 @@ class ActivityPub
$item['uri'] = $activity['id']; $item['uri'] = $activity['id'];
$item['created'] = $activity['published']; $item['created'] = $activity['published'];
$item['edited'] = $activity['updated']; $item['edited'] = $activity['updated'];
$item['guid'] = $activity['uuid']; $item['guid'] = $activity['diaspora:guid'];
$item['title'] = HTML::toBBCode($activity['name']); $item['title'] = HTML::toBBCode($activity['name']);
$item['content-warning'] = HTML::toBBCode($activity['summary']); $item['content-warning'] = HTML::toBBCode($activity['summary']);
$item['body'] = self::convertMentions(HTML::toBBCode($activity['content'])); $item['body'] = self::convertMentions(HTML::toBBCode($activity['content']));

View File

@ -3200,7 +3200,7 @@ class Diaspora
$author = self::myHandle($owner); $author = self::myHandle($owner);
$message = ["author" => $author, $message = ["author" => $author,
"guid" => System::createGUID(32), "guid" => System::UUID(),
"parent_type" => "Post", "parent_type" => "Post",
"parent_guid" => $item["guid"]]; "parent_guid" => $item["guid"]];