Merge remote-tracking branch 'upstream/develop' into item-notification
This commit is contained in:
commit
c0e25bd8f4
2 changed files with 35 additions and 1 deletions
|
@ -585,7 +585,7 @@ class Site extends BaseAdminModule
|
||||||
'$banner' => ['banner', L10n::t('Banner/Logo'), $banner, ''],
|
'$banner' => ['banner', L10n::t('Banner/Logo'), $banner, ''],
|
||||||
'$shortcut_icon' => ['shortcut_icon', L10n::t('Shortcut icon'), Config::get('system', 'shortcut_icon'), L10n::t('Link to an icon that will be used for browsers.')],
|
'$shortcut_icon' => ['shortcut_icon', L10n::t('Shortcut icon'), Config::get('system', 'shortcut_icon'), L10n::t('Link to an icon that will be used for browsers.')],
|
||||||
'$touch_icon' => ['touch_icon', L10n::t('Touch icon'), Config::get('system', 'touch_icon'), L10n::t('Link to an icon that will be used for tablets and mobiles.')],
|
'$touch_icon' => ['touch_icon', L10n::t('Touch icon'), Config::get('system', 'touch_icon'), L10n::t('Link to an icon that will be used for tablets and mobiles.')],
|
||||||
'$additional_info' => ['additional_info', L10n::t('Additional Info'), $additional_info, L10n::t('For public servers: you can add additional information here that will be listed at %s/servers.', Search::getGlobalDirectory()],
|
'$additional_info' => ['additional_info', L10n::t('Additional Info'), $additional_info, L10n::t('For public servers: you can add additional information here that will be listed at %s/servers.', Search::getGlobalDirectory())],
|
||||||
'$language' => ['language', L10n::t('System language'), Config::get('system', 'language'), '', $lang_choices],
|
'$language' => ['language', L10n::t('System language'), Config::get('system', 'language'), '', $lang_choices],
|
||||||
'$theme' => ['theme', L10n::t('System theme'), Config::get('system', 'theme'), L10n::t('Default system theme - may be over-ridden by user profiles - <a href="/admin/themes" id="cnftheme">Change default theme settings</a>'), $theme_choices],
|
'$theme' => ['theme', L10n::t('System theme'), Config::get('system', 'theme'), L10n::t('Default system theme - may be over-ridden by user profiles - <a href="/admin/themes" id="cnftheme">Change default theme settings</a>'), $theme_choices],
|
||||||
'$theme_mobile' => ['theme_mobile', L10n::t('Mobile system theme'), Config::get('system', 'mobile-theme', '---'), L10n::t('Theme for mobile devices'), $theme_choices_mobile],
|
'$theme_mobile' => ['theme_mobile', L10n::t('Mobile system theme'), Config::get('system', 'mobile-theme', '---'), L10n::t('Theme for mobile devices'), $theme_choices_mobile],
|
||||||
|
|
|
@ -176,6 +176,9 @@ class Processor
|
||||||
} else {
|
} else {
|
||||||
$item['gravity'] = GRAVITY_COMMENT;
|
$item['gravity'] = GRAVITY_COMMENT;
|
||||||
$item['object-type'] = Activity\ObjectType::COMMENT;
|
$item['object-type'] = Activity\ObjectType::COMMENT;
|
||||||
|
|
||||||
|
// Ensure that the comment reaches all receivers of the referring post
|
||||||
|
$activity['receiver'] = self::addReceivers($activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($activity['directmessage']) && ($activity['id'] != $activity['reply-to-id']) && !Item::exists(['uri' => $activity['reply-to-id']])) {
|
if (empty($activity['directmessage']) && ($activity['id'] != $activity['reply-to-id']) && !Item::exists(['uri' => $activity['reply-to-id']])) {
|
||||||
|
@ -240,6 +243,35 @@ class Processor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add users to the receiver list of the given public activity.
|
||||||
|
* This is used to ensure that the activity will be stored in every thread.
|
||||||
|
*
|
||||||
|
* @param array $activity Activity array
|
||||||
|
* @return array Modified receiver list
|
||||||
|
*/
|
||||||
|
private static function addReceivers(array $activity)
|
||||||
|
{
|
||||||
|
if (!in_array(0, $activity['receiver'])) {
|
||||||
|
// Private activities will not be modified
|
||||||
|
return $activity['receiver'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add all owners of the referring item to the receivers
|
||||||
|
$original = $receivers = $activity['receiver'];
|
||||||
|
$items = Item::select(['uid'], ['uri' => $activity['object_id']]);
|
||||||
|
while ($item = DBA::fetch($items)) {
|
||||||
|
$receivers['uid:' . $item['uid']] = $item['uid'];
|
||||||
|
}
|
||||||
|
DBA::close($items);
|
||||||
|
|
||||||
|
if (count($original) != count($receivers)) {
|
||||||
|
Logger::info('Improved data', ['id' => $activity['id'], 'object' => $activity['object_id'], 'original' => $original, 'improved' => $receivers]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $receivers;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare the item array for an activity
|
* Prepare the item array for an activity
|
||||||
*
|
*
|
||||||
|
@ -258,6 +290,8 @@ class Processor
|
||||||
|
|
||||||
$item['diaspora_signed_text'] = $activity['diaspora:like'] ?? '';
|
$item['diaspora_signed_text'] = $activity['diaspora:like'] ?? '';
|
||||||
|
|
||||||
|
$activity['receiver'] = self::addReceivers($activity);
|
||||||
|
|
||||||
self::postItem($activity, $item);
|
self::postItem($activity, $item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue