Merge https://github.com/friendica/friendica into pull
This commit is contained in:
commit
3bd2b731b2
BIN
images/tag.png
Normal file
BIN
images/tag.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 528 B |
BIN
images/tag_b.png
Normal file
BIN
images/tag_b.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 346 B |
|
@ -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);
|
||||
|
|
22
mod/ping.php
22
mod/ping.php
|
@ -8,9 +8,10 @@ function ping_init(&$a) {
|
|||
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
|
||||
<result>";
|
||||
|
||||
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||
if(local_user()){
|
||||
|
||||
|
||||
$tags = array();
|
||||
$comments = array();
|
||||
$likes = array();
|
||||
$dislikes = array();
|
||||
|
@ -29,6 +30,11 @@ function ping_init(&$a) {
|
|||
$network = count($r);
|
||||
foreach ($r as $it) {
|
||||
switch($it['verb']){
|
||||
case ACTIVITY_TAG:
|
||||
$obj = parse_xml_string($xmlhead.$it['object']);
|
||||
$it['tname'] = $obj->content;
|
||||
$tags[] = $it;
|
||||
break;
|
||||
case ACTIVITY_LIKE:
|
||||
$likes[] = $it;
|
||||
break;
|
||||
|
@ -36,7 +42,6 @@ function ping_init(&$a) {
|
|||
$dislikes[] = $it;
|
||||
break;
|
||||
case ACTIVITY_FRIEND:
|
||||
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||
$obj = parse_xml_string($xmlhead.$it['object']);
|
||||
$it['fname'] = $obj->title;
|
||||
$friends[] = $it;
|
||||
|
@ -61,6 +66,11 @@ function ping_init(&$a) {
|
|||
$home = count($r);
|
||||
foreach ($r as $it) {
|
||||
switch($it['verb']){
|
||||
case ACTIVITY_TAG:
|
||||
$obj = parse_xml_string($xmlhead.$it['object']);
|
||||
$it['tname'] = $obj->content;
|
||||
$tags[] = $it;
|
||||
break;
|
||||
case ACTIVITY_LIKE:
|
||||
$likes[] = $it;
|
||||
break;
|
||||
|
@ -68,7 +78,6 @@ function ping_init(&$a) {
|
|||
$dislikes[] = $it;
|
||||
break;
|
||||
case ACTIVITY_FRIEND:
|
||||
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||
$obj = parse_xml_string($xmlhead.$it['object']);
|
||||
$it['fname'] = $obj->title;
|
||||
$friends[] = $it;
|
||||
|
@ -129,7 +138,7 @@ function ping_init(&$a) {
|
|||
<home>$home</home>";
|
||||
if ($register!=0) echo "<register>$register</register>";
|
||||
|
||||
$tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts);
|
||||
$tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags);
|
||||
|
||||
echo ' <notif count="'.$tot.'">';
|
||||
if ($intro>0){
|
||||
|
@ -173,6 +182,11 @@ function ping_init(&$a) {
|
|||
echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} posted") ) );
|
||||
};
|
||||
}
|
||||
if (count($tags)){
|
||||
foreach ($tags as $i) {
|
||||
echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} tagged %s's post with #%s"), $i['pname'], $i['tname'] ) );
|
||||
};
|
||||
}
|
||||
|
||||
echo " </notif>";
|
||||
}
|
||||
|
|
5486
util/messages.po
5486
util/messages.po
File diff suppressed because it is too large
Load diff
6670
view/it/messages.po
6670
view/it/messages.po
File diff suppressed because it is too large
Load diff
1693
view/it/strings.php
1693
view/it/strings.php
File diff suppressed because it is too large
Load diff
|
@ -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>
|
||||
|
|
|
@ -1830,6 +1830,10 @@ a.mail-list-link {
|
|||
margin-top: 10px;
|
||||
}
|
||||
|
||||
aside input[type='text'] {
|
||||
width: 180px;
|
||||
}
|
||||
|
||||
.widget {
|
||||
border: 1px solid #DDDDDD;
|
||||
padding: 8px;
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -29,6 +29,15 @@
|
|||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-tags">
|
||||
{{ for $tags as $tag }}
|
||||
<span class='tag'>$tag</span>
|
||||
{{ endfor }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="">
|
||||
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }}
|
||||
</div>
|
||||
<div class="wall-item-actions">
|
||||
|
@ -56,7 +65,7 @@
|
|||
<div class="wall-item-actions-tools">
|
||||
|
||||
{{ if $drop.dropping }}
|
||||
<input type="checkbox" title="$drop.select" name="itemselected[]" value="$id" />
|
||||
<input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" />
|
||||
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a>
|
||||
{{ endif }}
|
||||
{{ if $edpost }}
|
||||
|
@ -66,7 +75,13 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-like" id="wall-item-like-$id">$like</div>
|
||||
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wall-item-comment-wrapper" >
|
||||
$comment
|
||||
</div>
|
||||
|
|
|
@ -32,6 +32,15 @@
|
|||
$body
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links">
|
||||
</div>
|
||||
<div class="wall-item-tags">
|
||||
{{ for $tags as $tag }}
|
||||
<span class='tag'>$tag</span>
|
||||
{{ endfor }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links">
|
||||
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }}
|
||||
|
@ -62,7 +71,7 @@
|
|||
<div class="wall-item-actions-tools">
|
||||
|
||||
{{ if $drop.dropping }}
|
||||
<input type="checkbox" title="$drop.select" name="itemselected[]" value="$id" />
|
||||
<input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" />
|
||||
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a>
|
||||
{{ endif }}
|
||||
{{ if $edpost }}
|
||||
|
@ -72,6 +81,11 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-bottom">
|
||||
<div class="wall-item-links"></div>
|
||||
<div class="wall-item-like" id="wall-item-like-$id">$like</div>
|
||||
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-comment-wrapper" >
|
||||
$comment
|
||||
|
|
Loading…
Reference in a new issue