diff options
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 155 |
1 files changed, 80 insertions, 75 deletions
diff --git a/functions.php b/functions.php index bed8f23f1..da999fe2d 100644 --- a/functions.php +++ b/functions.php @@ -2454,30 +2454,32 @@ function getAllCounters($link, $omode = "flc", $active_feed = false) { if (!$omode) $omode = "flc"; - - getGlobalCounters($link); - getVirtCounters($link); - if (strchr($omode, "l")) getLabelCounters($link); - if (strchr($omode, "f")) getFeedCounters($link, $active_feed); - if (strchr($omode, "t")) getTagCounters($link); + $data = getGlobalCounters($link); + + $data = array_merge($data, getVirtCounters($link)); + + if (strchr($omode, "l")) $data = array_merge($data, getLabelCounters($link)); + if (strchr($omode, "f")) $data = array_merge($data, getFeedCounters($link, $active_feed)); + if (strchr($omode, "t")) $data = array_merge($data, getTagCounters($link)); if (strchr($omode, "c")) { if (get_pref($link, 'ENABLE_FEED_CATS')) { - getCategoryCounters($link); + $data = array_merge($data, getCategoryCounters($link)); } } + + return $data; } function getCategoryCounters($link) { - # two special categories are -1 and -2 (all virtuals; all labels) - -/* $ctr = getCategoryUnread($link, -1); + $ret_arr = array(); - print "<counter type=\"category\" id=\"-1\" counter=\"$ctr\"/>"; */ + /* Labels category */ - $ctr = getCategoryUnread($link, -2); + $cv = array("id" => -2, "cat" => true, + "counter" => getCategoryUnread($link, -2)); - print "<counter type=\"category\" id=\"-2\" counter=\"$ctr\"/>"; + array_push($ret_arr, $cv); $age_qpart = getMaxAgeSubquery(); @@ -2489,15 +2491,20 @@ while ($line = db_fetch_assoc($result)) { $line["cat_id"] = (int) $line["cat_id"]; - print "<counter type=\"category\" id=\"".$line["cat_id"]."\" counter=\"". - $line["unread"]."\"/>"; + $cv = array("id" => $line["cat_id"], "cat" => true, + "counter" => $line["unread"]); + + array_push($ret_arr, $cv); } /* Special case: NULL category doesn't actually exist in the DB */ - print "<counter type=\"category\" id=\"0\" counter=\"". - ccache_find($link, 0, $_SESSION["uid"], true)."\"/>"; + $cv = array("id" => 0, "cat" => true, + "counter" => ccache_find($link, 0, $_SESSION["uid"], true)); + array_push($ret_arr, $cv); + + return $ret_arr; } function getCategoryUnread($link, $cat, $owner_uid = false) { @@ -2730,20 +2737,28 @@ } function getGlobalCounters($link, $global_unread = -1) { + $ret_arr = array(); + if ($global_unread == -1) { $global_unread = getGlobalUnread($link); } - print "<counter type=\"global\" id='global-unread' - counter='$global_unread'/>"; + + $cv = array("id" => "global-unread", + "counter" => $global_unread); + + array_push($ret_arr, $cv); $result = db_query($link, "SELECT COUNT(id) AS fn FROM ttrss_feeds WHERE owner_uid = " . $_SESSION["uid"]); $subscribed_feeds = db_fetch_result($result, 0, "fn"); - print "<counter type=\"global\" id='subscribed-feeds' - counter='$subscribed_feeds'/>"; + $cv = array("id" => "subscribed-feeds", + "counter" => $subscribed_feeds); + array_push($ret_arr, $cv); + + return $ret_arr; } function getSubscribedFeeds($link) { @@ -2754,6 +2769,8 @@ } function getTagCounters($link) { + + $ret_arr = array(); $age_qpart = getMaxAgeSubquery(); @@ -2773,37 +2790,41 @@ foreach (array_keys($tags) as $tag) { $unread = $tags[$tag]; $tag = htmlspecialchars($tag); - print "<counter type=\"tag\" id=\"$tag\" counter=\"$unread\"/>"; - } + + $cv = array("id" => $tag, + "tag" => true, + "counter" => $unread); + + array_push($ret_arr, $cv); + } + + return $ret_arr; } - function getVirtCounters($link, $ret_mode = false) { + function getVirtCounters($link) { $ret_arr = array(); for ($i = 0; $i >= -4; $i--) { $count = getFeedUnread($link, $i); + + $cv = array("id" => $i, + "counter" => $count, + "description" => getFeedTitle($link, $i)); - if (!$ret_mode) { - - if (get_pref($link, 'EXTENDED_FEEDLIST')) { - $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $i) . " total)\""; - } else { - $xmsg_part = ""; - } + if (get_pref($link, 'EXTENDED_FEEDLIST')) + $cv["xmsg"] = getFeedArticles($link, $i)." ".__("total"); - print "<counter type=\"label\" id=\"$i\" counter=\"$count\" $xmsg_part/>"; - } else { - $ret_arr[$i]["counter"] = $count; - $ret_arr[$i]["description"] = getFeedTitle($link, $i); - } + array_push($ret_arr, $cv); } return $ret_arr; } - function getLabelCounters($link, $ret_mode = false) { + function getLabelCounters($link) { + + $ret_arr = array(); $age_qpart = getMaxAgeSubquery(); @@ -2818,21 +2839,15 @@ $label_name = $line["caption"]; $count = getFeedUnread($link, $id); - - if (!$ret_mode) { - if (get_pref($link, 'EXTENDED_FEEDLIST')) { - $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; - } else { - $xmsg_part = ""; - } + $cv = array("id" => $id, + "counter" => $count, + "description" => $label_name); - print "<counter type=\"label\" id=\"$id\" counter=\"$count\" $xmsg_part/>"; + if (get_pref($link, 'EXTENDED_FEEDLIST')) + $cv["xmsg"] = getFeedArticles($link, $id)." ".__("total"); - } else { - $ret_arr[$id]["counter"] = $count; - $ret_arr[$id]["description"] = $label_name; - } + array_push($ret_arr, $cv); } return $ret_arr; @@ -2840,6 +2855,8 @@ function getFeedCounters($link, $active_feed = false) { + $ret_arr = array(); + $age_qpart = getMaxAgeSubquery(); $query = "SELECT ttrss_feeds.id, @@ -2868,8 +2885,6 @@ $last_updated = date($short_date, strtotime($line["last_updated"])); } - $last_updated = htmlspecialchars($last_updated); - $has_img = feed_has_icon($id); $tmp_result = db_query($link, @@ -2878,38 +2893,28 @@ $count += db_fetch_result($tmp_result, 0, "unread"); - if ($last_error) { - $error_part = "error=\"$last_error\""; - } else { - $error_part = ""; - } + $cv = array("id" => $id, + "last_updated" => $last_updated, + "counter" => $count, + "has_img" => (int) $has_img); - if ($has_img) { - $has_img_part = "hi=\"$has_img\""; - } else { - $has_img_part = ""; - } + if ($last_error) + $cv["error"] = $last_error; - if ($active_feed && $id == $active_feed) { - $has_title_part = "title=\"" . htmlspecialchars($line["title"]) . "\""; - } else { - $has_title_part = ""; - } + if (get_pref($link, 'EXTENDED_FEEDLIST')) + $cv["xmsg"] = getFeedArticles($link, $id)." ".__("total"); - if (get_pref($link, 'EXTENDED_FEEDLIST')) { - $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; - } + if ($active_feed && $id == $active_feed) + $cv["title"] = $line["title"]; + + array_push($ret_arr, $cv); - print "<counter type=\"feed\" id=\"$id\" counter=\"$count\" $has_img_part $error_part updated=\"$last_updated\" $xmsg_part $has_title_part/>"; } + + return $ret_arr; } function get_script_dt_add() { -/* if (strpos(VERSION, ".99") === false) { - return VERSION; - } else { - return time(); - } */ return time(); } |