mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-21 20:35:21 +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['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']) {
|
||||
$s['created'] = datetime_convert('UTC','UTC',$act->data['published']);
|
||||
}
|
||||
|
@ -1499,15 +1486,39 @@ class Activity {
|
|||
$s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']);
|
||||
}
|
||||
|
||||
if(! $s['created'])
|
||||
$s['created'] = datetime_convert();
|
||||
|
||||
if(! $s['edited'])
|
||||
$s['edited'] = $s['created'];
|
||||
if(in_array($act->type, [ 'Like','Dislike' ])) {
|
||||
$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'])) {
|
||||
$s['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));
|
||||
if(! $announced_actor) {
|
||||
return [];
|
||||
|
@ -1516,6 +1527,12 @@ class Activity {
|
|||
$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['summary'] = self::bb_content($content,'summary');
|
||||
$s['body'] = (self::bb_content($content,'bbcode') ? : self::bb_content($content,'content'));
|
||||
|
@ -1573,24 +1590,37 @@ class Activity {
|
|||
];
|
||||
|
||||
$mps = [];
|
||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
||||
foreach($act->obj['url'] as $vurl) {
|
||||
if(in_array($vurl['mimeType'], $vtypes)) {
|
||||
if(! array_key_exists('width',$vurl)) {
|
||||
$vurl['width'] = 0;
|
||||
$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(in_array($vurl['mediaType'], $vtypes)) {
|
||||
if(! array_key_exists('width',$vurl)) {
|
||||
$vurl['width'] = 0;
|
||||
}
|
||||
$mps[] = $vurl;
|
||||
}
|
||||
$mps[] = $vurl;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($mps) {
|
||||
usort($mps,[ __CLASS__, 'vid_sort' ]);
|
||||
foreach($mps as $m) {
|
||||
if(intval($m['width']) < 500) {
|
||||
$s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]';
|
||||
break;
|
||||
if($mps) {
|
||||
usort($mps,[ __CLASS__, 'vid_sort' ]);
|
||||
foreach($mps as $m) {
|
||||
if(intval($m['width']) < 500) {
|
||||
$s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(is_string($act->obj['url'])) {
|
||||
$s['body'] .= "\n\n" . '[video]' . $act->obj['url'] . '[/video]';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1602,28 +1632,84 @@ class Activity {
|
|||
'audio/wav'
|
||||
];
|
||||
|
||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
||||
foreach($act->obj['url'] as $vurl) {
|
||||
if(in_array($vurl['mimeType'], $atypes)) {
|
||||
$s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]';
|
||||
break;
|
||||
$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(in_array($vurl['mediaType'], $atypes)) {
|
||||
$s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(is_string($act->obj['url'])) {
|
||||
$s['body'] .= "\n\n" . '[audio]' . $act->obj['url'] . '[/audio]';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if($act->obj['type'] === 'Image') {
|
||||
if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) {
|
||||
foreach($act->obj['url'] as $vurl) {
|
||||
if(strpos($s['body'],$vurl['href']) === false) {
|
||||
$s['body'] .= "\n\n" . '[zmg]' . $vurl['href'] . '[/zmg]';
|
||||
break;
|
||||
|
||||
$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) {
|
||||
$s['body'] .= "\n\n" . '[zmg]' . $vurl['href'] . '[/zmg]';
|
||||
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)))
|
||||
$s['item_private'] = 1;
|
||||
|
|
|
@ -4301,7 +4301,7 @@ class JsonLdProcessor {
|
|||
sort($nquads);
|
||||
|
||||
// cache and return hashed quads
|
||||
$hash = $bnodes->{$id}->hash = sha1(implode($nquads));
|
||||
$hash = $bnodes->{$id}->hash = hash('sha256',implode($nquads));
|
||||
return $hash;
|
||||
}
|
||||
|
||||
|
@ -4320,8 +4320,8 @@ class JsonLdProcessor {
|
|||
* @return stdClass the hash and path namer used.
|
||||
*/
|
||||
protected function _hashPaths($id, $bnodes, $namer, $path_namer) {
|
||||
// create SHA-1 digest
|
||||
$md = hash_init('sha1');
|
||||
// create digest
|
||||
$md = hash_init('sha256');
|
||||
|
||||
// group adjacent bnodes by hash, keep properties and references separate
|
||||
$groups = new stdClass();
|
||||
|
@ -4350,7 +4350,7 @@ class JsonLdProcessor {
|
|||
}
|
||||
|
||||
// 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, $quad->predicate->value);
|
||||
hash_update($group_md, $name);
|
||||
|
@ -4433,7 +4433,7 @@ class JsonLdProcessor {
|
|||
$path_namer = $chosen_namer;
|
||||
}
|
||||
|
||||
// return SHA-1 hash and path namer
|
||||
// return hash and path namer
|
||||
return (object)array(
|
||||
'hash' => hash_final($md), 'pathNamer' => $path_namer);
|
||||
}
|
||||
|
|
|
@ -267,7 +267,7 @@ function commentAuthors(id) {
|
|||
$("#comment-edit-text-" + id).addClass("expanded");
|
||||
openMenu("comment-tools-" + id);
|
||||
}
|
||||
$("#comment-edit-text-" + id).val(tmpStr + auths);
|
||||
$("#comment-edit-text-" + id).val(auths + ' ' + tmpStr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue