summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2022-02-20 11:04:15 +0300
committerAndrew Dolgov <[email protected]>2022-02-20 11:04:40 +0300
commit77f39d65b5dd1661f8102b75746c13403d4195c2 (patch)
tree5f3bd4452be7382ac9bceba9756b35ebc5c8dab7
parent168dc6fe575d2734ce2c1a93f198262f39ac81c7 (diff)
* Feeds::_get_counters - fix retrieving unread for tags
* mark several symbols as @deprecated properly * replace uses of (deprecated) getFeedUnread() with Feeds::_get_counters()
-rwxr-xr-xclasses/api.php12
-rw-r--r--classes/counters.php2
-rwxr-xr-xclasses/feeds.php13
-rwxr-xr-xclasses/pref/feeds.php2
-rw-r--r--include/functions.php24
5 files changed, 34 insertions, 19 deletions
diff --git a/classes/api.php b/classes/api.php
index 7759b43bf..fd2573033 100755
--- a/classes/api.php
+++ b/classes/api.php
@@ -106,7 +106,7 @@ class API extends Handler {
$is_cat = self::_param_to_bool($_REQUEST["is_cat"] ?? false);
if ($feed_id) {
- return $this->_wrap(self::STATUS_OK, array("unread" => getFeedUnread($feed_id, $is_cat)));
+ return $this->_wrap(self::STATUS_OK, array("unread" => Feeds::_get_counters($feed_id, $is_cat)));
} else {
return $this->_wrap(self::STATUS_OK, array("unread" => Feeds::_get_global_unread()));
}
@@ -152,7 +152,7 @@ class API extends Handler {
foreach ($categories->find_many() as $category) {
if ($include_empty || $category->num_feeds > 0 || $category->num_cats > 0) {
- $unread = getFeedUnread($category->id, true);
+ $unread = Feeds::_get_counters($category->id, true);
if ($enable_nested)
$unread += Feeds::_get_cat_children_unread($category->id);
@@ -170,7 +170,7 @@ class API extends Handler {
foreach ([-2,-1,0] as $cat_id) {
if ($include_empty || !$this->_is_cat_empty($cat_id)) {
- $unread = getFeedUnread($cat_id, true);
+ $unread = Feeds::_get_counters($cat_id, true);
if ($unread || !$unread_only) {
array_push($cats, [
@@ -546,7 +546,7 @@ class API extends Handler {
if ($cat_id == -4 || $cat_id == -1) {
foreach ([-1, -2, -3, -4, -6, 0] as $i) {
- $unread = getFeedUnread($i);
+ $unread = Feeds::_get_counters($i);
if ($unread || !$unread_only) {
$title = Feeds::_get_title($i);
@@ -573,7 +573,7 @@ class API extends Handler {
->find_many();
foreach ($categories as $category) {
- $unread = getFeedUnread($category->id, true) +
+ $unread = Feeds::_get_counters($category->id, true) +
Feeds::_get_cat_children_unread($category->id);
if ($unread || !$unread_only) {
@@ -607,7 +607,7 @@ class API extends Handler {
}
foreach ($feeds_obj->find_many() as $feed) {
- $unread = getFeedUnread($feed->id);
+ $unread = Feeds::_get_counters($feed->id);
$has_icon = Feeds::_has_icon($feed->id);
if ($unread || !$unread_only) {
diff --git a/classes/counters.php b/classes/counters.php
index c42e938f8..0814bc441 100644
--- a/classes/counters.php
+++ b/classes/counters.php
@@ -250,7 +250,7 @@ class Counters {
for ($i = 0; $i >= -4; $i--) {
- $count = getFeedUnread($i);
+ $count = Feeds::_get_counters($i);
if ($i == 0 || $i == -1 || $i == -2)
$auxctr = Feeds::_get_counters($i, false);
diff --git a/classes/feeds.php b/classes/feeds.php
index cc78b498c..4f30ad746 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -936,7 +936,15 @@ class Feeds extends Handler_Protected {
}
}
- static function _get_counters(int $feed, bool $is_cat = false, bool $unread_only = false, ?int $owner_uid = null): int {
+ /**
+ * @param int|string $feed feed id or tag name
+ * @param bool $is_cat
+ * @param bool $unread_only
+ * @param null|int $owner_uid
+ * @return int
+ * @throws PDOException
+ */
+ static function _get_counters($feed, bool $is_cat = false, bool $unread_only = false, ?int $owner_uid = null): int {
$n_feed = (int) $feed;
$need_entries = false;
@@ -957,6 +965,7 @@ class Feeds extends Handler_Protected {
return self::_get_cat_unread($n_feed, $owner_uid);
} else if ($n_feed == -6) {
return 0;
+ // tags
} else if ($feed != "0" && $n_feed == 0) {
$sth = $pdo->prepare("SELECT SUM((SELECT COUNT(int_id)
@@ -1498,7 +1507,7 @@ class Feeds extends Handler_Protected {
$view_query_part = " ";
} else if ($feed != -1) {
- $unread = getFeedUnread($feed, $cat_view);
+ $unread = Feeds::_get_counters($feed, $cat_view);
if ($cat_view && $feed > 0 && $include_children)
$unread += self::_get_cat_children_unread($feed);
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index d2a30662b..f5b6333a6 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -1111,7 +1111,7 @@ class Pref_Feeds extends Handler_Protected {
$title = Feeds::_get_title($feed_id, false);
if ($unread === false)
- $unread = getFeedUnread($feed_id, false);
+ $unread = Feeds::_get_counters($feed_id, false);
return [
'id' => 'FEED:' . $feed_id,
diff --git a/include/functions.php b/include/functions.php
index f4a218ce3..91fb62ec5 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -2,7 +2,7 @@
define('LABEL_BASE_INDEX', -1024);
define('PLUGIN_FEED_BASE_INDEX', -128);
- /** constant is @deprecated, use Config::SCHEMA_VERSION instead */
+ /** @deprecated by Config::SCHEMA_VERSION */
define('SCHEMA_VERSION', Config::SCHEMA_VERSION);
if (version_compare(PHP_VERSION, '8.0.0', '<')) {
@@ -179,18 +179,24 @@
return Config::get_version();
}
- /** function is @deprecated by Config::get_schema_version() */
+ /** @deprecated by Config::get_schema_version() */
function get_schema_version(): int {
return Config::get_schema_version();
}
- /** function is @deprecated by Debug::log() */
+ /** @deprecated by Debug::log() */
function _debug(string $msg): void {
Debug::log($msg);
}
- /** function is @deprecated */
- function getFeedUnread(int $feed, bool $is_cat = false): int {
+
+ /** @deprecated by Feeds::_get_counters()
+ * @param int|string $feed feed id or tag name
+ * @param bool $is_cat
+ * @return int
+ * @throws PDOException
+ */
+ function getFeedUnread($feed, bool $is_cat = false): int {
return Feeds::_get_counters($feed, $is_cat, true, $_SESSION["uid"]);
}
@@ -239,23 +245,23 @@
return UrlHelper::validate($url);
}
- /** function is @deprecated by UserHelper::authenticate() */
+ /** @deprecated by UserHelper::authenticate() */
function authenticate_user(string $login = null, string $password = null, bool $check_only = false, string $service = null): bool {
return UserHelper::authenticate($login, $password, $check_only, $service);
}
- /** function is @deprecated by TimeHelper::smart_date_time() */
+ /** @deprecated by TimeHelper::smart_date_time() */
function smart_date_time(int $timestamp, int $tz_offset = 0, int $owner_uid = null, bool $eta_min = false): string {
return TimeHelper::smart_date_time($timestamp, $tz_offset, $owner_uid, $eta_min);
}
- /** function is @deprecated by TimeHelper::make_local_datetime() */
+ /** @deprecated by TimeHelper::make_local_datetime() */
function make_local_datetime(string $timestamp, bool $long, int $owner_uid = null, bool $no_smart_dt = false, bool $eta_min = false): string {
return TimeHelper::make_local_datetime($timestamp, $long, $owner_uid, $no_smart_dt, $eta_min);
}
// this returns Config::SELF_URL_PATH sans ending slash
- /** function is @deprecated by Config::get_self_url() */
+ /** @deprecated by Config::get_self_url() */
function get_self_url_prefix(): string {
return Config::get_self_url();
}