]> git.wh0rd.org - tt-rss.git/commitdiff
add plugin to show all shared articles
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 11 Jul 2013 09:48:39 +0000 (13:48 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 11 Jul 2013 09:48:39 +0000 (13:48 +0400)
include/functions.php
plugins/vf_shared/init.php [new file with mode: 0644]
plugins/vf_shared/share.png [new file with mode: 0644]

index 8a8f7b5d013e4950b845891fc2d9064bdccff0bb..35edd8d1a116313c4813e381331349f469c3b137 100644 (file)
                        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);
                        }
                }
 
                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"];
 
                                $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";
 
                                $order_by = $override_order;
                        }
 
+                       if ($override_strategy) {
+                               $query_strategy_part = $override_strategy;
+                       }
+
+                       if ($override_vfeed) {
+                               $vfeed_query_part = $override_vfeed;
+                       }
+
                        $feed_title = "";
 
                        if ($search) {
diff --git a/plugins/vf_shared/init.php b/plugins/vf_shared/init.php
new file mode 100644 (file)
index 0000000..00d288c
--- /dev/null
@@ -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;
+       }
+
+}
+?>
diff --git a/plugins/vf_shared/share.png b/plugins/vf_shared/share.png
new file mode 100644 (file)
index 0000000..25eacb7
Binary files /dev/null and b/plugins/vf_shared/share.png differ