aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Lib/ThreadListener.php
blob: ef245b1ce7bd935acf8f4c63dfc54e0bd646b7dc (plain) (blame)
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

namespace Zotlabs\Lib;

class ThreadListener {

	public static function isEnabled() {
		return Config::Get('system','enable_thread_listener');
	}

	static public function store($target_id,$portable_id,$ltype = 0) {
		if (!self::isEnabled()) {
			return true;
		}

		$x = self::fetch($target_id,$portable_id,$ltype = 0);
		if(! $x) {
			$r = q("insert into listeners ( target_id, portable_id, ltype ) values ( '%s', '%s' , %d ) ",
				dbesc($target_id),
				dbesc($portable_id),
				intval($ltype)
			);
		}
	}

	static public function fetch($target_id,$portable_id,$ltype = 0) {
		if (!self::isEnabled()) {
			return false;
		}

		$x = q("select * from listeners where target_id = '%s' and portable_id = '%s' and ltype = %d limit 1",
			dbesc($target_id),
			dbesc($portable_id),
			intval($ltype)
		);
		if($x) {
			return $x[0];
		}
		return false;
	}

	static public function fetch_by_target($target_id,$ltype = 0) {
		if (!self::isEnabled()) {
			return [];
		}

		$x = q("select * from listeners where target_id = '%s' and ltype = %d",
			dbesc($target_id),
			intval($ltype)
		);

		return $x;
	}

	static public function delete_by_target($target_id, $ltype = 0) {
		return q("delete from listeners where target_id = '%s' and ltype = %d",
			dbesc($target_id),
			intval($ltype)
		);
	}

	static public function delete_by_pid($portable_id, $ltype = 0) {
		return q("delete from listeners where portable_id = '%s' and ltype = %d",
			dbesc($portable_id),
			intval($ltype)
		);
	}

}