[TOOLS] Fix errors reported by updated PHPStan
This commit is contained in:
parent
52e2231661
commit
7eff22d548
@ -96,7 +96,7 @@ class Posting extends Component
|
|||||||
Event::handle('PostingGetContextActor', [$request, $actor, &$context_actor]);
|
Event::handle('PostingGetContextActor', [$request, $actor, &$context_actor]);
|
||||||
|
|
||||||
$form_params = [];
|
$form_params = [];
|
||||||
if (!empty($in_targets)) {
|
if (!empty($in_targets)) { // @phpstan-ignore-line
|
||||||
$form_params[] = ['in', ChoiceType::class, ['label' => _m('In:'), 'multiple' => false, 'expanded' => false, 'choices' => $in_targets]];
|
$form_params[] = ['in', ChoiceType::class, ['label' => _m('In:'), 'multiple' => false, 'expanded' => false, 'choices' => $in_targets]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,11 +113,11 @@ abstract class Parser
|
|||||||
|
|
||||||
$note_criteria = null;
|
$note_criteria = null;
|
||||||
$actor_criteria = null;
|
$actor_criteria = null;
|
||||||
if (!empty($note_parts)) {
|
if (!empty($note_parts)) { // @phpstan-ignore-line
|
||||||
self::connectParts($note_parts, $note_criteria_arr, $last_op, $eb, force: true);
|
self::connectParts($note_parts, $note_criteria_arr, $last_op, $eb, force: true);
|
||||||
$note_criteria = new Criteria($eb->orX(...$note_criteria_arr));
|
$note_criteria = new Criteria($eb->orX(...$note_criteria_arr));
|
||||||
}
|
}
|
||||||
if (!empty($actor_parts)) {
|
if (!empty($actor_parts)) { // @phpstan-ignore-line
|
||||||
self::connectParts($actor_parts, $actor_criteria_arr, $last_op, $eb, force: true);
|
self::connectParts($actor_parts, $actor_criteria_arr, $last_op, $eb, force: true);
|
||||||
$actor_criteria = new Criteria($eb->orX(...$actor_criteria_arr));
|
$actor_criteria = new Criteria($eb->orX(...$actor_criteria_arr));
|
||||||
}
|
}
|
||||||
|
@ -46,40 +46,42 @@ class Favourite extends NoteHandlerPlugin
|
|||||||
{
|
{
|
||||||
$opts = ['note_id' => $note_id, 'actor_id' => $actor_id];
|
$opts = ['note_id' => $note_id, 'actor_id' => $actor_id];
|
||||||
$note_already_favoured = DB::find('favourite', $opts);
|
$note_already_favoured = DB::find('favourite', $opts);
|
||||||
|
$activity = null;
|
||||||
if (\is_null($note_already_favoured)) {
|
if (\is_null($note_already_favoured)) {
|
||||||
DB::persist(FavouriteEntity::create($opts));
|
DB::persist(FavouriteEntity::create($opts));
|
||||||
$act = Activity::create([
|
$activity = Activity::create([
|
||||||
'actor_id' => $actor_id,
|
'actor_id' => $actor_id,
|
||||||
'verb' => 'favourite',
|
'verb' => 'favourite',
|
||||||
'object_type' => 'note',
|
'object_type' => 'note',
|
||||||
'object_id' => $note_id,
|
'object_id' => $note_id,
|
||||||
'source' => $source,
|
'source' => $source,
|
||||||
]);
|
]);
|
||||||
DB::persist($act);
|
DB::persist($activity);
|
||||||
|
|
||||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $act, [], "{$actor->getNickname()} favoured note {$note_id}"]);
|
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $activity, [], "{$actor->getNickname()} favoured note {$note_id}"]);
|
||||||
}
|
}
|
||||||
return $act ?? null;
|
return $activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unfavourNote(int $note_id, int $actor_id, string $source = 'web'): ?Activity
|
public static function unfavourNote(int $note_id, int $actor_id, string $source = 'web'): ?Activity
|
||||||
{
|
{
|
||||||
$note_already_favoured = DB::find('favourite', ['note_id' => $note_id, 'actor_id' => $actor_id]);
|
$note_already_favoured = DB::find('favourite', ['note_id' => $note_id, 'actor_id' => $actor_id]);
|
||||||
|
$activity = null;
|
||||||
if (!\is_null($note_already_favoured)) {
|
if (!\is_null($note_already_favoured)) {
|
||||||
DB::remove($note_already_favoured);
|
DB::remove($note_already_favoured);
|
||||||
$favourite_activity = DB::findBy('activity', ['verb' => 'favourite', 'object_type' => 'note', 'object_id' => $note_id], order_by: ['created' => 'DESC'])[0];
|
$favourite_activity = DB::findBy('activity', ['verb' => 'favourite', 'object_type' => 'note', 'object_id' => $note_id], order_by: ['created' => 'DESC'])[0];
|
||||||
$act = Activity::create([
|
$activity = Activity::create([
|
||||||
'actor_id' => $actor_id,
|
'actor_id' => $actor_id,
|
||||||
'verb' => 'undo', // 'undo_favourite',
|
'verb' => 'undo', // 'undo_favourite',
|
||||||
'object_type' => 'activity', // 'note',
|
'object_type' => 'activity', // 'note',
|
||||||
'object_id' => $favourite_activity->getId(), // $note_id,
|
'object_id' => $favourite_activity->getId(), // $note_id,
|
||||||
'source' => $source,
|
'source' => $source,
|
||||||
]);
|
]);
|
||||||
DB::persist($act);
|
DB::persist($activity);
|
||||||
|
|
||||||
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $act, [], "{$actor->getNickname()} unfavoured note {$note_id}"]);
|
Event::handle('NewNotification', [$actor = Actor::getById($actor_id), $activity, [], "{$actor->getNickname()} unfavoured note {$note_id}"]);
|
||||||
}
|
}
|
||||||
return $act ?? null;
|
return $activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -204,15 +206,16 @@ class Favourite extends NoteHandlerPlugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$activity = null;
|
||||||
if ($type_activity->get('type') === 'Like') {
|
if ($type_activity->get('type') === 'Like') {
|
||||||
$act = self::favourNote($note_id, $actor->getId(), source: 'ActivityPub');
|
$activity = self::favourNote($note_id, $actor->getId(), source: 'ActivityPub');
|
||||||
} else {
|
} else {
|
||||||
$act = self::unfavourNote($note_id, $actor->getId(), source: 'ActivityPub');
|
$activity = self::unfavourNote($note_id, $actor->getId(), source: 'ActivityPub');
|
||||||
}
|
}
|
||||||
if (!\is_null($act)) {
|
if (!\is_null($activity)) {
|
||||||
// Store ActivityPub Activity
|
// Store ActivityPub Activity
|
||||||
$ap_act = \Plugin\ActivityPub\Entity\ActivitypubActivity::create([
|
$ap_act = \Plugin\ActivityPub\Entity\ActivitypubActivity::create([
|
||||||
'activity_id' => $act->getId(),
|
'activity_id' => $activity->getId(),
|
||||||
'activity_uri' => $type_activity->get('id'),
|
'activity_uri' => $type_activity->get('id'),
|
||||||
'created' => new DateTime($type_activity->get('published') ?? 'now'),
|
'created' => new DateTime($type_activity->get('published') ?? 'now'),
|
||||||
'modified' => new DateTime(),
|
'modified' => new DateTime(),
|
||||||
|
@ -81,13 +81,13 @@ abstract class HTML
|
|||||||
*/
|
*/
|
||||||
private static function attr(array $attrs, array $options = []): string
|
private static function attr(array $attrs, array $options = []): string
|
||||||
{
|
{
|
||||||
return ' ' . implode(' ', F\map($attrs, [self::class, '_process_attribute']));
|
return ' ' . implode(' ', F\map($attrs, fn ($attr, $key) => self::process_attribute($attr, $key, $options)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert an attr ($key), $val pair to an HTML attribute, but validate to exclude some vectors of injection
|
* Convert an attr ($key), $val pair to an HTML attribute, but validate to exclude some vectors of injection
|
||||||
*/
|
*/
|
||||||
public static function _process_attribute(string $val, string $key): string
|
private static function process_attribute(string $val, string $key, array $options): string
|
||||||
{
|
{
|
||||||
if (\in_array($key, array_merge($options['forbidden_attributes'] ?? [], self::FORBIDDEN_ATTRIBUTES))
|
if (\in_array($key, array_merge($options['forbidden_attributes'] ?? [], self::FORBIDDEN_ATTRIBUTES))
|
||||||
|| str_starts_with($val, 'javascript:')) {
|
|| str_starts_with($val, 'javascript:')) {
|
||||||
|
Loading…
Reference in New Issue
Block a user