summaryrefslogtreecommitdiff
path: root/plugins/vf_shared/init.php
blob: 90179c08c65ff94bd40248079a2ec35684633303 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
class VF_Shared extends Plugin {

	/* @var PluginHost $host */
	private $host;

	function about() {
		return array(null,
			"Feed for all articles actively shared by URL",
			"fox",
			false);
	}

	function init($host) {
		$this->host = $host;

		$host->add_feed(-1, __("Shared articles"), 'link', $this);
	}

	function api_version() {
		return 2;
	}

	function get_unread($feed_id) {
		$sth = $this->pdo->prepare("select count(int_id) AS count
			from ttrss_user_entries where owner_uid = ? and unread = true and uuid != ''");
		$sth->execute([$_SESSION['uid']]);

		if ($row = $sth->fetch()) {
			return $row['count'];
		}

		return 0;
	}

	function get_total($feed_id) {
		$sth = $this->pdo->prepare("select count(int_id) AS count
			from ttrss_user_entries where owner_uid = ? and uuid != ''");
		$sth->execute([$_SESSION['uid']]);

		if ($row = $sth->fetch()) {
			return $row['count'];
		}

		return 0;
	}

	function get_headlines($feed_id, $options) {
		$params = array(
			"feed" => -4,
			"limit" => $options["limit"],
			"view_mode" => $this->get_unread(-1) > 0 ? "adaptive" : "all_articles",
			"search" => $options['search'],
			"override_order" => $options['override_order'],
			"offset" => $options["offset"],
			"filter" => $options["filter"],
			"since_id" => $options["since_id"],
			"include_children" => $options["include_children"],
			"override_strategy" => "uuid != ''",
			"override_vfeed" => "ttrss_feeds.title AS feed_title,"
		);

		$qfh_ret = Feeds::_get_headlines($params);
		$qfh_ret[1] = __("Shared articles");

		return $qfh_ret;
	}

}