add an option to disable conditional counters

This commit is contained in:
Andrew Dolgov 2021-02-27 11:25:07 +03:00
parent c1cd3324e3
commit 5edcbf2e9b
3 changed files with 6 additions and 1 deletions

View File

@ -65,6 +65,7 @@ class Pref_Prefs extends Handler_Protected {
'BLOCK_SEPARATOR', 'BLOCK_SEPARATOR',
Prefs::SSL_CERT_SERIAL, Prefs::SSL_CERT_SERIAL,
'BLOCK_SEPARATOR', 'BLOCK_SEPARATOR',
Prefs::DISABLE_CONDITIONAL_COUNTERS,
Prefs::HEADLINES_NO_DISTINCT, Prefs::HEADLINES_NO_DISTINCT,
], ],
__('Debugging') => [ __('Debugging') => [
@ -106,6 +107,7 @@ class Pref_Prefs extends Handler_Protected {
Prefs::USER_CSS_THEME => array(__("Theme")), Prefs::USER_CSS_THEME => array(__("Theme")),
Prefs::HEADLINES_NO_DISTINCT => array(__("Don't enforce DISTINCT headlines"), __("May produce duplicate entries")), Prefs::HEADLINES_NO_DISTINCT => array(__("Don't enforce DISTINCT headlines"), __("May produce duplicate entries")),
Prefs::DEBUG_HEADLINE_IDS => array(__("Show article and feed IDs"), __("In the headlines buffer")), Prefs::DEBUG_HEADLINE_IDS => array(__("Show article and feed IDs"), __("In the headlines buffer")),
Prefs::DISABLE_CONDITIONAL_COUNTERS => array(__("Disable conditional counter updates"), __("May increase server load")),
]; ];
// hidden in the main prefs UI (use to hide things that have description set above) // hidden in the main prefs UI (use to hide things that have description set above)

View File

@ -58,6 +58,7 @@ class Prefs {
const _PREFS_MIGRATED = "_PREFS_MIGRATED"; const _PREFS_MIGRATED = "_PREFS_MIGRATED";
const HEADLINES_NO_DISTINCT = "HEADLINES_NO_DISTINCT"; const HEADLINES_NO_DISTINCT = "HEADLINES_NO_DISTINCT";
const DEBUG_HEADLINE_IDS = "DEBUG_HEADLINE_IDS"; const DEBUG_HEADLINE_IDS = "DEBUG_HEADLINE_IDS";
const DISABLE_CONDITIONAL_COUNTERS = "DISABLE_CONDITIONAL_COUNTERS";
private const _DEFAULTS = [ private const _DEFAULTS = [
Prefs::PURGE_OLD_DAYS => [ 60, Config::T_INT ], Prefs::PURGE_OLD_DAYS => [ 60, Config::T_INT ],
@ -116,6 +117,7 @@ class Prefs {
Prefs::_PREFS_MIGRATED => [ false, Config::T_BOOL ], Prefs::_PREFS_MIGRATED => [ false, Config::T_BOOL ],
Prefs::HEADLINES_NO_DISTINCT => [ false, Config::T_BOOL ], Prefs::HEADLINES_NO_DISTINCT => [ false, Config::T_BOOL ],
Prefs::DEBUG_HEADLINE_IDS => [ false, Config::T_BOOL ], Prefs::DEBUG_HEADLINE_IDS => [ false, Config::T_BOOL ],
Prefs::DISABLE_CONDITIONAL_COUNTERS => [ false, Config::T_BOOL ],
]; ];
const _PROFILE_BLACKLIST = [ const _PROFILE_BLACKLIST = [

View File

@ -121,7 +121,8 @@ class RPC extends Handler_Protected {
else else
$label_ids = array_map("intval", clean($_REQUEST["label_ids"] ?? [])); $label_ids = array_map("intval", clean($_REQUEST["label_ids"] ?? []));
$counters = is_array($feed_ids) ? Counters::get_conditional($feed_ids, $label_ids) : Counters::get_all(); $counters = is_array($feed_ids) && !get_pref(Prefs::DISABLE_CONDITIONAL_COUNTERS) ?
Counters::get_conditional($feed_ids, $label_ids) : Counters::get_all();
$reply = [ $reply = [
'counters' => $counters, 'counters' => $counters,