From a80e12cbf7a38d5a745b8ce980e9c662f9c64dfb Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Wed, 24 Sep 2014 12:32:49 +0200 Subject: Remove queries at the same time as categories See https://github.com/marienfressinaud/FreshRSS/issues/625 --- app/Controllers/configureController.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php index 4422f33af..d2ca0777f 100755 --- a/app/Controllers/configureController.php +++ b/app/Controllers/configureController.php @@ -32,7 +32,8 @@ class FreshRSS_configure_Controller extends Minz_ActionController { * every category to check for modification then add a new category if * needed then sends a notification to the user. * If a category name is emptied, the category is deleted and all - * related feeds are moved to the default category. + * related feeds are moved to the default category. Related user queries + * are deleted too. * If a category name is changed, it is updated. */ public function categorizeAction() { @@ -56,6 +57,18 @@ class FreshRSS_configure_Controller extends Minz_ActionController { } elseif ($ids[$key] != $defaultId) { $feedDAO->changeCategory($ids[$key], $defaultId); $catDAO->deleteCategory($ids[$key]); + + // Remove related queries. + $final_queries = array(); + $id_cat_in_query = 'c_' . $ids[$key]; + foreach ($this->view->conf->queries as $key => $query) { + if (empty($query['get']) || + $query['get'] !== $id_cat_in_query) { + $final_queries[$key] = $query; + } + } + $this->view->conf->_queries($final_queries); + $this->view->conf->save(); } } -- cgit v1.2.3