aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinclude/text.php78
-rw-r--r--view/theme/redbasic/css/style.css15
-rw-r--r--view/tpl/item_attach.tpl6
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>