Преглед на файлове

Fix calls to remove_query_by_get()

The function has been moved into lib_rss.php

See https://github.com/FreshRSS/FreshRSS/issues/730
Marien Fressinaud преди 11 години
родител
ревизия
09545b0a65
променени са 3 файла, в които са добавени 23 реда и са изтрити 3 реда
  1. 4 2
      app/Controllers/categoryController.php
  2. 2 1
      app/Controllers/feedController.php
  3. 17 0
      lib/lib_rss.php

+ 4 - 2
app/Controllers/categoryController.php

@@ -141,7 +141,8 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 			}
 
 			// Remove related queries.
-			FreshRSS_Context::$user_conf->remove_query_by_get('c_' . $id);
+			FreshRSS_Context::$user_conf->queries = remove_query_by_get(
+				'c_' . $id, FreshRSS_Context::$user_conf->queries);
 			FreshRSS_Context::$user_conf->save();
 
 			Minz_Request::good(_t('feedback.sub.category.deleted'), $url_redirect);
@@ -177,7 +178,8 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 
 				// Remove related queries
 				foreach ($feeds as $feed) {
-					FreshRSS_Context::$user_conf->remove_query_by_get('f_' . $feed->id());
+					FreshRSS_Context::$user_conf->queries = remove_query_by_get(
+						'f_' . $feed->id(), FreshRSS_Context::$user_conf->queries);
 				}
 				FreshRSS_Context::$user_conf->save();
 

+ 2 - 1
app/Controllers/feedController.php

@@ -477,7 +477,8 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
 			// TODO: Delete old favicon
 
 			// Remove related queries
-			FreshRSS_Context::$user_conf->remove_query_by_get('f_' . $id);
+			FreshRSS_Context::$user_conf->queries = remove_query_by_get(
+				'f_' . $id, FreshRSS_Context::$user_conf->queries);
 			FreshRSS_Context::$user_conf->save();
 
 			Minz_Request::good(_t('feedback.sub.feed.deleted'), $redirect_url);

+ 17 - 0
lib/lib_rss.php

@@ -387,3 +387,20 @@ function recursive_unlink($dir) {
 	}
 	return rmdir($dir);
 }
+
+
+/**
+ * Remove queries where $get is appearing.
+ * @param $get the get attribute which should be removed.
+ * @param $queries an array of queries.
+ * @return the same array whithout those where $get is appearing.
+ */
+function remove_query_by_get($get, $queries) {
+	$final_queries = array();
+	foreach ($queries as $key => $query) {
+		if (empty($query['get']) || $query['get'] !== $get) {
+			$final_queries[$key] = $query;
+		}
+	}
+	return $final_queries;
+}