aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controllers')
-rw-r--r--app/Controllers/categoryController.php2
-rw-r--r--app/Controllers/configureController.php4
-rw-r--r--app/Controllers/indexController.php2
-rw-r--r--app/Controllers/subscriptionController.php17
4 files changed, 15 insertions, 10 deletions
diff --git a/app/Controllers/categoryController.php b/app/Controllers/categoryController.php
index fd148bf05..9bea88a1f 100644
--- a/app/Controllers/categoryController.php
+++ b/app/Controllers/categoryController.php
@@ -110,7 +110,7 @@ class FreshRSS_category_Controller extends FreshRSS_ActionController {
$category->_attribute('read_when_same_title_in_category', null);
}
- $category->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read')); // Keep as HTML
+ $category->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read', plaintext: true));
if (Minz_Request::paramBoolean('use_default_purge_options')) {
$category->_attribute('archiving', null);
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index 8bc0d08c4..8b42a1441 100644
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -164,8 +164,8 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController {
'site' => Minz_Request::paramBoolean('mark_open_site'),
'focus' => Minz_Request::paramBoolean('mark_focus'),
];
- FreshRSS_Context::userConf()->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read')); // Keep as HTML
- FreshRSS_Context::userConf()->_filtersAction('star', Minz_Request::paramTextToArray('filteractions_star')); // Keep as HTML
+ FreshRSS_Context::userConf()->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read', plaintext: true));
+ FreshRSS_Context::userConf()->_filtersAction('star', Minz_Request::paramTextToArray('filteractions_star', plaintext: true));
FreshRSS_Context::userConf()->save();
invalidateHttpCache();
diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php
index c51dd6662..7def8e781 100644
--- a/app/Controllers/indexController.php
+++ b/app/Controllers/indexController.php
@@ -94,7 +94,7 @@ class FreshRSS_index_Controller extends FreshRSS_ActionController {
};
$searchString = $operator . ':' . ($offset < 0 ? '/' : '') . date('Y-m-d', $timestamp + ($offset * 86400)) . ($offset > 0 ? '/' : '');
return Minz_Url::display(Minz_Request::modifiedCurrentRequest([
- 'search' => FreshRSS_Context::$search->getRawInput() === '' ? $searchString :
+ 'search' => FreshRSS_Context::$search->__toString() === '' ? $searchString :
FreshRSS_Context::$search->enforce(new FreshRSS_Search($searchString))->__toString(),
]));
}
diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php
index ad9b05787..02942583f 100644
--- a/app/Controllers/subscriptionController.php
+++ b/app/Controllers/subscriptionController.php
@@ -247,7 +247,7 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController {
]);
}
- $feed->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read')); // Keep as HTML
+ $feed->_filtersAction('read', Minz_Request::paramTextToArray('filteractions_read', plaintext: true));
$feed->_kind(Minz_Request::paramInt('feed_kind') ?: FreshRSS_Feed::KIND_RSS);
if ($feed->kind() === FreshRSS_Feed::KIND_HTML_XPATH || $feed->kind() === FreshRSS_Feed::KIND_XML_XPATH) {
@@ -418,17 +418,22 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController {
$filteractions = Minz_Request::paramTextToArray('filteractions_read', plaintext: true);
$filteractions = array_map(fn(string $action): string => trim($action), $filteractions);
$filteractions = array_filter($filteractions, fn(string $action): bool => $action !== '');
- $search = "f:$id (";
+ $actionsSearch = new FreshRSS_BooleanSearch('', operator: 'AND');
foreach ($filteractions as $action) {
- $search .= "($action) OR ";
+ $actionSearch = new FreshRSS_BooleanSearch($action, operator: 'OR');
+ if ($actionSearch->__toString() === '') {
+ continue;
+ }
+ $actionsSearch->add($actionSearch);
}
- $search = preg_replace('/ OR $/', '', $search);
- $search .= ')';
+ $search = new FreshRSS_BooleanSearch('');
+ $search->add(new FreshRSS_Search("f:$id"));
+ $search->add($actionsSearch);
Minz_Request::forward([
'c' => 'index',
'a' => 'index',
'params' => [
- 'search' => $search,
+ 'search' => $search->__toString(),
],
], redirect: true);
}