mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-22 01:35:26 +00:00
Merge branch '1.2'
This commit is contained in:
commit
6277969cd6
3 changed files with 132 additions and 46 deletions
|
@ -1473,19 +1473,6 @@ class Activity {
|
||||||
$s['mid'] = $act->obj['id'];
|
$s['mid'] = $act->obj['id'];
|
||||||
$s['parent_mid'] = $act->parent_id;
|
$s['parent_mid'] = $act->parent_id;
|
||||||
|
|
||||||
if(in_array($act->type, [ 'Like','Dislike' ])) {
|
|
||||||
$s['mid'] = $act->id;
|
|
||||||
$s['parent_mid'] = $act->obj['id'];
|
|
||||||
|
|
||||||
// This needs better formatting with proper names
|
|
||||||
if($act->type === 'Like') {
|
|
||||||
$content['content'] = sprintf('%1$s Likes %2$s\'s %3$s',$act->actor['id'],$act->obj['actor']['id'],$act->obj['type']) . "\n\n" . $content['content'];
|
|
||||||
}
|
|
||||||
if($act->type === 'Dislike') {
|
|
||||||
$content['content'] = sprintf('%1$s Doesn\'t like %2$s\'s %3$s',$act->actor['id'],$act->obj['actor']['id'],$act->obj['type']) . "\n\n" . $content['content'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if($act->data['published']) {
|
if($act->data['published']) {
|
||||||
$s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
|
$s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
|
||||||
}
|
}
|
||||||
|
@ -1499,15 +1486,39 @@ class Activity {
|
||||||
$s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']);
|
$s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $s['created'])
|
|
||||||
$s['created'] = datetime_convert();
|
|
||||||
|
|
||||||
if(! $s['edited'])
|
if(in_array($act->type, [ 'Like','Dislike' ])) {
|
||||||
$s['edited'] = $s['created'];
|
$s['mid'] = $act->id;
|
||||||
|
$s['parent_mid'] = $act->obj['id'];
|
||||||
|
|
||||||
|
// over-ride the object timestamp with the activity
|
||||||
|
|
||||||
|
if($act->data['published']) {
|
||||||
|
$s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This needs better formatting with proper names
|
||||||
|
if($act->type === 'Like') {
|
||||||
|
$content['content'] = sprintf('%1$s Likes %2$s\'s %3$s',$act->actor['id'],$act->obj['actor']['id'],$act->obj['type']) . "\n\n" . $content['content'];
|
||||||
|
}
|
||||||
|
if($act->type === 'Dislike') {
|
||||||
|
$content['content'] = sprintf('%1$s Doesn\'t like %2$s\'s %3$s',$act->actor['id'],$act->obj['actor']['id'],$act->obj['type']) . "\n\n" . $content['content'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(in_array($act->type,['Announce'])) {
|
if(in_array($act->type,['Announce'])) {
|
||||||
$s['mid'] = $act->id;
|
$s['mid'] = $act->id;
|
||||||
$s['parent_mid'] = $act->id;
|
$s['parent_mid'] = $act->id;
|
||||||
|
|
||||||
|
// over-ride the object timestamp with the activity
|
||||||
|
|
||||||
|
if($act->data['published']) {
|
||||||
|
$s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
|
||||||
|
}
|
||||||
|
if($act->data['updated']) {
|
||||||
|
$s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']);
|
||||||
|
}
|
||||||
|
|
||||||
$announced_actor = ((isset($act->obj['actor'])) ? $act->obj['actor'] : $act->get_actor('attributedTo', $act->obj));
|
$announced_actor = ((isset($act->obj['actor'])) ? $act->obj['actor'] : $act->get_actor('attributedTo', $act->obj));
|
||||||
if(! $announced_actor) {
|
if(! $announced_actor) {
|
||||||
return [];
|
return [];
|
||||||
|
@ -1516,6 +1527,12 @@ class Activity {
|
||||||
$s['author_xchan'] = $announced_actor['id'];
|
$s['author_xchan'] = $announced_actor['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(! $s['created'])
|
||||||
|
$s['created'] = datetime_convert();
|
||||||
|
|
||||||
|
if(! $s['edited'])
|
||||||
|
$s['edited'] = $s['created'];
|
||||||
|
|
||||||
$s['title'] = self::bb_content($content,'name');
|
$s['title'] = self::bb_content($content,'name');
|
||||||
$s['summary'] = self::bb_content($content,'summary');
|
$s['summary'] = self::bb_content($content,'summary');
|
||||||
$s['body'] = (self::bb_content($content,'bbcode') ? : self::bb_content($content,'content'));
|
$s['body'] = (self::bb_content($content,'bbcode') ? : self::bb_content($content,'content'));
|
||||||
|
@ -1573,9 +1590,18 @@ class Activity {
|
||||||
];
|
];
|
||||||
|
|
||||||
$mps = [];
|
$mps = [];
|
||||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
$ptr = null;
|
||||||
foreach($act->obj['url'] as $vurl) {
|
|
||||||
if(in_array($vurl['mimeType'], $vtypes)) {
|
if(array_key_exists('url',$act->obj)) {
|
||||||
|
if(is_array($act->obj['url'])) {
|
||||||
|
if(array_key_exists(0,$act->obj['url'])) {
|
||||||
|
$ptr = $act->obj['url'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ptr = [ $act->obj['url'] ];
|
||||||
|
}
|
||||||
|
foreach($ptr as $vurl) {
|
||||||
|
if(in_array($vurl['mediaType'], $vtypes)) {
|
||||||
if(! array_key_exists('width',$vurl)) {
|
if(! array_key_exists('width',$vurl)) {
|
||||||
$vurl['width'] = 0;
|
$vurl['width'] = 0;
|
||||||
}
|
}
|
||||||
|
@ -1592,6 +1618,10 @@ class Activity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif(is_string($act->obj['url'])) {
|
||||||
|
$s['body'] .= "\n\n" . '[video]' . $act->obj['url'] . '[/video]';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($act->obj['type'] === 'Audio') {
|
if($act->obj['type'] === 'Audio') {
|
||||||
|
@ -1602,28 +1632,84 @@ class Activity {
|
||||||
'audio/wav'
|
'audio/wav'
|
||||||
];
|
];
|
||||||
|
|
||||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
$ptr = null;
|
||||||
foreach($act->obj['url'] as $vurl) {
|
|
||||||
if(in_array($vurl['mimeType'], $atypes)) {
|
if(array_key_exists('url',$act->obj)) {
|
||||||
|
if(is_array($act->obj['url'])) {
|
||||||
|
if(array_key_exists(0,$act->obj['url'])) {
|
||||||
|
$ptr = $act->obj['url'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ptr = [ $act->obj['url'] ];
|
||||||
|
}
|
||||||
|
foreach($ptr as $vurl) {
|
||||||
|
if(in_array($vurl['mediaType'], $atypes)) {
|
||||||
$s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]';
|
$s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif(is_string($act->obj['url'])) {
|
||||||
|
$s['body'] .= "\n\n" . '[audio]' . $act->obj['url'] . '[/audio]';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($act->obj['type'] === 'Image') {
|
if($act->obj['type'] === 'Image') {
|
||||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
|
||||||
foreach($act->obj['url'] as $vurl) {
|
$ptr = null;
|
||||||
|
|
||||||
|
if(array_key_exists('url',$act->obj)) {
|
||||||
|
if(is_array($act->obj['url'])) {
|
||||||
|
if(array_key_exists(0,$act->obj['url'])) {
|
||||||
|
$ptr = $act->obj['url'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ptr = [ $act->obj['url'] ];
|
||||||
|
}
|
||||||
|
foreach($ptr as $vurl) {
|
||||||
if(strpos($s['body'],$vurl['href']) === false) {
|
if(strpos($s['body'],$vurl['href']) === false) {
|
||||||
$s['body'] .= "\n\n" . '[zmg]' . $vurl['href'] . '[/zmg]';
|
$s['body'] .= "\n\n" . '[zmg]' . $vurl['href'] . '[/zmg]';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif(is_string($act->obj['url'])) {
|
||||||
|
if(strpos($s['body'],$act->obj['url']) === false) {
|
||||||
|
$s['body'] .= "\n\n" . '[zmg]' . $act->obj['url'] . '[/zmg]';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(in_array($act->obj['type'],[ 'Note','Article' ])) {
|
||||||
|
$ptr = null;
|
||||||
|
|
||||||
|
if(array_key_exists('url',$act->obj)) {
|
||||||
|
if(is_array($act->obj['url'])) {
|
||||||
|
if(array_key_exists(0,$act->obj['url'])) {
|
||||||
|
$ptr = $act->obj['url'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ptr = [ $act->obj['url'] ];
|
||||||
|
}
|
||||||
|
foreach($ptr as $vurl) {
|
||||||
|
if(array_key_exists('mediaType',$vurl) && $vurl['mediaType'] === 'text/plain') {
|
||||||
|
$s['plink'] = $vurl['href'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif(is_string($act->obj['url'])) {
|
||||||
|
$s['plink'] = $act->obj['url'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! $s['plink']) {
|
||||||
|
$s['plink'] = $s['mid'];
|
||||||
|
}
|
||||||
|
|
||||||
if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips)))
|
if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips)))
|
||||||
$s['item_private'] = 1;
|
$s['item_private'] = 1;
|
||||||
|
|
|
@ -4301,7 +4301,7 @@ class JsonLdProcessor {
|
||||||
sort($nquads);
|
sort($nquads);
|
||||||
|
|
||||||
// cache and return hashed quads
|
// cache and return hashed quads
|
||||||
$hash = $bnodes->{$id}->hash = sha1(implode($nquads));
|
$hash = $bnodes->{$id}->hash = hash('sha256',implode($nquads));
|
||||||
return $hash;
|
return $hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4320,8 +4320,8 @@ class JsonLdProcessor {
|
||||||
* @return stdClass the hash and path namer used.
|
* @return stdClass the hash and path namer used.
|
||||||
*/
|
*/
|
||||||
protected function _hashPaths($id, $bnodes, $namer, $path_namer) {
|
protected function _hashPaths($id, $bnodes, $namer, $path_namer) {
|
||||||
// create SHA-1 digest
|
// create digest
|
||||||
$md = hash_init('sha1');
|
$md = hash_init('sha256');
|
||||||
|
|
||||||
// group adjacent bnodes by hash, keep properties and references separate
|
// group adjacent bnodes by hash, keep properties and references separate
|
||||||
$groups = new stdClass();
|
$groups = new stdClass();
|
||||||
|
@ -4350,7 +4350,7 @@ class JsonLdProcessor {
|
||||||
}
|
}
|
||||||
|
|
||||||
// hash direction, property, and bnode name/hash
|
// hash direction, property, and bnode name/hash
|
||||||
$group_md = hash_init('sha1');
|
$group_md = hash_init('sha256');
|
||||||
hash_update($group_md, $direction);
|
hash_update($group_md, $direction);
|
||||||
hash_update($group_md, $quad->predicate->value);
|
hash_update($group_md, $quad->predicate->value);
|
||||||
hash_update($group_md, $name);
|
hash_update($group_md, $name);
|
||||||
|
@ -4433,7 +4433,7 @@ class JsonLdProcessor {
|
||||||
$path_namer = $chosen_namer;
|
$path_namer = $chosen_namer;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return SHA-1 hash and path namer
|
// return hash and path namer
|
||||||
return (object)array(
|
return (object)array(
|
||||||
'hash' => hash_final($md), 'pathNamer' => $path_namer);
|
'hash' => hash_final($md), 'pathNamer' => $path_namer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,7 +267,7 @@ function commentAuthors(id) {
|
||||||
$("#comment-edit-text-" + id).addClass("expanded");
|
$("#comment-edit-text-" + id).addClass("expanded");
|
||||||
openMenu("comment-tools-" + id);
|
openMenu("comment-tools-" + id);
|
||||||
}
|
}
|
||||||
$("#comment-edit-text-" + id).val(tmpStr + auths);
|
$("#comment-edit-text-" + id).val(auths + ' ' + tmpStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue