45 lines
890 B
PHP
45 lines
890 B
PHP
<?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_user()) {
|
|
notice( t('Permission denied.') . EOL);
|
|
}
|
|
|
|
|
|
if(! $item_id) {
|
|
$a->error = 404;
|
|
notice( t('Item not found.') . EOL);
|
|
}
|
|
|
|
if(local_user() && $item_id) {
|
|
$r = q("select item_flags, body from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
|
|
intval(local_user()),
|
|
intval($sys['channel_id']),
|
|
intval($item_id)
|
|
);
|
|
|
|
if($r) {
|
|
if($r[0]['item_flags'] & 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;
|
|
}
|
|
|