diff options
-rwxr-xr-x | include/text.php | 78 | ||||
-rw-r--r-- | view/theme/redbasic/css/style.css | 15 | ||||
-rw-r--r-- | view/tpl/item_attach.tpl | 6 |
3 files changed, 71 insertions, 28 deletions
diff --git a/include/text.php b/include/text.php index a3f2a651c..bcb1f9438 100755 --- a/include/text.php +++ b/include/text.php @@ -1015,45 +1015,30 @@ function unobscure(&$item) { } - -function prepare_body(&$item,$attach = false) { - - $a = get_app(); - - - - call_hooks('prepare_body_init', $item); - - unobscure($item); - - $s = prepare_text($item['body'],$item['mimetype']); - - $prep_arr = array('item' => $item, 'html' => $s); - call_hooks('prepare_body', $prep_arr); - $s = $prep_arr['html']; - - if(! $attach) { - return $s; - } - +function theme_attachments(&$item) { $arr = json_decode_plus($item['attach']); - if(count($arr)) { - $s .= '<div class="body-attach">'; + if(is_array($arr) && count($arr)) { + $attaches = array(); foreach($arr as $r) { - $matches = false; $icon = ''; $icontype = substr($r['type'],0,strpos($r['type'],'/')); switch($icontype) { case 'video': + $icon = 'icon-facetime-video'; + break; case 'audio': + $icon = 'icon-volume-up'; + break; case 'image': + $icon = 'icon-camera'; + break; case 'text': - $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>'; + $icon = 'icon-align-justify'; break; default: - $icon = '<div class="attachtype icon s22 type-unkn"></div>'; + $icon = 'icon-question'; break; } @@ -1062,12 +1047,49 @@ function prepare_body(&$item,$attach = false) { $title = t('unknown.???'); $title .= ' ' . $r['length'] . ' ' . t('bytes'); - $url = $a->get_baseurl() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision']; + $url = z_root() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision']; $s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>'; + $attaches[] = array('title' => $title, 'url' => $url, 'icon' => $icon ); + } - $s .= '<div class="clear"></div></div>'; + + } + $s = replace_macros(get_markup_template('item_attach.tpl'), array( + '$attaches' => $attaches + )); + + return $s; + +} + + + +function prepare_body(&$item,$attach = false) { + + $a = get_app(); + + + + call_hooks('prepare_body_init', $item); + + unobscure($item); + + $s = prepare_text($item['body'],$item['mimetype']); + + $prep_arr = array('item' => $item, 'html' => $s); + call_hooks('prepare_body', $prep_arr); + $s = $prep_arr['html']; + + if(! $attach) { + return $s; + } + + + $s .= theme_attachments($item); + + // At some point in time, posttags were removed from the threaded conversation templates, but remained in the search_item template. // Code to put them back was added into include/conversation.php and/or include/ItemObject.php but under new class names // Then it was discovered that the following bits remained of the old code. diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index fc84cbf57..0c5c916ae 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -3459,3 +3459,18 @@ a .drop-icons { color: #FF0000; } +.attachlink { + float: left; + border: 1px solid black; + padding: 5px; + margin-right: 8px; +} + +.attach-icons { + font-size: 1.4em; +} + +.attach-clip { + margin-right: 3px; + font-size: 1.8em; +}
\ No newline at end of file diff --git a/view/tpl/item_attach.tpl b/view/tpl/item_attach.tpl new file mode 100644 index 000000000..25c127a15 --- /dev/null +++ b/view/tpl/item_attach.tpl @@ -0,0 +1,6 @@ +<div class="body-attach"> +{{foreach $attaches as $a}} +<a href="{{$a.url}}" title="{{$a.title}}" class="attachlink" ><i class="icon-paper-clip attach-icons attach-clip"></i><i class="{{$a.icon}} attach-icons"></i></a> +{{/foreach}} +<div class="clear"></div> +</div> |