From b141416b51ee177b065fdc14fdd602902a0113ed Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 16 Aug 2021 05:29:17 -0400 Subject: [PATCH 1/2] [advancedcontentfilter] Add new attachments key in filter - Follows a change in Model\Item::prepareBody to enable filtering on attachments (images, sounds, videos, downloads...) --- advancedcontentfilter/advancedcontentfilter.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/advancedcontentfilter/advancedcontentfilter.php b/advancedcontentfilter/advancedcontentfilter.php index bd97b309..f5a341fe 100644 --- a/advancedcontentfilter/advancedcontentfilter.php +++ b/advancedcontentfilter/advancedcontentfilter.php @@ -282,6 +282,7 @@ function advancedcontentfilter_build_fields($data) 'event_created', 'event_edited', 'event_start', 'event_finish', 'event_summary', 'event_desc', 'event_location', 'event_type', 'event_nofinish', 'event_adjust', 'event_ignore', 'children', 'pagedrop', 'tags', 'hashtags', 'mentions', + 'attachments', ]; $expressionLanguage = new ExpressionLanguage\ExpressionLanguage(); @@ -437,6 +438,10 @@ function advancedcontentfilter_get_variables_guid(ServerRequestInterface $reques $item['hashtags'] = $tags['hashtags']; $item['mentions'] = $tags['mentions']; + $attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'] ?? ''); + + $item['attachments'] = $attachments; + $return = advancedcontentfilter_get_filter_fields($item); return json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]); From 217643f67dcef43281e14c07a107516e4f135202 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 16 Aug 2021 06:10:34 -0400 Subject: [PATCH 2/2] [advancedcontentfilter] Clear rule cache anytime rules are changed in the database - This was preventing updated rules from being applied immediately as the cached rules were still in effect --- advancedcontentfilter/advancedcontentfilter.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/advancedcontentfilter/advancedcontentfilter.php b/advancedcontentfilter/advancedcontentfilter.php index f5a341fe..57c87ffd 100644 --- a/advancedcontentfilter/advancedcontentfilter.php +++ b/advancedcontentfilter/advancedcontentfilter.php @@ -361,6 +361,8 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request) $rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]); + DI::cache()->delete('rules_' . local_user()); + return json_encode(['message' => DI::l10n()->t('Rule successfully added'), 'rule' => $rule]); } @@ -390,6 +392,8 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res throw new HTTPException\ServiceUnavailableException(DBA::errorMessage()); } + DI::cache()->delete('rules_' . local_user()); + return json_encode(['message' => DI::l10n()->t('Rule successfully updated')]); } @@ -411,6 +415,8 @@ function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request, throw new HTTPException\ServiceUnavailableException(DBA::errorMessage()); } + DI::cache()->delete('rules_' . local_user()); + return json_encode(['message' => DI::l10n()->t('Rule successfully deleted')]); }