Add setting to hide mature content from ContentDB
authorrubenwardy <rw@rubenwardy.com>
Sun, 3 Feb 2019 17:54:56 +0000 (17:54 +0000)
committerGitHub <noreply@github.com>
Sun, 3 Feb 2019 17:54:56 +0000 (17:54 +0000)
builtin/mainmenu/dlg_contentstore.lua
builtin/settingtypes.txt
src/defaultsettings.cpp

index ab55e3848783b52e8f4cf5c7dd5b92a9199dc89c..655e596d477bb4f17d3769a0978083ea98f83b81 100644 (file)
@@ -285,9 +285,14 @@ function store.load()
        local show_nonfree = core.settings:get_bool("show_nonfree_packages")
        local url = base_url ..
                "/api/packages/?type=mod&type=game&type=txp&protocol_version=" ..
-               core.get_max_supp_proto() ..
-               "&nonfree=" ..
-               (show_nonfree and "true" or "false")
+               core.get_max_supp_proto()
+
+       for _, item in pairs(core.settings:get("contentdb_flag_blacklist"):split(",")) do
+               item = item:trim()
+               if item ~= "" then
+                       url = url .. "&hide=" .. item
+               end
+       end
 
        core.download_file(url, target)
 
index 1586e1dd63fc4f107c343d85e3c6c4f1a15fe623..673f66181d449d81e3866d4d8f58c1a1152784b9 100644 (file)
@@ -1941,6 +1941,13 @@ num_emerge_threads (Number of emerge threads) int 0
 
 [Content Store]
 
-#    Show packages in the content store that do not qualify as 'free software'
+#    The URL for the content repository
+contentdb_url (ContentDB URL) string https://content.minetest.net
+
+#    Comma-separated list of flags to hide in the content repository.
+#    "nonfree" can be used to hide packages which do not qualify as 'free software',
 #    as defined by the Free Software Foundation.
-show_nonfree_packages (Show non-free packages) bool false
+#    You can also specify content ratings.
+#    These flags are independent from Minetest versions,
+#    so see a full list at https://content.minetest.net/help/content_flags/
+contentdb_flag_blacklist (ContentDB Flag Blacklist) string nonfree, desktop_default
index 95e03b1a9d4a2a147f4ac064b129bedc6ab0837e..1df6dccb62460623da5ba27538b1ae853c76566f 100644 (file)
@@ -300,7 +300,11 @@ void set_default_settings(Settings *settings)
        settings->setDefault("font_size", font_size_str);
        settings->setDefault("mono_font_size", font_size_str);
        settings->setDefault("contentdb_url", "https://content.minetest.net");
-       settings->setDefault("show_nonfree_packages", "false");
+#ifdef __ANDROID__
+       settings->setDefault("contentdb_flag_blacklist", "nonfree, android_default");
+#else
+       settings->setDefault("contentdb_flag_blacklist", "nonfree, desktop_default");
+#endif
 
 
        // Server