aboutsummaryrefslogtreecommitdiffstats
path: root/include/conversation.php
diff options
context:
space:
mode:
authorFabio Comuni <fabrix.xm@gmail.com>2011-11-15 17:41:38 +0100
committerFabio Comuni <fabrix.xm@gmail.com>2011-11-15 17:41:38 +0100
commit962467ee686046434e6ad060863eabb55fef2652 (patch)
treed3dcb7827a11b177d6412fa14456f4122f4a0c63 /include/conversation.php
parent5c7fb2b0fe578d4271f8752d3853e1fa4b121942 (diff)
downloadvolse-hubzilla-962467ee686046434e6ad060863eabb55fef2652.tar.gz
volse-hubzilla-962467ee686046434e6ad060863eabb55fef2652.tar.bz2
volse-hubzilla-962467ee686046434e6ad060863eabb55fef2652.zip
item tags as array to templates
Diffstat (limited to 'include/conversation.php')
-rw-r--r--include/conversation.php53
1 files changed, 50 insertions, 3 deletions
diff --git a/include/conversation.php b/include/conversation.php
index b8f855803..7f9627a7d 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -4,7 +4,7 @@
* Render actions localized
*/
function localize_item(&$item){
-
+ $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
$r = q("SELECT * from `item`,`contact` WHERE
@@ -79,7 +79,44 @@ function localize_item(&$item){
$item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto;
}
-
+ if ($item['verb']===ACTIVITY_TAG){
+ $r = q("SELECT * from `item`,`contact` WHERE
+ `item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';",
+ dbesc($item['parent-uri']));
+ if(count($r)==0) return;
+ $obj=$r[0];
+
+ $author = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
+ $objauthor = '[url=' . $obj['author-link'] . ']' . $obj['author-name'] . '[/url]';
+
+ switch($obj['verb']){
+ case ACTIVITY_POST:
+ switch ($obj['object-type']){
+ case ACTIVITY_OBJ_EVENT:
+ $post_type = t('event');
+ break;
+ default:
+ $post_type = t('status');
+ }
+ break;
+ default:
+ if($obj['resource-id']){
+ $post_type = t('photo');
+ $m=array(); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
+ $rr['plink'] = $m[1];
+ } else {
+ $post_type = t('status');
+ }
+ }
+ $plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
+
+ $parsedobj = parse_xml_string($xmlhead.$item['object']);
+
+ $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->link, $parsedobj->content);
+ $item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
+
+
+ }
}
@@ -522,12 +559,22 @@ function conversation(&$a, $items, $mode, $update) {
//
localize_item($item);
+
+ $tags=array();
+ foreach(explode(',',$item['tag']) as $tag){
+ $tag = trim($tag);
+ if ($tag!="") $tags[] = bbcode($tag);
+ }
+
+
// Build the HTML
$body = prepare_body($item,true);
-
+
$tmp_item = replace_macros($template,array(
+ '$type' => implode("",array_slice(split("/",$item['verb']),-1)),
+ '$tags' => $tags,
'$body' => template_escape($body),
'$id' => $item['item_id'],
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),