item tags as array to templates

This commit is contained in:
Fabio Comuni 2011-11-15 17:41:38 +01:00
parent 5c7fb2b0fe
commit 962467ee68
11 changed files with 143 additions and 23 deletions

View file

@ -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'])),

View file

@ -788,14 +788,6 @@ function prepare_body($item,$attach = false) {
$s .= '<div class="clear"></div></div>';
}
$arr = explode(',',$item['tag']);
if(count($arr)) {
$s .= '<div class="body-tag">';
foreach($arr as $r) {
$s .= bbcode($r) . ' ';
}
$s .= '</div>';
}
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body_final', $prep_arr);

View file

@ -50,7 +50,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>

View file

@ -55,7 +55,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>

View file

@ -29,7 +29,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$id">
{{ if $vote }}

View file

@ -33,7 +33,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$id">
{{ if $vote }}

View file

@ -77,3 +77,4 @@
@CommentBoxFullColor: @Grey5;
@CommentBoxFullBorderColor: @Grey5;
@TagColor: @Grey1;

View file

@ -3,7 +3,7 @@
/* global */
body {
font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
font-size: 12px;
font-size: 10px;
background-color: @BodyBackground;
color: @BodyColor;
margin: 50px 0px 0px 0px;
@ -302,6 +302,9 @@ section {
.wall-item-item,
.wall-item-bottom { display: table-row; }
.wall-item-bottom { .opaque(0.5); }
&:hover .wall-item-bottom { .opaque(1); }
.wall-item-info {
display: table-cell;
vertical-align: top;
@ -326,7 +329,7 @@ section {
}
.wall-item-content {
display: table-cell;
font-size: 16px;
font-size: 12px;
max-width: 720px;
word-wrap: break-word;
}
@ -355,11 +358,12 @@ section {
a { float: right; }
input { float: right; }
}
}
.wall-item-container.comment {
margin-top: 50px;
/*margin-top: 50px;*/
.wall-item-photo { width: 32px; height: 32px; margin-left: 16px;}
.wall-item-photo-menu-button {
top: 13px !important;
@ -385,6 +389,19 @@ section {
}
}
.tag {
background: url("../../../images/tag_b.png") no-repeat center left;
color: @TagColor;
padding-left: 3px;
a {
padding-right: 8px;
background: url("../../../images/tag.png") no-repeat center right;
color: @TagColor;
}
}
#profile-jot-wrapper {
width: 100%;
margin: 0px 2em 20px 0px;

View file

@ -153,7 +153,7 @@
/* global */
body {
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
font-size: 12px;
font-size: 10px;
background-color: #ffffff;
color: #2d2d2d;
margin: 50px 0px 0px 0px;
@ -535,6 +535,22 @@ section {
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-container .wall-item-bottom {
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.wall-item-container:hover .wall-item-bottom {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.wall-item-container .wall-item-info {
display: table-cell;
vertical-align: top;
@ -563,7 +579,7 @@ section {
}
.wall-item-container .wall-item-content {
display: table-cell;
font-size: 16px;
font-size: 12px;
max-width: 720px;
word-wrap: break-word;
}
@ -619,7 +635,8 @@ section {
float: right;
}
.wall-item-container.comment {
margin-top: 50px;
/*margin-top: 50px;*/
}
.wall-item-container.comment .wall-item-photo {
width: 32px;
@ -653,6 +670,16 @@ section {
color: #2d2d2d;
border: 1px solid #2d2d2d;
}
.tag {
background: url("../../../images/tag_b.png") no-repeat center left;
color: #ffffff;
padding-left: 3px;
}
.tag a {
padding-right: 8px;
background: url("../../../images/tag.png") no-repeat center right;
color: #ffffff;
}
#profile-jot-wrapper {
width: 100%;
margin: 0px 2em 20px 0px;

View file

@ -25,7 +25,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$id">

View file

@ -56,7 +56,13 @@
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>