give the item_obscured flag a new lease on life by using it to designate third party client-side e2ee or binary content which can only be downloaded and not viewed directly on the web (as a side effect this also allows binary files to be submitted as activities/content). The content display is suppressed and replaced with a download button. This is unfinished but harmless to backport while work is in progress unless told otherwise. Future development will take care of the remaining loose ends.

This commit is contained in:
zotlabs 2017-04-18 21:18:49 -07:00 committed by Mario Vavti
parent 97732f7006
commit 3389df77cc
3 changed files with 20 additions and 9 deletions

View file

@ -353,14 +353,6 @@ function localize_item(&$item){
} }
*/ */
// if item body was obscured and we changed it, re-obscure it
// FIXME - we need a better filter than just the string 'data'; try and
// match the fact that it's json encoded
if(intval($item['item_obscured'])
&& strlen($item['body']) && (! strpos($item['body'],'data'))) {
$item['body'] = z_obscure($item['body']);
}
} }

View file

@ -1562,7 +1562,12 @@ function prepare_body(&$item,$attach = false) {
} }
} }
$s .= prepare_text($item['body'],$item['mimetype'], false); if($item['item_obscured']) {
$s .= prepare_binary($item);
}
else {
$s .= prepare_text($item['body'],$item['mimetype'], false);
}
$event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? format_event_obj($item['obj']) : false); $event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? format_event_obj($item['obj']) : false);
@ -1625,6 +1630,17 @@ function prepare_body(&$item,$attach = false) {
return $prep_arr; return $prep_arr;
} }
function prepare_binary($item) {
return replace_macros(get_markup_template('item_binary.tpl'), [
'$download' => t('Download binary/encrypted content'),
'$url' => z_root() . '/viewsrc/' . $item['id'] . '/download'
]);
}
/** /**
* @brief Given a text string, convert from bbcode to html and add smilie icons. * @brief Given a text string, convert from bbcode to html and add smilie icons.
* *

3
view/tpl/item_binary.tpl Normal file
View file

@ -0,0 +1,3 @@
<p>
<center><a class="zrl" href="{{$url}}"><button class="btn btn-warning fakelink">{{$download}}</button></a></center>
</p>