diff options
author | friendica <info@friendica.com> | 2013-02-01 00:49:07 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-02-01 00:49:07 -0800 |
commit | 344b8593a818c9ea1d07a365b8a2496d699b1620 (patch) | |
tree | 9669c68a798c743b1ef860a9e73696740dad94ca /include/text.php | |
parent | 5ca88ca10a11a76237aa34d1d93ba3e878567767 (diff) | |
download | volse-hubzilla-344b8593a818c9ea1d07a365b8a2496d699b1620.tar.gz volse-hubzilla-344b8593a818c9ea1d07a365b8a2496d699b1620.tar.bz2 volse-hubzilla-344b8593a818c9ea1d07a365b8a2496d699b1620.zip |
sort out the rest of the nasty stuff in the attachment/file api - time to move on to something else
Diffstat (limited to 'include/text.php')
-rw-r--r-- | include/text.php | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/include/text.php b/include/text.php index 90cd86a5f..cb68fcc86 100644 --- a/include/text.php +++ b/include/text.php @@ -947,37 +947,33 @@ function prepare_body($item,$attach = false) { return $s; } - $arr = explode(',',$item['attach']); + $arr = json_decode($item['attach'],true); if(count($arr)) { $s .= '<div class="body-attach">'; foreach($arr as $r) { $matches = false; $icon = ''; - $cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches, PREG_SET_ORDER); - if($cnt) { - foreach($matches as $mtch) { - $icontype = strtolower(substr($mtch[3],0,strpos($mtch[3],'/'))); - switch($icontype) { - case 'video': - case 'audio': - case 'image': - case 'text': - $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>'; - break; - default: - $icon = '<div class="attachtype icon s22 type-unkn"></div>'; - break; - } - $title = ((strlen(trim($mtch[4]))) ? escape_tags(trim($mtch[4])) : escape_tags($mtch[1])); - $title .= ' ' . $mtch[2] . ' ' . t('bytes'); - if((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN)) - $the_url = $a->get_baseurl() . '/redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1]; - else - $the_url = $mtch[1]; - - $s .= '<a href="' . strip_tags($the_url) . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>'; - } + $icontype = substr($r['type'],0,strpos($r['type'],'/')); + + switch($icontype) { + case 'video': + case 'audio': + case 'image': + case 'text': + $icon = '<div class="attachtype icon s22 type-' . $icontype . '"></div>'; + break; + default: + $icon = '<div class="attachtype icon s22 type-unkn"></div>'; + break; } + + $title = htmlentities($r['title'], ENT_COMPAT,'UTF-8'); + if(! $title) + $title = t('unknown.???'); + $title .= ' ' . $r['length'] . ' ' . t('bytes'); + + $url = $a->get_baseurl() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision']; + $s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>'; } $s .= '<div class="clear"></div></div>'; } |