mirror of
https://github.com/friendica/friendica
synced 2024-11-18 13:03: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
|
* Render actions localized
|
||||||
*/
|
*/
|
||||||
function localize_item(&$item){
|
function localize_item(&$item){
|
||||||
|
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||||
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
|
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
|
||||||
|
|
||||||
$r = q("SELECT * from `item`,`contact` WHERE
|
$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;
|
$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);
|
localize_item($item);
|
||||||
|
|
||||||
|
|
||||||
|
$tags=array();
|
||||||
|
foreach(explode(',',$item['tag']) as $tag){
|
||||||
|
$tag = trim($tag);
|
||||||
|
if ($tag!="") $tags[] = bbcode($tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Build the HTML
|
// Build the HTML
|
||||||
|
|
||||||
$body = prepare_body($item,true);
|
$body = prepare_body($item,true);
|
||||||
|
|
||||||
|
|
||||||
$tmp_item = replace_macros($template,array(
|
$tmp_item = replace_macros($template,array(
|
||||||
|
'$type' => implode("",array_slice(split("/",$item['verb']),-1)),
|
||||||
|
'$tags' => $tags,
|
||||||
'$body' => template_escape($body),
|
'$body' => template_escape($body),
|
||||||
'$id' => $item['item_id'],
|
'$id' => $item['item_id'],
|
||||||
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
|
'$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>';
|
$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);
|
$prep_arr = array('item' => $item, 'html' => $s);
|
||||||
call_hooks('prepare_body_final', $prep_arr);
|
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-content" id="wall-item-content-$id" >
|
||||||
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
<div class="wall-item-author">
|
<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>
|
<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-content" id="wall-item-content-$id" >
|
||||||
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
<div class="wall-item-author">
|
<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>
|
<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-content" id="wall-item-content-$id" >
|
||||||
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
<div class="wall-item-tools" id="wall-item-tools-$id">
|
<div class="wall-item-tools" id="wall-item-tools-$id">
|
||||||
{{ if $vote }}
|
{{ if $vote }}
|
||||||
|
|
|
@ -33,7 +33,13 @@
|
||||||
<div class="wall-item-content" id="wall-item-content-$id" >
|
<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" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
<div class="wall-item-tools" id="wall-item-tools-$id">
|
<div class="wall-item-tools" id="wall-item-tools-$id">
|
||||||
{{ if $vote }}
|
{{ if $vote }}
|
||||||
|
|
|
@ -77,3 +77,4 @@
|
||||||
@CommentBoxFullColor: @Grey5;
|
@CommentBoxFullColor: @Grey5;
|
||||||
@CommentBoxFullBorderColor: @Grey5;
|
@CommentBoxFullBorderColor: @Grey5;
|
||||||
|
|
||||||
|
@TagColor: @Grey1;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/* global */
|
/* global */
|
||||||
body {
|
body {
|
||||||
font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
|
font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
|
||||||
font-size: 12px;
|
font-size: 10px;
|
||||||
background-color: @BodyBackground;
|
background-color: @BodyBackground;
|
||||||
color: @BodyColor;
|
color: @BodyColor;
|
||||||
margin: 50px 0px 0px 0px;
|
margin: 50px 0px 0px 0px;
|
||||||
|
@ -302,6 +302,9 @@ section {
|
||||||
|
|
||||||
.wall-item-item,
|
.wall-item-item,
|
||||||
.wall-item-bottom { display: table-row; }
|
.wall-item-bottom { display: table-row; }
|
||||||
|
|
||||||
|
.wall-item-bottom { .opaque(0.5); }
|
||||||
|
&:hover .wall-item-bottom { .opaque(1); }
|
||||||
.wall-item-info {
|
.wall-item-info {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
@ -326,7 +329,7 @@ section {
|
||||||
}
|
}
|
||||||
.wall-item-content {
|
.wall-item-content {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
font-size: 16px;
|
font-size: 12px;
|
||||||
max-width: 720px;
|
max-width: 720px;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
@ -355,11 +358,12 @@ section {
|
||||||
a { float: right; }
|
a { float: right; }
|
||||||
input { float: right; }
|
input { float: right; }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.wall-item-container.comment {
|
.wall-item-container.comment {
|
||||||
margin-top: 50px;
|
/*margin-top: 50px;*/
|
||||||
.wall-item-photo { width: 32px; height: 32px; margin-left: 16px;}
|
.wall-item-photo { width: 32px; height: 32px; margin-left: 16px;}
|
||||||
.wall-item-photo-menu-button {
|
.wall-item-photo-menu-button {
|
||||||
top: 13px !important;
|
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 {
|
#profile-jot-wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 2em 20px 0px;
|
margin: 0px 2em 20px 0px;
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
/* global */
|
/* global */
|
||||||
body {
|
body {
|
||||||
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
|
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
|
||||||
font-size: 12px;
|
font-size: 10px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #2d2d2d;
|
color: #2d2d2d;
|
||||||
margin: 50px 0px 0px 0px;
|
margin: 50px 0px 0px 0px;
|
||||||
|
@ -535,6 +535,22 @@ section {
|
||||||
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
|
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
|
||||||
display: table-row;
|
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 {
|
.wall-item-container .wall-item-info {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
@ -563,7 +579,7 @@ section {
|
||||||
}
|
}
|
||||||
.wall-item-container .wall-item-content {
|
.wall-item-container .wall-item-content {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
font-size: 16px;
|
font-size: 12px;
|
||||||
max-width: 720px;
|
max-width: 720px;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
@ -619,7 +635,8 @@ section {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
.wall-item-container.comment {
|
.wall-item-container.comment {
|
||||||
margin-top: 50px;
|
/*margin-top: 50px;*/
|
||||||
|
|
||||||
}
|
}
|
||||||
.wall-item-container.comment .wall-item-photo {
|
.wall-item-container.comment .wall-item-photo {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
|
@ -653,6 +670,16 @@ section {
|
||||||
color: #2d2d2d;
|
color: #2d2d2d;
|
||||||
border: 1px solid #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 {
|
#profile-jot-wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0px 2em 20px 0px;
|
margin: 0px 2em 20px 0px;
|
||||||
|
|
|
@ -25,7 +25,13 @@
|
||||||
<div class="wall-item-content" id="wall-item-content-$id" >
|
<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" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
|
|
||||||
<div class="wall-item-tools" id="wall-item-tools-$id">
|
<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-content" id="wall-item-content-$id" >
|
||||||
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
|
||||||
<div class="wall-item-title-end"></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>
|
||||||
<div class="wall-item-author">
|
<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>
|
<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