aboutsummaryrefslogtreecommitdiffstats
path: root/mod/viewsrc.php
blob: ac70006896c952e2e78e5b84e908fef07ddeae87 (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
<?php


function viewsrc_content(&$a) {

	$o = '';

	$sys = get_sys_channel();

	$item_id = ((argc() > 1) ? intval(argv(1)) : 0);
	$json    = ((argc() > 2 && argv(2) === 'json') ? true : false);

	if(! local_channel()) {
		notice( t('Permission denied.') . EOL);
	}


	if(! $item_id) {
		$a->error = 404;
		notice( t('Item not found.') . EOL);
	}


	if(local_channel() && $item_id) {
		$r = q("select id, item_flags, item_obscured, body from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
			intval(local_channel()),
			intval($sys['channel_id']),
			intval($item_id)
		);

		if($r) {
			if(intval($r[0]['item_obscured']))
				$r[0]['body'] = crypto_unencapsulate(json_decode($r[0]['body'],true),get_config('system','prvkey')); 
			$o = (($json) ? json_encode($r[0]['body']) : str_replace("\n",'<br />',$r[0]['body']));
		}
	}

	if(is_ajax()) {
		echo $o;
		killme();
	} 

	return $o;
}