diff --git a/emhttp/plugins/dynamix/ShareEdit.page b/emhttp/plugins/dynamix/ShareEdit.page index 48165e658..3c51ce406 100644 --- a/emhttp/plugins/dynamix/ShareEdit.page +++ b/emhttp/plugins/dynamix/ShareEdit.page @@ -56,6 +56,11 @@ if ((! $share['cachePool']) && ($share['cachePool2'])) { $share['cachePool2'] = ""; } +/* If useCache is "no" with an array, this is invalid and useCache has to be 'only'. */ +if ((! $poolsOnly) && ($share['useCache'] == "no")) { + $share['useCache'] = 'only'; +} + /* Check for non existent pool device. */ if ($share['cachePool'] && !in_array($share['cachePool'], $pools)) { $poolDefined = false; diff --git a/emhttp/plugins/dynamix/include/ShareList.php b/emhttp/plugins/dynamix/include/ShareList.php index 3367abb8d..5f32722b0 100644 --- a/emhttp/plugins/dynamix/include/ShareList.php +++ b/emhttp/plugins/dynamix/include/ShareList.php @@ -213,8 +213,8 @@ foreach ($shares as $name => $share) { $share_valid = true; } - /* When there is no array, all pools are treated as 'only' cache. */ - if (($poolsOnly) && (! $share['cachePool2'])) { + /* When there is no array, all pools are treated as 'only' cache. If useCache is "no" with an array, this is invalid and useCache has to be 'only'. */ + if ((($poolsOnly) && (! $share['cachePool2'])) || ((! $poolsOnly) && ($share['useCache'] == "no"))) { $share['useCache'] = 'only'; }