aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorOlivier Migeot <olivier@migeot.org>2011-04-13 14:25:13 +0200
committerOlivier Migeot <olivier@migeot.org>2011-04-13 14:25:13 +0200
commite051fa36052efbea2bdd9629d41851398f63ad71 (patch)
tree68ec1a5bf223b1e3106282adbbeaaf1324d94a80 /include
parentaa358b707c702d5ae3da2f58ba3e61b8f5138e4f (diff)
parent21536fcda3415b86db77147ca112c017b4f1063b (diff)
downloadvolse-hubzilla-e051fa36052efbea2bdd9629d41851398f63ad71.tar.gz
volse-hubzilla-e051fa36052efbea2bdd9629d41851398f63ad71.tar.bz2
volse-hubzilla-e051fa36052efbea2bdd9629d41851398f63ad71.zip
Merge remote branch 'mike/master'
Diffstat (limited to 'include')
-rw-r--r--include/items.php18
1 files changed, 9 insertions, 9 deletions
diff --git a/include/items.php b/include/items.php
index 86579512e..82752e168 100644
--- a/include/items.php
+++ b/include/items.php
@@ -477,10 +477,12 @@ function get_atom_elements($feed,$item) {
if($attach) {
$att_arr = array();
foreach($attach as $att) {
- $len = intval($att->get_length());
- $link = str_replace(',','%2D', notags(trim($att->get_link())));
- $title = str_replace(',','%2D',notags(trim($att->get_title())));
- $type = notags(trim($att->get_type()));
+ $len = intval($att->get_length());
+ $link = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_link()))));
+ $title = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_title()))));
+ $type = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_type()))));
+ if(strpos($type,';'))
+ $type = substr($type,0,strpos($type,';'));
if((! $link) || (strpos($link,'http') !== 0))
continue;
@@ -489,9 +491,7 @@ function get_atom_elements($feed,$item) {
if(! $type)
$type = 'application/octet-stream';
- // this isn't legal html - there is no size in an 'a' tag, remember to strip it before display
-
- $att_arr[] = '<a href="' . $link . '" size="' . $len . '" type="' . $type . '">' . $title . '</a>';
+ $att_arr[] = '[attach]href="' . $link . '" size="' . $len . '" type="' . $type . '" title="' . $title . '"[/attach]';
}
$res['attach'] = implode(',', $att_arr);
}
@@ -1588,13 +1588,13 @@ function item_getfeedattach($item) {
if(count($arr)) {
foreach($arr as $r) {
$matches = false;
- $cnt = preg_match('|\<a href=\"(.+?)\" size=\"(.+?)\" type=\"(.+?)\" >(.+?)</a>|',$r,$matches);
+ $cnt = preg_match('|\[attach\]href=\"(.+?)\" size=\"(.+?)\" type=\"(.+?)\" title=\"(.+?)\"\[\/attach\]|',$r,$matches);
if($cnt) {
$ret .= '<link rel="enclosure" href="' . xmlify($matches[1]) . '" type="' . xmlify($matches[3]) . '" ';
if(intval($matches[2]))
$ret .= 'size="' . intval($matches[2]) . '" ';
if($matches[4] !== ' ')
- $ret .= 'title="' . xmlify($matches[4]) . '" ';
+ $ret .= 'title="' . xmlify(trim($matches[4])) . '" ';
$ret .= ' />' . "\r\n";
}
}