From 65af3b2cbba06901612cf721359aea792037cc5a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 5 May 2017 11:54:31 +0300 Subject: move counter stuff to a separate class --- include/functions.php | 198 -------------------------------------------------- 1 file changed, 198 deletions(-) (limited to 'include') diff --git a/include/functions.php b/include/functions.php index 58989d131..b448c5a9d 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1029,208 +1029,10 @@ } } - function getAllCounters() { - $data = getGlobalCounters(); - - $data = array_merge($data, getVirtCounters()); - $data = array_merge($data, getLabelCounters()); - $data = array_merge($data, getFeedCounters()); - $data = array_merge($data, getCategoryCounters()); - - return $data; - } - - function getCategoryCounters() { - $ret_arr = array(); - - /* Labels category */ - - $cv = array("id" => -2, "kind" => "cat", - "counter" => Feeds::getCategoryUnread(-2)); - - array_push($ret_arr, $cv); - - $result = db_query("SELECT id AS cat_id, value AS unread, - (SELECT COUNT(id) FROM ttrss_feed_categories AS c2 - WHERE c2.parent_cat = ttrss_feed_categories.id) AS num_children - FROM ttrss_feed_categories, ttrss_cat_counters_cache - WHERE ttrss_cat_counters_cache.feed_id = id AND - ttrss_cat_counters_cache.owner_uid = ttrss_feed_categories.owner_uid AND - ttrss_feed_categories.owner_uid = " . $_SESSION["uid"]); - - while ($line = db_fetch_assoc($result)) { - $line["cat_id"] = (int) $line["cat_id"]; - - if ($line["num_children"] > 0) { - $child_counter = Feeds::getCategoryChildrenUnread($line["cat_id"], $_SESSION["uid"]); - } else { - $child_counter = 0; - } - - $cv = array("id" => $line["cat_id"], "kind" => "cat", - "counter" => $line["unread"] + $child_counter); - - array_push($ret_arr, $cv); - } - - /* Special case: NULL category doesn't actually exist in the DB */ - - $cv = array("id" => 0, "kind" => "cat", - "counter" => (int) CCache::find(0, $_SESSION["uid"], true)); - - array_push($ret_arr, $cv); - - return $ret_arr; - } - function getFeedUnread($feed, $is_cat = false) { return Feeds::getFeedArticles($feed, $is_cat, true, $_SESSION["uid"]); } - function getGlobalCounters($global_unread = -1) { - $ret_arr = array(); - - if ($global_unread == -1) { - $global_unread = Feeds::getGlobalUnread(); - } - - $cv = array("id" => "global-unread", - "counter" => (int) $global_unread); - - array_push($ret_arr, $cv); - - $result = db_query("SELECT COUNT(id) AS fn FROM - ttrss_feeds WHERE owner_uid = " . $_SESSION["uid"]); - - $subscribed_feeds = db_fetch_result($result, 0, "fn"); - - $cv = array("id" => "subscribed-feeds", - "counter" => (int) $subscribed_feeds); - - array_push($ret_arr, $cv); - - return $ret_arr; - } - - function getVirtCounters() { - - $ret_arr = array(); - - for ($i = 0; $i >= -4; $i--) { - - $count = getFeedUnread($i); - - if ($i == 0 || $i == -1 || $i == -2) - $auxctr = Feeds::getFeedArticles($i, false); - else - $auxctr = 0; - - $cv = array("id" => $i, - "counter" => (int) $count, - "auxcounter" => (int) $auxctr); - -// if (get_pref('EXTENDED_FEEDLIST')) -// $cv["xmsg"] = getFeedArticles($i)." ".__("total"); - - array_push($ret_arr, $cv); - } - - $feeds = PluginHost::getInstance()->get_feeds(-1); - - if (is_array($feeds)) { - foreach ($feeds as $feed) { - $cv = array("id" => PluginHost::pfeed_to_feed_id($feed['id']), - "counter" => $feed['sender']->get_unread($feed['id'])); - - if (method_exists($feed['sender'], 'get_total')) - $cv["auxcounter"] = $feed['sender']->get_total($feed['id']); - - array_push($ret_arr, $cv); - } - } - - return $ret_arr; - } - - function getLabelCounters($descriptions = false) { - - $ret_arr = array(); - - $owner_uid = $_SESSION["uid"]; - - $result = db_query("SELECT id,caption,SUM(CASE WHEN u1.unread = true THEN 1 ELSE 0 END) AS unread, COUNT(u1.unread) AS total - FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON - (ttrss_labels2.id = label_id) - LEFT JOIN ttrss_user_entries AS u1 ON u1.ref_id = article_id - WHERE ttrss_labels2.owner_uid = $owner_uid AND u1.owner_uid = $owner_uid - GROUP BY ttrss_labels2.id, - ttrss_labels2.caption"); - - while ($line = db_fetch_assoc($result)) { - - $id = Labels::label_to_feed_id($line["id"]); - - $cv = array("id" => $id, - "counter" => (int) $line["unread"], - "auxcounter" => (int) $line["total"]); - - if ($descriptions) - $cv["description"] = $line["caption"]; - - array_push($ret_arr, $cv); - } - - return $ret_arr; - } - - function getFeedCounters($active_feed = false) { - - $ret_arr = array(); - - $query = "SELECT ttrss_feeds.id, - ttrss_feeds.title, - ".SUBSTRING_FOR_DATE."(ttrss_feeds.last_updated,1,19) AS last_updated, - last_error, value AS count - FROM ttrss_feeds, ttrss_counters_cache - WHERE ttrss_feeds.owner_uid = ".$_SESSION["uid"]." - AND ttrss_counters_cache.owner_uid = ttrss_feeds.owner_uid - AND ttrss_counters_cache.feed_id = id"; - - $result = db_query($query); - - while ($line = db_fetch_assoc($result)) { - - $id = $line["id"]; - $count = $line["count"]; - $last_error = htmlspecialchars($line["last_error"]); - - $last_updated = make_local_datetime($line['last_updated'], false); - - $has_img = feed_has_icon($id); - - if (date('Y') - date('Y', strtotime($line['last_updated'])) > 2) - $last_updated = ''; - - $cv = array("id" => $id, - "updated" => $last_updated, - "counter" => (int) $count, - "has_img" => (int) $has_img); - - if ($last_error) - $cv["error"] = $last_error; - -// if (get_pref('EXTENDED_FEEDLIST')) -// $cv["xmsg"] = getFeedArticles($id)." ".__("total"); - - if ($active_feed && $id == $active_feed) - $cv["title"] = truncate_string($line["title"], 30); - - array_push($ret_arr, $cv); - - } - - return $ret_arr; - } /*function get_pgsql_version() { $result = db_query("SELECT version() AS version"); -- cgit v1.2.3