$arr = explode(',',$item['tag']);
foreach($arr as $x) {
$matches = null;
- if(preg_match('/@\[url=([^\]]*)\]/',$x,$matches))
+ if(preg_match('/@\[url=([^\]]*)\]/',$x,$matches)) {
$o .= "\t\t" . '<link rel="mentioned" href="' . $matches[1] . '" />' . "\r\n";
+ $o .= "\t\t" . '<link rel="ostatus:attention" href="' . $matches[1] . '" />' . "\r\n";
+ }
}
return $o;
}}
xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
xmlns:as="http://activitystrea.ms/spec/1.0/"
xmlns:georss="http://www.georss.org/georss"
- xmlns:poco="http://portablecontacts.net/spec/1.0" >
+ xmlns:poco="http://portablecontacts.net/spec/1.0"
+ xmlns:ostatus="http://ostatus.org/schema/1.0" >
EOT;
$slap = str_replace('<entry>',$namespaces,$slap);
}
else {
$newname = $name;
+ $alias = '';
if(strstr($name,'_')) {
$newname = str_replace('_',' ',$name);
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
if($r[0]['network'] === 'stat') {
$newname = $r[0]['nick'];
$stat = true;
+ if($r[0]['alias'])
+ $alias = $r[0]['alias'];
}
else
$newname = $r[0]['name'];
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]';
+
+ // Status.Net seems to require the numeric ID URL in a mention if the person isn't
+ // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both.
+
+ if(strlen($alias)) {
+ if(strlen($str_tags))
+ $str_tags .= ',';
+ $str_tags .= '@[url=' . $alias . ']' . $newname . '[/url]';
+ }
+
}
}
}
xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
xmlns:as="http://activitystrea.ms/spec/1.0/"
xmlns:georss="http://www.georss.org/georss"
- xmlns:poco="http://portablecontacts.net/spec/1.0" >
+ xmlns:poco="http://portablecontacts.net/spec/1.0"
+ xmlns:ostatus="http://ostatus.org/schema/1.0" >
<id>$feed_id</id>
<title>$feed_title</title>