mirror of
https://github.com/friendica/friendica
synced 2024-11-18 11:43:41 +00:00
item tags as array to templates
This commit is contained in:
parent
5c7fb2b0fe
commit
962467ee68
11 changed files with 143 additions and 23 deletions
|
@ -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'])),
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -77,3 +77,4 @@
|
|||
@CommentBoxFullColor: @Grey5;
|
||||
@CommentBoxFullBorderColor: @Grey5;
|
||||
|
||||
@TagColor: @Grey1;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue