aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Zotfeed.php
blob: 28040149fcb0b9e32790f71a9f541cf6375be2bc (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
<?php
namespace Zotlabs\Module;

require_once('include/items.php');
require_once('include/zot.php');


class Zotfeed extends \Zotlabs\Web\Controller {

	function init() {
	
		$result = array('success' => false);
	
		$mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : '');
		if(! $mindate)
			$mindate = datetime_convert('UTC','UTC', 'now - 14 days');
	
		if(get_config('system','block_public') && (! get_account_id()) && (! remote_channel())) {
			$result['message'] = 'Public access denied';
			json_return_and_die($result);
		}
	
		$observer = \App::get_observer();
	
	
		$channel_address = ((argc() > 1) ? argv(1) : '');
		if($channel_address) {
			$r = q("select channel_id, channel_name from channel where channel_address = '%s' and channel_removed = 0 limit 1",
				dbesc(argv(1))
			);
		}
		else {
			$x = get_sys_channel();
			if($x)
				$r = array($x);
			$mindate = datetime_convert('UTC','UTC', 'now - 14 days');
		}
		if(! $r) {
			$result['message'] = 'Channel not found.';
			json_return_and_die($result);
		}
	
		logger('zotfeed request: ' . $r[0]['channel_name'], LOGGER_DEBUG);
	
		$result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],array('mindate' => $mindate));
		$result['success'] = true;
		json_return_and_die($result);
	
	
	}
	
}