add plugin to show all shared articles

This commit is contained in:
Andrew Dolgov 2013-07-11 13:48:39 +04:00
parent 936d21e135
commit a6a61a8cb1
3 changed files with 79 additions and 2 deletions

View File

@ -1501,7 +1501,11 @@
foreach ($feeds as $feed) {
$cv = array("id" => PluginHost::pfeed_to_feed_id($feed['id']),
"counter" => $feed['sender']->get_unread($feed['id']));
array_push($ret_arr, $cv);
if (method_exists($feed['sender'], 'get_total'))
$cv["auxcounter"] = $feed['sender']->get_total($feed['id']);
array_push($ret_arr, $cv);
}
}
@ -2313,7 +2317,7 @@
return $rv;
}
function queryFeedHeadlines($feed, $limit, $view_mode, $cat_view, $search, $search_mode, $override_order = false, $offset = 0, $owner_uid = 0, $filter = false, $since_id = 0, $include_children = false, $ignore_vfeed_group = false) {
function queryFeedHeadlines($feed, $limit, $view_mode, $cat_view, $search, $search_mode, $override_order = false, $offset = 0, $owner_uid = 0, $filter = false, $since_id = 0, $include_children = false, $ignore_vfeed_group = false, $override_strategy = false, $override_vfeed = false) {
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
@ -2515,6 +2519,11 @@
$allow_archived = true;
if (!$override_order) $override_order = "last_read DESC";
/* } else if ($feed == -7) { // shared
$query_strategy_part = "uuid != ''";
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
$allow_archived = true; */
} else if ($feed == -3) { // fresh virtual feed
$query_strategy_part = "unread = true AND score >= 0";
@ -2556,6 +2565,14 @@
$order_by = $override_order;
}
if ($override_strategy) {
$query_strategy_part = $override_strategy;
}
if ($override_vfeed) {
$vfeed_query_part = $override_vfeed;
}
$feed_title = "";
if ($search) {

View File

@ -0,0 +1,60 @@
<?php
class VF_Shared extends Plugin {
private $host;
function about() {
return array(1.0,
"Feed for all articles actively shared by URL",
"fox",
false);
}
function init($host) {
$this->host = $host;
$host->add_feed(-1, __("Shared articles"), 'plugins/vf_shared/share.png', $this);
}
function api_version() {
return 2;
}
function get_unread($feed_id) {
$result = db_query("select count(int_id) AS count from ttrss_user_entries where owner_uid = ".$_SESSION["uid"]." and unread = true and uuid != ''");
return db_fetch_result($result, 0, "count");
}
function get_total($feed_id) {
$result = db_query("select count(int_id) AS count from ttrss_user_entries where owner_uid = ".$_SESSION["uid"]." and uuid != ''");
return db_fetch_result($result, 0, "count");
}
//function queryFeedHeadlines($feed, $limit, $view_mode, $cat_view, $search, $search_mode, $override_order = false, $offset = 0, $owner_uid = 0, $filter = false, $since_id = 0, $include_children = false, $ignore_vfeed_group = false, $override_strategy = false, $override_vfeed = false) {
function get_headlines($feed_id, $options) {
$qfh_ret = queryFeedHeadlines(-4,
$options['limit'],
$this->get_unread() > 0 ? "adaptive" : "all_articles",
false,
$options['search'],
$options['search_mode'],
$options['override_order'],
$options['offset'],
$options['owner_uid'],
$options['filter'],
$options['since_id'],
$options['include_children'],
false,
"uuid != ''",
"ttrss_feeds.title AS feed_title,");
$qfh_ret[1] = __("Shared articles");
return $qfh_ret;
}
}
?>

BIN
plugins/vf_shared/share.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B